I'm creating a definition file for a flight throttle (Saitek X-56). It has a left and right throttle. hidtrace shows:
https://ibb.co/C8sRCcF
![](https://ibb.co/C8sRCcF)
The left throttle uses byte 0 AND bits 0x0e and 0x0f
The right throttle uses bits 0x08 - 0x0d AND 0x14 - 0x17
Also, bits 0x10 and 0x13 are used for buttons.
It appears to me each throttle is 10 bits long and those 10 bits aren't next to
each other. How do I create a definition for the throttles? So far I have:
<slider byte="0x00" name="THROTTLE_LEFT" zero="0" min="0" max="256"/>
This makes the throttle go through the range of values 4 times. I need those
last two bits (e & f) to get a full range.
Thanks for any help or insight.
https://ibb.co/C8sRCcF
The left throttle uses byte 0 AND bits 0x0e and 0x0f
The right throttle uses bits 0x08 - 0x0d AND 0x14 - 0x17
Also, bits 0x10 and 0x13 are used for buttons.
It appears to me each throttle is 10 bits long and those 10 bits aren't next to
each other. How do I create a definition for the throttles? So far I have:
<slider byte="0x00" name="THROTTLE_LEFT" zero="0" min="0" max="256"/>
This makes the throttle go through the range of values 4 times. I need those
last two bits (e & f) to get a full range.
Thanks for any help or insight.
发表时间 Sun 08 Aug 21 @ 5:33 pm
It looks like if the endianess of the device was flipped everything would be grouped together, although I don't know if that can be done.
发表时间 Mon 09 Aug 21 @ 2:56 pm
Sounds like it is just using 16 bits then.
Just add nbbits="16" and change the max="" value to the max of the range (if only 2 bits are used in the high byte then probably max="1024")
I think like this it should work like this, but you can swap the byte order adding endian="little"
Just add nbbits="16" and change the max="" value to the max of the range (if only 2 bits are used in the high byte then probably max="1024")
I think like this it should work like this, but you can swap the byte order adding endian="little"
发表时间 Mon 09 Aug 21 @ 3:03 pm