Here are the results of our test of two calibrated default joysticks. We used a ruler to see the changes in mm every 20 y values (using dashboard to see the values). We have concluded that they are linear.
They better be! They use linear potentiometers, after all.
That said, the linearity of the joystick can be misleading. If you do open-loop drive control (i.e. pwm01 = p1_y), you will find that the speed of the motor on pwm01 will NOT increase linearly over the entire range of the joystick.
Right. We have implemented code that makes the pwms linear, and it runs so much more smoothly now.
We implemented a look up table to purposely make them nonlinear. We like more sensitivity around the center to make it easier to drive slow and precise. We lose sensitivity at full speed, but when you want to go fast sensitivity is not as important to us.
Interesting. To do that we implemented a reduced speed switch on the trigger.