tloimu / adapt-ffb-joy

adapt-ffb-joy
https://github.com/tloimu/adapt-ffb-joy/wiki
196 stars 65 forks source link

X, Y axis movement also slightly affects Z rotation #28

Closed cbhacking closed 2 years ago

cbhacking commented 4 years ago

FFB Pro joystick, Win10.

Moving the stick forward and back slightly affects the Z-axis rotation (forward decreases rotation as though twisting counter-clockwise, pulling back increases as though twisting clockwise). Left and right movement of the stick also has some effect, though much subtler (forward-right corner shows approximately the expected rotation value, but center-right is only very slightly higher than expected).

The forward-center movement is the most dramatic in terms of impact on the Z rotation, changing it by upwards of 20% (enough to induce noticeable yaw unless I set a very large dead zone). Other directions are smaller effects, though still visible. This change happens whether or not FFB is active, including when it is unpowered and I'm simply pushing the stick with one finger (not gripping it at all). When gripping, I can override this rotation, but it does require fighting the spring force. I can also still move through the entire Z rotation range by twisting the stick the appropriate direction, so it's usable for flying, but not great.

It's possible, of course, that this is simply due to the age of the stick and has nothing to do with the adapter or its firmware. However, I'd like to see if this can be fixed in the adapter firmware. I don't have either another version of this stick or any PC with a native gameport to test with.

TomHVR commented 3 years ago

The stick has an optical sensor (like a literal camera) used for tracking all axis. Maybe there is debris/dust on the camera sensor that's causing it to misread the z axis as it's moving around?

https://youtu.be/wVMvXAtynp0?t=105

tloimu commented 2 years ago

It is also possible that the stick has worn enough that it has some play. On one of my ffbpro the stick has somewhat noticeable play and the stick moves sideways/forward/backwards/up/down enough to be noticeable in the sensor readings. The stick is mostly plastic anyways.