From 2fb66fc17958763ec6ae816ff3c059bb1dfb0edb Mon Sep 17 00:00:00 2001 From: Timur Iskhodzhanov Date: Wed, 6 Jul 2022 00:04:45 -0700 Subject: [PATCH] Add the equation for the "clutch position" channel for FT86 gen2 cars --- can_db/ft86.md | 7 ++++--- can_db/ft86_gen2.md | 7 ++++--- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/can_db/ft86.md b/can_db/ft86.md index 4631ad8..bfb483d 100644 --- a/can_db/ft86.md +++ b/can_db/ft86.md @@ -41,18 +41,19 @@ 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 affect the update rates of all other channels. +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. -Throttle position | 320 | `G / 2.55` | This is the throttle *valve*, not pedal. 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))` | -Yaw rate | 208 | `bytesToIntLe(raw, 2, 2) * -0.286478897` | +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` | diff --git a/can_db/ft86_gen2.md b/can_db/ft86_gen2.md index fb72504..507cb68 100644 --- a/can_db/ft86_gen2.md +++ b/can_db/ft86_gen2.md @@ -36,12 +36,13 @@ 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 "Yaw rate" using the same CAN ID 312 as "Steering angle"), then adding it should not affect -the update rates. Adding a channel based on a new CAN ID (such as "Lateral -acceleration") will likely affect the update rates of all other channels. +the update rates. Adding a channel based on a new CAN ID (such as "Clutch +position") will likely negatively affect the update rates of all other channels. Channel name | CAN ID | Equation | Notes ------------ | --- | -------- | ----- -Yaw rate | 312 | `bytesToIntLe(raw, 4, 2) * -0.2725` | Calibrated against the gyroscope in RaceBox Mini. Gen1 used 0.286478897 instead. +Clutch position (%) | 577 | `(F & 0x80) / 1.28` | `100` is "clutch pedal depressed", `0` is "clutch pedal released" Lateral acceleration | 315 | `bytesToIntLe(raw, 6, 1) * 0.2` | Longitudinal acceleration | 315 | `bytesToIntLe(raw, 7, 1) * -0.1` | Combined acceleration | 315 | `sqrt(pow2(bytesToIntLe(raw, 6, 1) * 0.2) + pow2(bytesToIntLe(raw, 7, 1) * 0.1))` | +Yaw rate | 312 | `bytesToIntLe(raw, 4, 2) * -0.2725` | Calibrated against the gyroscope in RaceBox Mini. Gen1 used 0.286478897 instead.