Line 56:
Line 56:
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 effects are upload into 'slots', these are continuously sent over the wireless link. The wheel is capable of supporting 4 simultaneous effects, plus an additional auto-center effect. The selected slot for an effect is encoded into the 1st byte of the out-port write.
+
The Force Feedback configuration is sent continuously over the wireless link, which takes the form of a 31 byte payload. The wheel is capable of supporting 4 simultaneous effects, plus an additional auto-center effect. The various effects are upload into 'slots', the format is as follows:
+
: Bytes .. - Unknown
+
: Bytes - Effect Slot 1
+
: Bytes - Effect Slot 2
+
: Bytes - Effect Slot 3
+
: Bytes - Effect Slot 4
+
: Bytes - Auto Center
+
: Bytes .. - Unknown
β
* 0x1A : Slot(s) 1
+
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.
β
* 0x21 : Slot(s) 2
+
β
* 0x31 : Slot(s) 1 + 2
+
: 0x11 : Slot 1
β
* 0x41 : Slot(s) 3
+
: 0x21 : Slot 2
β
* 0x51 : Slot(s) 3 + 1
+
: 0x31 : Slots 1 + 2
β
* 0x61 : Slot(s) 3 + 2
+
: 0x41 : Slot 3
β
* 0x71 : Slot(s) 3 + 2 + 1
+
: 0x51 : Slots 3 + 1
β
* 0x81 : Slot(s) 4
+
: 0x61 : Slots 3 + 2
β
* 0x91 : Slot(s) 4 + 1
+
: 0x71 : Slots 3 + 2 + 1
β
* 0xA1 : Slot(s) 4 + 2
+
: 0x81 : Slot 4
β
* 0xB1 : Slot(s) 4 + 2 + 1
+
: 0x91 : Slots 4 + 1
β
* 0xC1 : Slot(s) 4 + 3
+
: 0xA1 : Slots 4 + 2
β
* 0xD1 : Slot(s) 4 + 3 + 1
+
: 0xB1 : Slots 4 + 2 + 1
β
* 0xE1 : Slot(s) 4 + 3 + 2
+
: 0xC1 : Slots 4 + 3
β
* 0xF1 : Slot(s) 4 + 3 + 2 + 1
+
: 0xD1 : Slots 4 + 3 + 1
β
* 0x_E : Auto Center
+
: 0xE1 : Slots 4 + 3 + 2
+
: 0xF1 : Slots 4 + 3 + 2 + 1
+
: 0x_E : Auto Center
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.