66 lines
3.9 KiB
Markdown
66 lines
3.9 KiB
Markdown
# FT86 cars (2013-2020 Subaru BRZ, Toyota 86, Scion FR-S)
|
|
|
|
## Connections
|
|
|
|
The CAN bus is readily available on pins 6 and 14 of the OBD-II port, which
|
|
means you can just use an OBDLink MX+ with RaceChrono to read data from the CAN
|
|
bus :-)
|
|
|
|
If you still want to use a DIY device, I applaud you. You can use the OBD-II
|
|
port, or you can make use of a hidden connector behind the infotainment head
|
|
unit for a completely hidden setup. See
|
|
[this page](https://github.com/timurrrr/ft86/blob/main/can_bus/gen1.md)
|
|
for more pointers on how to make a harness with CAN H/L pins for that connector.
|
|
Then all you need to do is to put another JST connector on the other end of that
|
|
harness, and plug it into the DIY CAN bus reader documented in this project.
|
|
|
|
## Recommended CAN IDs:
|
|
|
|
Here are CAN IDs and RaceChrono equations for data channels that should be enough
|
|
for most people:
|
|
|
|
Channel name | CAN ID | Equation | Notes
|
|
------------ | --- | -------- | -----
|
|
Accelerator position (%) | 320 | `A/2.55` |
|
|
Brake position (%) | 209 | `min(C / 0.7, 100)` | 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.
|
|
Brake pressure | 209 | `C * 128` |
|
|
Coolant temperature | 864 | `D - 40` |
|
|
Engine RPM | 320 | `bitsToUIntLe(raw, 16, 14)` |
|
|
Engine oil temperature | 864 | `C - 40` |
|
|
Speed | 209 | `bytesToIntLe(raw, 0, 2) * 0.015694` | May want to check the multiplier against an external GPS aevice
|
|
Steering angle | 208 | `bytesToIntLe(raw, 0, 2) * -0.1` | Positive value = turning left. You can remove the `-` if you prefer it the other way around.
|
|
|
|
### Advanced CAN IDs
|
|
|
|
Below is a table with a few more data channels that might be useful for more
|
|
detailed analysis. When adding more channels, be aware that it will increase
|
|
the file size of your RaceChrono sessions, and might negatively affect the
|
|
update rate of the more essential channels, due to limited Bluetooth bandwidth.
|
|
However, the communication protocol in RaceChrono is smart enough to optimize
|
|
Bluetooth usage if multiple channels share the same CAN ID. As a general rule,
|
|
if a new channel has the same CAN ID as an existing channel (such as "Throttle
|
|
position" using the same CAN ID 320 as "Accelerator position"), then adding it
|
|
should not affect the update rates. Adding a channel based on a new CAN ID (such
|
|
as "Wheel speed FL") will likely negatively affect the update rates of all other
|
|
channels.
|
|
|
|
Channel name | CAN ID | Equation | Notes
|
|
------------ | --- | -------- | -----
|
|
Clutch position | 320 | `B & 0x80 / 1.28` | Only 0% and "not 0%", unfortunately.
|
|
Gear | 321 | `(G & 0xf) * (1 - (min(G & 0xf, 7)) / 7)` | Car calculates it based on speed, RPM and clutch position. It's pretty slow. I really doubt it's worth wasting one CAN ID for this channel. It's not that hard to see which gear you're in based on speed and RPM in data.
|
|
Lateral acceleration | 208 | `bytesToIntLe(raw, 6, 1) * 0.2` | Data is noisy.
|
|
Longitudinal acceleration | 208 | `bytesToIntLe(raw, 7, 1) * -0.1` | Data is noisy.
|
|
Combined acceleration | 208 | `sqrt(pow2(bytesToIntLe(raw, 6, 1) * 0.2) + pow2(bytesToIntLe(raw, 7, 1) * 0.1))` |
|
|
Throttle position | 320 | `G / 2.55` | This is the throttle *valve*, not pedal.
|
|
Wheel speed FL | 212 | `bytesToIntLe(raw, 0, 2) * 0.015694` | Use same multiplier as for "Speed".
|
|
Wheel speed FR | 212 | `bytesToIntLe(raw, 2, 2) * 0.015694` | Use same multiplier as for "Speed".
|
|
Wheel speed RL | 212 | `bytesToIntLe(raw, 4, 2) * 0.015694` | Use same multiplier as for "Speed".
|
|
Wheel speed RR | 212 | `bytesToIntLe(raw, 6, 2) * 0.015694` | Use same multiplier as for "Speed".
|
|
Yaw rate | 208 | `bytesToIntLe(raw, 2, 2) * -0.286478897` |
|
|
|
|
---
|
|
|
|
If you found this page useful, consider donating so I can buy beer/boba:
|
|
|
|
[![paypal](https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif)](https://www.paypal.com/donate?business=ZKULAWZFJKCES&item_name=Donation+to+support+the+RaceChronoDiyBleDevice+project+on+GitHub¤cy_code=USD)
|