Use monospace font for more equations
This commit is contained in:
parent
b434026a4c
commit
267a82a032
|
@ -17,13 +17,13 @@ accelerometers.
|
|||
|
||||
Channel name | Equation | Notes
|
||||
------------ | -------- | -----
|
||||
Steering angle | bytesToIntLe(raw, 0, 2) * 0.1 | Also available in 0xD0
|
||||
??? | `C` or bytesToIntLe(raw, 2, 1) | The value is 112 most of the time for me
|
||||
??? | `D` or bytesToIntLe(raw, 3, 1) | 0–14 sawtooth
|
||||
??? | `E` or bytesToIntLe(raw, 4, 1) | The value is 0 most of the time for me
|
||||
??? | `F` or bytesToIntLe(raw, 5, 1) | The value is 0 most of the time for me
|
||||
??? | `G` or bytesToIntLe(raw, 6, 1) | The value is 0 most of the time for me
|
||||
??? | `H` or bytesToIntLe(raw, 7, 1) | Strange data channel. It changes in a strange way when the car turns. It also has a 0-14 sawtooth over some otherwise smooth curve.
|
||||
Steering angle | `bytesToIntLe(raw, 0, 2) * 0.1` | Also available in `0xD0`
|
||||
??? | `C` or `bytesToIntLe(raw, 2, 1)` | The value is 112 most of the time for me
|
||||
??? | `D` or `bytesToIntLe(raw, 3, 1)` | 0–14 sawtooth
|
||||
??? | `E` or `bytesToIntLe(raw, 4, 1)` | The value is 0 most of the time for me
|
||||
??? | `F` or `bytesToIntLe(raw, 5, 1)` | The value is 0 most of the time for me
|
||||
??? | `G` or `bytesToIntLe(raw, 6, 1)` | The value is 0 most of the time for me
|
||||
??? | `H` or `bytesToIntLe(raw, 7, 1)` | Strange data channel. It changes in a strange way when the car turns. It also has a 0-14 sawtooth over some otherwise smooth curve.
|
||||
|
||||
## PID 0xD0
|
||||
|
||||
|
@ -31,12 +31,12 @@ Update frequency: 50 times per second.
|
|||
|
||||
Channel name | Equation | Notes
|
||||
------------ | -------- | -----
|
||||
Steering angle | bytesToIntLe(raw, 0, 2) * 0.1 | Also available in 0x18
|
||||
Z rate of rotation | bytesToIntLe(raw, 2, 2) * -0.286478897 | The multiplier for º/sec appears to be ((90 / pi) * 100)
|
||||
Steering angle | `bytesToIntLe(raw, 0, 2) * 0.1` | Also available in 0x18
|
||||
Z rate of rotation | `bytesToIntLe(raw, 2, 2) * -0.286478897` | The multiplier for º/sec appears to be ((90 / pi) * 100)
|
||||
??? | bytes 4, 5 |
|
||||
Lateral acceleration | bytesToIntLe(raw, 6, 1) * 0.2 | Not 100% sure about the multiplier, but looks about right
|
||||
Longitudinal acceleration | bytesToIntLe(raw, 7, 1) * -0.1 | Not 100% sure about the multiplier, but looks about right
|
||||
Combined acceleration | sqrt(pow2(bytesToIntLe(raw, 6, 1) * 0.2) + pow2(bytesToIntLe(raw, 7, 1) * 0.1)) |
|
||||
Lateral acceleration | `bytesToIntLe(raw, 6, 1) * 0.2` | Not 100% sure about the multiplier, but looks about right
|
||||
Longitudinal acceleration | `bytesToIntLe(raw, 7, 1) * -0.1` | Not 100% sure about the multiplier, but looks about right
|
||||
Combined acceleration | `sqrt(pow2(bytesToIntLe(raw, 6, 1) * 0.2) + pow2(bytesToIntLe(raw, 7, 1) * 0.1))` |
|
||||
|
||||
## PID 0xD1
|
||||
|
||||
|
@ -44,8 +44,8 @@ Update frequency: 50 times per second.
|
|||
|
||||
Channel name | Equation | Notes
|
||||
------------ | -------- | -----
|
||||
Speed | bytesToIntLe(raw, 0, 2) * 0.01569358787 | May want to check the multiplier against an external GPS device
|
||||
Brake position | min(C / 0.7, 100) | The third byte is the pressure in the brake system, in Bars. The 0.7 divider seems to be a good value to get 100% at pressure slightly higher than those you're likely to use on the track for cars with no aero. You can use 0.8 or 0.9 if you see 100% too often.
|
||||
Speed | `bytesToIntLe(raw, 0, 2) * 0.015694` | May want to check the multiplier against an external GPS device
|
||||
Brake position | `min(C / 0.7, 100)` | The third byte is the pressure in the brake system, in Bars. The 0.7 divider seems to be a good value to get 100% at pressure slightly higher than those you're likely to use on the track for cars with no aero. You can use 0.8 or 0.9 if you see 100% too often.
|
||||
|
||||
## PID 0xD4
|
||||
|
||||
|
@ -53,10 +53,10 @@ Update frequency: 50 times per second.
|
|||
|
||||
Channel name | Equation | Notes
|
||||
------------ | -------- | -----
|
||||
Wheel speed FL | bytesToIntLe(raw, 0, 2) * 0.01569358787 | Use same multiplier as for speed in 0xD1
|
||||
Wheel speed FR | bytesToIntLe(raw, 2, 2) * 0.01569358787 | Use same multiplier as for speed in 0xD1
|
||||
Wheel speed RL | bytesToIntLe(raw, 4, 2) * 0.01569358787 | Use same multiplier as for speed in 0xD1
|
||||
Wheel speed RR | bytesToIntLe(raw, 6, 2) * 0.01569358787 | Use same multiplier as for speed in 0xD1
|
||||
Wheel speed FL | `bytesToIntLe(raw, 0, 2) * 0.015694` | Use same multiplier as for speed in 0xD1
|
||||
Wheel speed FR | `bytesToIntLe(raw, 2, 2) * 0.015694` | Use same multiplier as for speed in 0xD1
|
||||
Wheel speed RL | `bytesToIntLe(raw, 4, 2) * 0.015694` | Use same multiplier as for speed in 0xD1
|
||||
Wheel speed RR | `bytesToIntLe(raw, 6, 2) * 0.015694` | Use same multiplier as for speed in 0xD1
|
||||
|
||||
## PID 0x140
|
||||
|
||||
|
@ -64,11 +64,12 @@ Update frequency: 100 times per second.
|
|||
|
||||
Channel name | Equation | Notes
|
||||
------------ | -------- | -----
|
||||
Accelerator position | A / 2.55
|
||||
Clutch position | (B & 0x80) / 1.28 | On/off only
|
||||
Engine RPM | C + (D & 63) * 256
|
||||
Accelerator position | `A / 2.55`
|
||||
Clutch position | `(B & 0x80) / 1.28` | On/off only
|
||||
Engine RPM | `C + (D & 0x3f) * 256`
|
||||
??? | `D & 0xc0`
|
||||
??? | byte 4
|
||||
Throttle position | F / 2.55 | Not tested
|
||||
Throttle position | `F / 2.55` | Not tested
|
||||
??? | bytes 6, 7
|
||||
|
||||
## PID 0x141
|
||||
|
@ -77,12 +78,12 @@ Update frequency: 100 times per second.
|
|||
|
||||
Channel name | Equation | Notes
|
||||
------------ | -------- | -----
|
||||
Accelerator pedal position? | bytesToIntLe(raw, 0, 2) | Follows `A` from `0x140` closely with ~9860 for 0% and ~11625 for 42%. Needs more testing.
|
||||
Throttle position? | bytesToIntLe(raw, 2, 2) | Follows the accelerator pedal position with some smoothness, but is independent at idle revs, and when inching in traffic by modulating the clutch. Scale is unknown.
|
||||
??? | bytesToIntLe(raw, 4, 2) | Goes up on acceleration, jumps down when coasting. Might be intake pressure, fuel pressure, etc.
|
||||
Gear | (G & 0xF) * (1 - (min(G & 0xF, 7)) / 7) | It's basically just `G & 0xF` but neutral is reported as `7`, hence the complex math to turn it into a 0. The reverse gear is reported as `1`. The value can be wrong when the clutch pedal is depressed.
|
||||
??? | G & 0xF0 | I saw values of 128, 160, 192 here.
|
||||
??? | H | Equals to 16 when I lift off the accelerator, then turns to 8, then 0.
|
||||
Accelerator pedal position? | `bytesToIntLe(raw, 0, 2)` | Follows `A` from `0x140` closely with ~9860 for 0% and ~11625 for 42%. Needs more testing.
|
||||
Throttle position? | `bytesToIntLe(raw, 2, 2)` | Follows the accelerator pedal position with some smoothness, but is independent at idle revs, and when inching in traffic by modulating the clutch. Scale is unknown.
|
||||
??? | `bytesToIntLe(raw, 4, 2)` | Goes up on acceleration, jumps down when coasting. Might be intake pressure, fuel pressure, etc.
|
||||
Gear | `(G & 0xF) * (1 - (min(G & 0xF, 7)) / 7)` | It's basically just `G & 0xF` but neutral is reported as `7`, hence the complex math to turn it into a 0. The reverse gear is reported as `1`. The value can be wrong when the clutch pedal is depressed.
|
||||
??? | `G & 0xF0` | I saw values of 128, 160, 192 here.
|
||||
??? | `H` | Equals to 16 when I lift off the accelerator, then turns to 8, then 0.
|
||||
|
||||
## PID 0x360
|
||||
|
||||
|
@ -90,11 +91,11 @@ Update frequency: 20 times per second.
|
|||
|
||||
Channel name | Equation | Notes
|
||||
------------ | -------- | -----
|
||||
Engine oil temperature | C - 40
|
||||
Coolant temperature | D - 40
|
||||
Cruise control ON | (F & 16) / 16 | Means the mode is "On", but not necessarily "Set". Not tested much.
|
||||
Cruise control set | (F & 32) / 32 | Not tested much.
|
||||
Cruise control speed | H | In the same unit as the current speed display units? Not tested much.
|
||||
Engine oil temperature | `C - 40`
|
||||
Coolant temperature | `D - 40`
|
||||
Cruise control ON | `(F & 16) / 16` | Means the mode is "On", but not necessarily "Set". Not tested much.
|
||||
Cruise control set | `(F & 32) / 32` | Not tested much.
|
||||
Cruise control speed | `H` | In the same unit as the current speed display units? Not tested much.
|
||||
|
||||
TODO: would be great to find how to read the ambient temperature, and maybe the
|
||||
intake temperature.
|
||||
|
|
Loading…
Reference in New Issue