Z Axis broken in Teensyduino Joystick?

elnino

Member
Hi all, I have been playing with the teensy joystick interface and I have it all working fine with X,Y, Z Rotation and 2 Sliders but the Z axis will not budge. It's not a pin/wiring issue and i'm just using the basic Joystick example slightly modified. It seems that the USB 'data' is wrong in the back end of the IDE - Can someone verify?

Code:
void setup() {
//  pinMode(0, INPUT_PULLUP);
//  pinMode(1, INPUT_PULLUP);
}

void loop() {
  // read analog inputs and set X-Y position
  Joystick.X(analogRead(0));
  Joystick.Y(analogRead(1));
  Joystick.Z(analogRead(5));
  Joystick.Zrotate(analogRead(5));
  Joystick.sliderLeft(analogRead(5));
  Joystick.sliderRight(analogRead(5));

  // a brief delay, so this runs 20 times per second
  delay(50);
}

ZRotate, sliderLeft and sliderRight all read the value but Z does not!

I tried to have a look in older versions of TeensyDuino but it's not easy to extract from the .exe
 
Hmm, interesting - Just after I posted this, I worked out what's going on. It's not the Teensy as such but it's windows 8! I plugged the teensy in to a windows 7 box and it works fine (which is actually fine for my purposes for now) Windows 8 must use a different data descriptor for the Z axis. Still probably needs some attention but this gives a good pointer to the problem. I'm sorry but it's beyond my skills to suggest the fix.
 
That is where i was doing the diagnosis. Z axis will not budge on Win8 x64 but is fine on my Windows7 x64.

However, as i was typing this response, i thought perhaps i will just download a joystick tester app. That however reports the axis fine. Seems like its a win8 joy.cpl issue after all.
 
Back
Top