diff --git a/HOWTO-Make-Your-Own-ECU-Communicate-with-TCU.md b/HOWTO-Make-Your-Own-ECU-Communicate-with-TCU.md index 94777a38..eb6717b9 100644 --- a/HOWTO-Make-Your-Own-ECU-Communicate-with-TCU.md +++ b/HOWTO-Make-Your-Own-ECU-Communicate-with-TCU.md @@ -6,7 +6,7 @@ TL,DR: notes on PG35 TCU Man-in-the-middle research. Saturday Feb 10 2024 status: stock ECU, man in the middle, I substitute all torque numbers from ECU with TPS-based approximation (and TPS does not really mean thus torque does not really mean) In the end with me producing all nine MOTOR_xxx packets TCU engages reasonably well while on jack stands but TCU outputs are really confused. -Tomorrow I will take steps back and record traces of same exact experiments with more different versions of the script, not just 'no substitution' and 'full substitution'. +Tomorrow I will take steps back and record traces of same exact experiments with more different versions of the script, not just 'no substitution' and 'full substitution'. As of Feb 2024 it has been _years_ since I've on and off started to work on getting an open source ECU to communicate with a transmission control unit via CANbus. So far I have not accomplished the goal which makes it a great point to write an article on the subject! @@ -72,18 +72,18 @@ Manually resetting codes gets old really quickly so I have a second Proteus cons Repeating same procedure while dropping each packet ID one by one we get to https://github.com/rusefi/rusefi_documentation/blob/master/OEM-Docs/VAG/2006-Passat-B6/HOWTO/script_4_explicit_list_of_allowed_packets.lua which explicitly mentions all the IDs allowed to pass, and drops everything else. -## Let's produce our own packet! +## Let's produce our own packet MOTOR_1 packet contains 🔴 a few torques which I do not know how to approximate 🔴 Let's start with very poor approximation ```language=lua - fakeTorque = interpolate(0, 6, 100, 60, tps) - engineTorque = fakeTorque * 0.9 - innerTorqWithoutExt = fakeTorque - torqueLoss = 20 - requestedTorque = fakeTorque +fakeTorque = interpolate(0, 6, 100, 60, tps) +engineTorque = fakeTorque * 0.9 +innerTorqWithoutExt = fakeTorque +torqueLoss = 20 +requestedTorque = fakeTorque ``` https://github.com/rusefi/rusefi_documentation/blob/master/OEM-Docs/VAG/2006-Passat-B6/HOWTO/script_5_fake_torque_motor1.lua @@ -96,7 +96,6 @@ https://github.com/rusefi/rusefi_documentation/blob/master/OEM-Docs/VAG/2006-Pas Test scenario: engine is running in P, engage R, engage P, engage R, engage P end test. -https://github.com/rusefi/rusefi_documentation/tree/master/OEM-Docs/VAG/2006-Passat-B6/2024.02 has script-1-stock-ecu-reverse-twice.trc and script-7-stock-ecu-reverse-twice.trc +https://github.com/rusefi/rusefi_documentation/tree/master/OEM-Docs/VAG/2006-Passat-B6/2024.02 has script-1-stock-ecu-reverse-twice.trc and script-7-stock-ecu-reverse-twice.trc ``java -jar reader/build/libs/reader-all.jar "C:\stuff\rusefi_documentation\OEM-Docs\VAG\2006-Passat-B6\2024.02" -filter reverse -dbc opendbc/vw_golf_mk4.dbc`` -