Line 114:
Line 114:
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.
β
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.
+
Multiple effects can be active at any time, it would appear that multiple forces are added by the wheel up to the maximum force possible.
β
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.
+
=== Commands ===
β
: 0x11 : Slot 1
+
An effect can be written to one or more slots with a single write, the selected slot for an effect is encoded into the upper nibble 1st byte of the 'command'.
β
: 0x21 : Slot 2
+
β
: 0x31 : Slots 1 + 2
+
: 0x1_ : Slot 1
β
: 0x41 : Slot 3
+
: 0x2_ : Slot 2
β
: 0x51 : Slots 3 + 1
+
: 0x3_ : Slots 1 + 2
β
: 0x61 : Slots 3 + 2
+
: 0x4_ : Slot 3
β
: 0x71 : Slots 3 + 2 + 1
+
: 0x5_ : Slots 3 + 1
β
: 0x81 : Slot 4
+
: 0x6_ : Slots 3 + 2
β
: 0x91 : Slots 4 + 1
+
: 0x7_ : Slots 3 + 2 + 1
β
: 0xA1 : Slots 4 + 2
+
: 0x8_ : Slot 4
β
: 0xB1 : Slots 4 + 2 + 1
+
: 0x9_ : Slots 4 + 1
β
: 0xC1 : Slots 4 + 3
+
: 0xA_ : Slots 4 + 2
β
: 0xD1 : Slots 4 + 3 + 1
+
: 0xB_ : Slots 4 + 2 + 1
β
: 0xE1 : Slots 4 + 3 + 2
+
: 0xC_ : Slots 4 + 3
β
: 0xF1 : Slots 4 + 3 + 2 + 1
+
: 0xD_ : Slots 4 + 3 + 1
β
: 0x_E : Auto Center
+
: 0xE_ : Slots 4 + 3 + 2
+
: 0xF_ : Slots 4 + 3 + 2 + 1
+
+
Other 'commands' are:
+
: 0x_0 : Turn off effect (although it still sends following bytes)
+
: 0x_1 : Set effect
+
: 0x_2 : Maximum force to the right
+
: 0x_4 : Change mystery byte to 0x03
+
: 0x_5 : Change mystery byte to 0x02
+
: 0x_C : Set effect
+
: 0x_E : Set simple Autocenter (strength and relative proportions)
+
+
=== Effects ===
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.