Line 111:
Line 111:
There are a number of force feed back codes which can be written to the USB out-port, some of these are know/understood but assistance is required to further reverse engineer the rest.
There are a number of force feed back codes which can be written to the USB out-port, some of these are know/understood but assistance is required to further reverse engineer the rest.
β
The selected 'slot' for an effect is encoded into the 1st byte of the OUT-Endpoint write. Multiple effects can be active at any time, but it is unknown how multiple forces are rationalized by the wheel.
+
Multiple effects can be active at any time, but it is unknown how multiple forces are rationalized by the wheel. From the logs below, some show the effect type with the MSB set, this may change how the effects are combined.
+
+
An effect can be written to one or more slots with a single write, the selected slot for an effect is encoded into the 1st byte of the OUT-Endpoint write.
: 0x11 : Slot 1
: 0x11 : Slot 1
Line 131:
Line 133:
The type of effect is encoded in the second byte of the out-port write, with specific settings for the effect in the further bytes.
The type of effect is encoded in the second byte of the out-port write, with specific settings for the effect in the further bytes.
+
; AutoCenter - fixed position spring, force gets stronger the larger the displacement
; AutoCenter - fixed position spring, force gets stronger the larger the displacement
: Byte 2 - 0x0D
: Byte 2 - 0x0D
Line 175:
Line 178:
The Force Feedback configuration is sent continuously over the wireless link, which takes the form of a 31 byte payload. These are seen on the SPI bus as they are sent to the RF24L01 output buffer (register 0xA0). The format is as follows:
The Force Feedback configuration is sent continuously over the wireless link, which takes the form of a 31 byte payload. These are seen on the SPI bus as they are sent to the RF24L01 output buffer (register 0xA0). The format is as follows:
: Bytes 1..2 - Negotiated SubChannel Address
: Bytes 1..2 - Negotiated SubChannel Address
β
: Byte 3 - Packet Ack dongle->wheel (0x40 saw packet, 0x80 missed packet, 0x20 awaiting sync, 0x07..0x04 sync received, 0x10 sync now).
+
: Byte 3 - Packet Ack 'dongle->wheel' (0x40 saw packet, 0x80 missed packet, 0x20 awaiting sync, 0x07..0x04 sync received, 0x10 sync now).
: Byte 4 - Unknown
: Byte 4 - Unknown
: Bytes 5..10 - Effect Slot 1
: Bytes 5..10 - Effect Slot 1