Joystick Calibration

I built a “wireless joystick” using a TEENSY that allows me to use my standard R/C controller wirelessly to control MP’s joystick function.

But every time I plug in the joystick, I get different readings. Sometimes throttle MIN is 1150, sometimes it is 1020… all the sticks have issues.

I thought it might be a WINDOWS “thing” but when I try to calibrate my joysticks, I run into trouble, since my homemade joystick controller has 6 ANALOG channels, and Windows only supports 4 Analog channels with their “joystick” tester.

Is there some way I can “lock in” values so that every time I plug in my joystick controller I get the same values?

I did the WINDOWS joystick calibration and find that the readings still vary - maybe less than before, but still too much. And another thing: It seems as if the range is compressed. That is, if I my input has a range from 1000 to 2000 uSec, the output (as read by Mission Planner) is between 1100 and 1850 - like the range is compressed. Has anyone else seen this before?

Output is scaled to the min and max settings of the given channel (RCx_MAX and RCx_MIN) unless you check manual control at the Joystick setup page.

Thanks, I am trying to figure out the relationships between WINDOWS joystick calibration, the parameters in my PPM -> Joystick controller and the endpoints in my hand-held controller. I think everything would be fine if Windows would not get in the way. But I have one more question: Mission Planner obviously knows a joystick is plugged in. Is there ANY way to automatically ENABLE a joystick if it is sensed? Connecting and enabling a joystick automatically would be just one less thing I would have to do when setting up…

start with command line arguments

MissionPlanner.exe /joy “joystickname” /type copter

Thank You! I’ll try it. My only other issue is that joystick calibration varies sometimes when I connect. Especially with Channels 5 & 6. I suspect this is a Windows problem, but I calibrated the joystick and SAVEd the results. Still, I sometimes get big variance.