We are going to use a playstation like USB controller and Its working pretty well, but the analogs have a very small range, in the middle of the physical range it reports 128 to GET RAW or 1 to Joystick GET, how could I optimize this???
The joystick Get() method returns a floating-point value from -1 to +1. The neutral “middle” value should be 0. The range is not as important as the resolution, and the resolution is basically set by the hardware implementation in the controller.
What you may be looking for is a nonlinear mapping. You might try squaring the joystick value before sending it to the motor. That will give you a more gradual action away from zero. Going the opposite directly, a sign preserving square root would be interesting.