Toyota GR86, 86, FR-S and Subaru BRZ Forum & Owners Community - FT86CLUB

Toyota GR86, 86, FR-S and Subaru BRZ Forum & Owners Community - FT86CLUB (https://www.ft86club.com/forums/index.php)
-   Tracking / Autocross / HPDE / Drifting (https://www.ft86club.com/forums/forumdisplay.php?f=39)
-   -   Brake pressure PID? (https://www.ft86club.com/forums/showthread.php?t=123637)

timurrrr 02-18-2021 04:35 AM

Quote:

Originally Posted by Compelica (Post 3407238)
... with the OBD Fusion app set as a Scion FRS.

That's what I was asking about :)

Anyhow, WE DID IT!
In RaceChrono format, the parameters are:
Channel: Brake Position (%)
OBD-II header: 0x7B0
PID: 0x2141
Equation: min(100, 1.1 * max(A-10, 0))


Explanation: the min/max trick makes sure the output is in the [0%, 100%] range. The 1.1x is a multiplier that roughly matches the scale factor I previously chose for my CAN bus reader so that 100% is reported when I'm braking really hard. The -10 offset is to compensate for the default value of 10 (I've no idea why the reported value never goes below 10).

Enjoy!

Having said that, OBD-II provides a much lower refresh rate than CAN, so I still recommend investing a little time into making a DIY CAN reader as documented on my GitHub:
https://github.com/timurrrr/RaceChronoDiyBleDevice

Compelica 02-18-2021 05:41 AM

Quote:

Originally Posted by timurrrr (Post 3407464)
That's what I was asking about :)

Anyhow, WE DID IT!
In RaceChrono format, the parameters are:
Channel: Brake Position (%)
OBD-II header: 0x7B0
PID: 0x2141
Equation: min(100, 1.1 * max(A-10, 0))


Explanation: the min/max trick makes sure the output is in the [0%, 100%] range. The 1.1x is a multiplier that roughly matches the scale factor I previously chose for my CAN bus reader so that 100% is reported when I'm braking really hard. The -10 offset is to compensate for the default value of 10 (I've no idea why the reported value never goes below 10).

Enjoy!

Having said that, OBD-II provides a much lower refresh rate than CAN, so I still recommend investing a little time into making a DIY CAN reader as documented on my GitHub:
https://github.com/timurrrr/RaceChronoDiyBleDevice

Nice!

To add on - the brake pressure PID visible in the app shows in two units: by MPa and by voltage. And in the voltage there is always a value (about 0.1v if I'm not mistaken) even when the brakes are untouched so it correlates back to your compensation. However the MPa value does go from 0 to 10 MPa - this is with me lead-footing the pedal :)

EndlessAzure 05-11-2022 05:08 AM

Quote:

Originally Posted by timurrrr (Post 3407464)
That's what I was asking about :)

Anyhow, WE DID IT!
In RaceChrono format, the parameters are:
Channel: Brake Position (%)
OBD-II header: 0x7B0
PID: 0x2141
Equation: min(100, 1.1 * max(A-10, 0))


Explanation: the min/max trick makes sure the output is in the [0%, 100%] range. The 1.1x is a multiplier that roughly matches the scale factor I previously chose for my CAN bus reader so that 100% is reported when I'm braking really hard. The -10 offset is to compensate for the default value of 10 (I've no idea why the reported value never goes below 10).

Enjoy!

Having said that, OBD-II provides a much lower refresh rate than CAN, so I still recommend investing a little time into making a DIY CAN reader as documented on my GitHub:
https://github.com/timurrrr/RaceChronoDiyBleDevice

Would you have any insight on how to implement this on Harry's Lap Timer Custom PID Menu? The requested inputs are pretty different compared to what I've seen here and am used to.


Developer guide: http://www.gps-laptimer.com/LapTimer...%20Program.pdf



The input menu asks for

  • Channel
    • Lists a bunch of available channels that HLT records to. Not particularly important, just the column in the default CSV that the application records to
    • I would map it to "Brake Pressure [kPA]" and scale it to % in post processing
  • ECU
    • Defaults to "ALL" for functional calls
    • States to address a specific ECU if desired for physical calls (such as "ECM" or "TCM"), or when using custom mode $21, $22, $23 below
  • Mode
    • Mode 1
    • Mode 9
    • Mode 21
    • Mode 22
    • Mode 23
  • PID
    • 1, 2, or 3 byte hex strings
  • Request Frequency
    • Low
    • Medium
    • High
  • Formula
    • Basically C-language logic, similar to what was used in RaceChrono implementation
-------------------------

My best interpretation of the inputs that would work in HLT would be, with some feedback from the developer on a similar implementation [ http://forum.gps-laptimer.de/viewtopic.php?t=5589 ]:
  • Channel: Brake Pressure [kPA]
  • ECU:ECM
  • Mode: Mode 21
  • PID: 41
  • Request Frequency: High (probably doesn't matter from a functionality point of view)
  • Formula: =MIN(100 : (1.1 * MAX((A-10))))


Obviously, it doesn't have field to input a custom header like I'm used to seeing in applications like Torque (and RaceChrono). However, there is a way to specify a custom width for the parameter by adding leading zeroes. For example, specifying the PID as "41" allows it a width of 1 byte, but if we instead label it as 0041, it will be 2 bytes wide. Perhaps this is the way to incorporate the header?

timurrrr 05-12-2022 04:48 AM

Quote:

Originally Posted by EndlessAzure (Post 3522253)
Would you have any insight on how to implement this on Harry's Lap Timer Custom PID Menu?

Try ECU: 0x7B0.

If that doesn't work, you may want to ask on the HLT forum.
I know how to enter the config in RaceChrono and what underlying messages are sent over the bus, but never tried HLT, so don't know what format it wants for the OBD PID or ECU CAN ID.

Or you can try the superior CAN bus mode in RaceChrono :)


All times are GMT -4. The time now is 02:46 PM.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
User Alert System provided by Advanced User Tagging v3.3.0 (Lite) - vBulletin Mods & Addons Copyright © 2024 DragonByte Technologies Ltd.


Garage vBulletin Plugins by Drive Thru Online, Inc.