From 0a85635462b1d043c4c9922ee9ae9ac7cd8e9adb Mon Sep 17 00:00:00 2001 From: GitHub gen-configs Action Date: Mon, 21 Oct 2024 15:05:10 +0000 Subject: [PATCH] Auto-generated configs and docs --- .../connectors/generated_ts_name_by_pin.cpp | 1 + .../console/binary/generated/data_logs.ini | 20 + .../binary/generated/fancy_content.ini | 25 + .../console/binary/generated/live_data_ids.h | 50 +- .../binary/generated/output_channels.ini | 740 ++++++++-------- .../console/binary/generated/sensors.java | 474 +++++----- .../generated/total_live_data_generated.h | 2 +- .../console/binary_log/log_fields_generated.h | 20 + ...ration_generated_structures_alphax-2chan.h | 39 +- ...ration_generated_structures_alphax-4chan.h | 39 +- ...ion_generated_structures_alphax-4chan_f7.h | 39 +- ...ation_generated_structures_alphax-4k-gdi.h | 39 +- ...n_generated_structures_alphax-8chan-revA.h | 39 +- ...ration_generated_structures_alphax-8chan.h | 39 +- ...ion_generated_structures_alphax-8chan_f7.h | 39 +- ...ation_generated_structures_alphax-silver.h | 39 +- ...ation_generated_structures_at_start_f435.h | 39 +- ...configuration_generated_structures_atlas.h | 39 +- ...tion_generated_structures_f407-discovery.h | 39 +- ...tion_generated_structures_f429-discovery.h | 39 +- ...tion_generated_structures_f469-discovery.h | 39 +- ...ation_generated_structures_frankenso_na6.h | 39 +- ...nfiguration_generated_structures_haba208.h | 39 +- ...ation_generated_structures_hellen-112-17.h | 39 +- ...ation_generated_structures_hellen-gm-e67.h | 39 +- ...tion_generated_structures_hellen-honda-k.h | 39 +- ...guration_generated_structures_hellen-nb1.h | 39 +- ...ion_generated_structures_hellen121nissan.h | 39 +- ...ration_generated_structures_hellen121vag.h | 39 +- ...iguration_generated_structures_hellen128.h | 39 +- ...on_generated_structures_hellen154hyundai.h | 39 +- ...generated_structures_hellen154hyundai_f7.h | 39 +- ...figuration_generated_structures_hellen72.h | 39 +- ...figuration_generated_structures_hellen81.h | 39 +- ...uration_generated_structures_hellen88bmw.h | 39 +- ...iguration_generated_structures_hellenNA6.h | 39 +- ...ration_generated_structures_hellenNA8_96.h | 39 +- ...configuration_generated_structures_m74_9.h | 39 +- ...ation_generated_structures_mre-legacy_f4.h | 39 +- ...onfiguration_generated_structures_mre_f4.h | 39 +- ...onfiguration_generated_structures_mre_f7.h | 39 +- ...uration_generated_structures_nucleo_f413.h | 39 +- ...guration_generated_structures_proteus_f4.h | 39 +- ...guration_generated_structures_proteus_f7.h | 39 +- ...guration_generated_structures_proteus_h7.h | 39 +- ..._configuration_generated_structures_s105.h | 39 +- ...ion_generated_structures_small-can-board.h | 39 +- ...on_generated_structures_stm32f429_nucleo.h | 39 +- ...on_generated_structures_stm32f767_nucleo.h | 39 +- ...on_generated_structures_stm32h743_nucleo.h | 39 +- ...tion_generated_structures_subaru_eg33_f7.h | 39 +- ...configuration_generated_structures_t-b-g.h | 39 +- ...figuration_generated_structures_tdg-pdm8.h | 39 +- ...configuration_generated_structures_uaefi.h | 39 +- ...figuration_generated_structures_uaefi121.h | 39 +- .../generated/rusefi_generated_alphax-2chan.h | 8 +- .../generated/rusefi_generated_alphax-4chan.h | 8 +- .../rusefi_generated_alphax-4chan_f7.h | 8 +- .../rusefi_generated_alphax-4k-gdi.h | 8 +- .../rusefi_generated_alphax-8chan-revA.h | 8 +- .../generated/rusefi_generated_alphax-8chan.h | 8 +- .../rusefi_generated_alphax-8chan_f7.h | 8 +- .../rusefi_generated_alphax-silver.h | 8 +- .../rusefi_generated_at_start_f435.h | 8 +- .../generated/rusefi_generated_atlas.h | 8 +- .../rusefi_generated_f407-discovery.h | 8 +- .../rusefi_generated_f429-discovery.h | 8 +- .../rusefi_generated_f469-discovery.h | 8 +- .../rusefi_generated_frankenso_na6.h | 8 +- .../generated/rusefi_generated_haba208.h | 8 +- .../rusefi_generated_hellen-112-17.h | 8 +- .../rusefi_generated_hellen-gm-e67.h | 8 +- .../rusefi_generated_hellen-honda-k.h | 8 +- .../generated/rusefi_generated_hellen-nb1.h | 8 +- .../rusefi_generated_hellen121nissan.h | 8 +- .../generated/rusefi_generated_hellen121vag.h | 8 +- .../generated/rusefi_generated_hellen128.h | 8 +- .../rusefi_generated_hellen154hyundai.h | 8 +- .../rusefi_generated_hellen154hyundai_f7.h | 8 +- .../generated/rusefi_generated_hellen72.h | 8 +- .../generated/rusefi_generated_hellen81.h | 8 +- .../generated/rusefi_generated_hellen88bmw.h | 8 +- .../generated/rusefi_generated_hellenNA6.h | 8 +- .../generated/rusefi_generated_hellenNA8_96.h | 8 +- .../generated/rusefi_generated_m74_9.h | 8 +- .../rusefi_generated_mre-legacy_f4.h | 8 +- .../generated/rusefi_generated_mre_f4.h | 8 +- .../generated/rusefi_generated_mre_f7.h | 8 +- .../generated/rusefi_generated_nucleo_f413.h | 8 +- .../generated/rusefi_generated_proteus_f4.h | 8 +- .../generated/rusefi_generated_proteus_f7.h | 8 +- .../generated/rusefi_generated_proteus_h7.h | 8 +- .../generated/rusefi_generated_s105.h | 8 +- .../rusefi_generated_small-can-board.h | 8 +- .../rusefi_generated_stm32f429_nucleo.h | 8 +- .../rusefi_generated_stm32f767_nucleo.h | 8 +- .../rusefi_generated_stm32h743_nucleo.h | 8 +- .../rusefi_generated_subaru_eg33_f7.h | 8 +- .../generated/rusefi_generated_t-b-g.h | 8 +- .../generated/rusefi_generated_tdg-pdm8.h | 8 +- .../generated/rusefi_generated_uaefi.h | 8 +- .../generated/rusefi_generated_uaefi121.h | 16 +- .../generated/signature_alphax-2chan.h | 4 +- .../generated/signature_alphax-4chan.h | 4 +- .../generated/signature_alphax-4chan_f7.h | 4 +- .../generated/signature_alphax-4k-gdi.h | 4 +- .../generated/signature_alphax-8chan-revA.h | 4 +- .../generated/signature_alphax-8chan.h | 4 +- .../generated/signature_alphax-8chan_f7.h | 4 +- .../generated/signature_alphax-silver.h | 4 +- .../generated/signature_at_start_f435.h | 4 +- .../controllers/generated/signature_atlas.h | 4 +- .../generated/signature_f407-discovery.h | 4 +- .../generated/signature_f429-discovery.h | 4 +- .../generated/signature_f469-discovery.h | 4 +- .../generated/signature_frankenso_na6.h | 4 +- .../controllers/generated/signature_haba208.h | 4 +- .../generated/signature_hellen-112-17.h | 4 +- .../generated/signature_hellen-gm-e67.h | 4 +- .../generated/signature_hellen-honda-k.h | 4 +- .../generated/signature_hellen-nb1.h | 4 +- .../generated/signature_hellen121nissan.h | 4 +- .../generated/signature_hellen121vag.h | 4 +- .../generated/signature_hellen128.h | 4 +- .../generated/signature_hellen154hyundai.h | 4 +- .../generated/signature_hellen154hyundai_f7.h | 4 +- .../generated/signature_hellen72.h | 4 +- .../generated/signature_hellen81.h | 4 +- .../generated/signature_hellen88bmw.h | 4 +- .../generated/signature_hellenNA6.h | 4 +- .../generated/signature_hellenNA8_96.h | 4 +- .../controllers/generated/signature_m74_9.h | 4 +- .../generated/signature_mre-legacy_f4.h | 4 +- .../controllers/generated/signature_mre_f4.h | 4 +- .../controllers/generated/signature_mre_f7.h | 4 +- .../generated/signature_nucleo_f413.h | 4 +- .../generated/signature_proteus_f4.h | 4 +- .../generated/signature_proteus_f7.h | 4 +- .../generated/signature_proteus_h7.h | 4 +- .../controllers/generated/signature_s105.h | 4 +- .../generated/signature_small-can-board.h | 4 +- .../generated/signature_stm32f429_nucleo.h | 4 +- .../generated/signature_stm32f767_nucleo.h | 4 +- .../generated/signature_stm32h743_nucleo.h | 4 +- .../generated/signature_subaru_eg33_f7.h | 4 +- .../controllers/generated/signature_t-b-g.h | 4 +- .../generated/signature_tdg-pdm8.h | 4 +- .../controllers/generated/signature_uaefi.h | 4 +- .../generated/signature_uaefi121.h | 4 +- .../lua/generated/output_lookup_generated.cpp | 12 + .../lua/generated/value_lookup_generated.cpp | 56 ++ .../lua/generated/value_lookup_generated.md | 21 + .../knock_controller_generated.h | 36 +- firmware/tunerstudio/generated/rusefi.ini | 834 +++++++++-------- .../generated/rusefi_alphax-2chan.ini | 834 +++++++++-------- .../generated/rusefi_alphax-4chan.ini | 834 +++++++++-------- .../generated/rusefi_alphax-4chan_f7.ini | 834 +++++++++-------- .../generated/rusefi_alphax-4k-gdi.ini | 834 +++++++++-------- .../generated/rusefi_alphax-8chan-revA.ini | 834 +++++++++-------- .../generated/rusefi_alphax-8chan.ini | 834 +++++++++-------- .../generated/rusefi_alphax-8chan_f7.ini | 834 +++++++++-------- .../generated/rusefi_alphax-silver.ini | 834 +++++++++-------- .../generated/rusefi_at_start_f435.ini | 834 +++++++++-------- .../tunerstudio/generated/rusefi_atlas.ini | 834 +++++++++-------- .../generated/rusefi_f407-discovery.ini | 834 +++++++++-------- .../generated/rusefi_f429-discovery.ini | 834 +++++++++-------- .../generated/rusefi_f469-discovery.ini | 834 +++++++++-------- .../generated/rusefi_frankenso_na6.ini | 834 +++++++++-------- .../tunerstudio/generated/rusefi_haba208.ini | 834 +++++++++-------- .../generated/rusefi_hellen-112-17.ini | 834 +++++++++-------- .../generated/rusefi_hellen-gm-e67.ini | 834 +++++++++-------- .../generated/rusefi_hellen-honda-k.ini | 834 +++++++++-------- .../generated/rusefi_hellen-nb1.ini | 834 +++++++++-------- .../generated/rusefi_hellen121nissan.ini | 834 +++++++++-------- .../generated/rusefi_hellen121vag.ini | 834 +++++++++-------- .../generated/rusefi_hellen128.ini | 834 +++++++++-------- .../generated/rusefi_hellen154hyundai.ini | 834 +++++++++-------- .../generated/rusefi_hellen154hyundai_f7.ini | 834 +++++++++-------- .../tunerstudio/generated/rusefi_hellen72.ini | 834 +++++++++-------- .../tunerstudio/generated/rusefi_hellen81.ini | 834 +++++++++-------- .../generated/rusefi_hellen88bmw.ini | 834 +++++++++-------- .../generated/rusefi_hellenNA6.ini | 834 +++++++++-------- .../generated/rusefi_hellenNA8_96.ini | 834 +++++++++-------- .../tunerstudio/generated/rusefi_m74_9.ini | 834 +++++++++-------- .../generated/rusefi_mre-legacy_f4.ini | 834 +++++++++-------- .../tunerstudio/generated/rusefi_mre_f4.ini | 834 +++++++++-------- .../tunerstudio/generated/rusefi_mre_f7.ini | 834 +++++++++-------- .../generated/rusefi_nucleo_f413.ini | 834 +++++++++-------- .../generated/rusefi_proteus_f4.ini | 834 +++++++++-------- .../generated/rusefi_proteus_f7.ini | 834 +++++++++-------- .../generated/rusefi_proteus_h7.ini | 834 +++++++++-------- .../tunerstudio/generated/rusefi_s105.ini | 834 +++++++++-------- .../generated/rusefi_small-can-board.ini | 834 +++++++++-------- .../generated/rusefi_stm32f429_nucleo.ini | 834 +++++++++-------- .../generated/rusefi_stm32f767_nucleo.ini | 834 +++++++++-------- .../generated/rusefi_stm32h743_nucleo.ini | 834 +++++++++-------- .../generated/rusefi_subaru_eg33_f7.ini | 834 +++++++++-------- .../tunerstudio/generated/rusefi_t-b-g.ini | 834 +++++++++-------- .../tunerstudio/generated/rusefi_tdg-pdm8.ini | 834 +++++++++-------- .../tunerstudio/generated/rusefi_uaefi.ini | 834 +++++++++-------- .../tunerstudio/generated/rusefi_uaefi121.ini | 838 ++++++++++-------- .../rusefi/config/generated/AcControl.java | 24 +- .../config/generated/AntilagSystem.java | 26 +- .../rusefi/config/generated/BoostControl.java | 38 +- .../com/rusefi/config/generated/DcMotors.java | 8 +- .../config/generated/ElectronicThrottle.java | 34 +- .../rusefi/config/generated/EngineState.java | 102 +-- .../rusefi/config/generated/FanControl.java | 20 +- .../com/rusefi/config/generated/Fields.java | 21 +- .../com/rusefi/config/generated/FuelPump.java | 8 +- .../generated/HighPressureFuelPump.java | 18 +- .../rusefi/config/generated/IdleState.java | 56 +- .../config/generated/InjectorModel.java | 6 +- .../config/generated/KnockController.java | 40 + .../config/generated/LambdaMonitor.java | 8 +- .../config/generated/LaunchControl.java | 26 +- .../rusefi/config/generated/MainRelay.java | 8 +- .../rusefi/config/generated/SentState.java | 6 +- .../ShiftTorqueReductionController.java | 12 +- .../config/generated/TcuController.java | 18 +- .../config/generated/ThrottleModel.java | 8 +- .../config/generated/TpsAccelState.java | 34 +- .../config/generated/TriggerCentral.java | 38 +- .../rusefi/config/generated/TriggerState.java | 24 +- .../config/generated/TriggerStatePrimary.java | 6 +- .../com/rusefi/config/generated/VvtState.java | 6 +- .../config/generated/WallFuelState.java | 4 +- .../config/generated/WidebandController.java | 16 +- 228 files changed, 25762 insertions(+), 18751 deletions(-) diff --git a/firmware/config/boards/hellen/uaefi121/connectors/generated_ts_name_by_pin.cpp b/firmware/config/boards/hellen/uaefi121/connectors/generated_ts_name_by_pin.cpp index c88583e70b..02a0d2506e 100644 --- a/firmware/config/boards/hellen/uaefi121/connectors/generated_ts_name_by_pin.cpp +++ b/firmware/config/boards/hellen/uaefi121/connectors/generated_ts_name_by_pin.cpp @@ -24,6 +24,7 @@ const char * getBoardSpecificPinName(brain_pin_e brainPin) { case Gpio::D7: return "43a High Side Output"; case Gpio::E0: return "VR_DISCRETE+"; case Gpio::E1: return "VR_9924+"; + case Gpio::E11: return "FLEX"; case Gpio::E12: return "36a HALL1 / VSS"; case Gpio::E13: return "35a HALL2"; case Gpio::E14: return "34a HALL3"; diff --git a/firmware/console/binary/generated/data_logs.ini b/firmware/console/binary/generated/data_logs.ini index 9f6c41474a..f8ab8d2067 100644 --- a/firmware/console/binary/generated/data_logs.ini +++ b/firmware/console/binary/generated/data_logs.ini @@ -462,6 +462,26 @@ entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" entry = m_knockCount, "Knock: Count", int, "%d" entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_knockFrequency, "knock: frequency", int, "%d" +entry = m_knockSpectrum1, "Knock: SpectrumData 1", int, "%d" +entry = m_knockSpectrum2, "Knock: SpectrumData 2", int, "%d" +entry = m_knockSpectrum3, "Knock: SpectrumData 3", int, "%d" +entry = m_knockSpectrum4, "Knock: SpectrumData 4", int, "%d" +entry = m_knockSpectrum5, "Knock: SpectrumData 5", int, "%d" +entry = m_knockSpectrum6, "Knock: SpectrumData 6", int, "%d" +entry = m_knockSpectrum7, "Knock: SpectrumData 7", int, "%d" +entry = m_knockSpectrum8, "Knock: SpectrumData 8", int, "%d" +entry = m_knockSpectrum9, "Knock: SpectrumData 9", int, "%d" +entry = m_knockSpectrum10, "Knock: SpectrumData 10", int, "%d" +entry = m_knockSpectrum11, "Knock: SpectrumData 11", int, "%d" +entry = m_knockSpectrum12, "Knock: SpectrumData 12", int, "%d" +entry = m_knockSpectrum13, "Knock: SpectrumData 13", int, "%d" +entry = m_knockSpectrum14, "Knock: SpectrumData 14", int, "%d" +entry = m_knockSpectrum15, "Knock: SpectrumData 15", int, "%d" +entry = m_knockSpectrum16, "Knock: SpectrumData 16", int, "%d" +entry = m_knockSpectrumChannelCyl, "Knock: ChannelAndCylNumber", int, "%d" +entry = m_knockFrequencyStart, "Knock: Start Freq", int, "%d" +entry = m_knockFrequencyStep, "Knock: Step Freq", float, "%.3f" +entry = m_knockFuelTrimMultiplier, "Knock: Fuel trim when knock", float, "%.3f" entry = tcuCurrentGear, "TCU: Current Gear", int, "%d" entry = tcRatio, "TCU: Torque Converter Ratio", float, "%.3f" entry = lastShiftTime, "lastShiftTime", float, "%.3f" diff --git a/firmware/console/binary/generated/fancy_content.ini b/firmware/console/binary/generated/fancy_content.ini index ea278e6cb5..df777c3635 100644 --- a/firmware/console/binary/generated/fancy_content.ini +++ b/firmware/console/binary/generated/fancy_content.ini @@ -72,6 +72,31 @@ dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard graphLine = m_knockFrequency + graphLine = m_knockSpectrum1 + graphLine = m_knockSpectrum2 + liveGraph = knock_controller_6_Graph, "Graph", South + graphLine = m_knockSpectrum3 + graphLine = m_knockSpectrum4 + graphLine = m_knockSpectrum5 + graphLine = m_knockSpectrum6 + liveGraph = knock_controller_7_Graph, "Graph", South + graphLine = m_knockSpectrum7 + graphLine = m_knockSpectrum8 + graphLine = m_knockSpectrum9 + graphLine = m_knockSpectrum10 + liveGraph = knock_controller_8_Graph, "Graph", South + graphLine = m_knockSpectrum11 + graphLine = m_knockSpectrum12 + graphLine = m_knockSpectrum13 + graphLine = m_knockSpectrum14 + liveGraph = knock_controller_9_Graph, "Graph", South + graphLine = m_knockSpectrum15 + graphLine = m_knockSpectrum16 + graphLine = m_knockSpectrumChannelCyl + graphLine = m_knockFrequencyStart + liveGraph = knock_controller_10_Graph, "Graph", South + graphLine = m_knockFrequencyStep + graphLine = m_knockFuelTrimMultiplier indicatorPanel = tcu_controllerIndicatorPanel, 2 indicator = {isShifting}, "isShifting No", "isShifting Yes" diff --git a/firmware/console/binary/generated/live_data_ids.h b/firmware/console/binary/generated/live_data_ids.h index 52b9cb22b8..296f492c86 100644 --- a/firmware/console/binary/generated/live_data_ids.h +++ b/firmware/console/binary/generated/live_data_ids.h @@ -44,28 +44,28 @@ LDS_lambda_monitor, #define FUEL_COMPUTER_BASE_ADDRESS 848 #define IGNITION_STATE_BASE_ADDRESS 900 #define KNOCK_CONTROLLER_BASE_ADDRESS 940 -#define TCU_CONTROLLER_BASE_ADDRESS 976 -#define THROTTLE_MODEL_BASE_ADDRESS 992 -#define HIGH_PRESSURE_FUEL_PUMP_BASE_ADDRESS 1004 -#define INJECTOR_MODEL_BASE_ADDRESS 1032 -#define LAUNCH_CONTROL_STATE_BASE_ADDRESS 1044 -#define SHIFT_TORQUE_REDUCTION_STATE_BASE_ADDRESS 1052 -#define ANTILAG_SYSTEM_STATE_BASE_ADDRESS 1056 -#define BOOST_CONTROL_BASE_ADDRESS 1068 -#define AC_CONTROL_BASE_ADDRESS 1092 -#define FAN_CONTROL_BASE_ADDRESS 1100 -#define FUEL_PUMP_CONTROL_BASE_ADDRESS 1116 -#define MAIN_RELAY_BASE_ADDRESS 1120 -#define ENGINE_STATE_BASE_ADDRESS 1124 -#define TPS_ACCEL_STATE_BASE_ADDRESS 1224 -#define TRIGGER_CENTRAL_BASE_ADDRESS 1272 -#define TRIGGER_STATE_BASE_ADDRESS 1336 -#define TRIGGER_STATE_PRIMARY_BASE_ADDRESS 1536 -#define WALL_FUEL_STATE_BASE_ADDRESS 1544 -#define IDLE_STATE_BASE_ADDRESS 1552 -#define ELECTRONIC_THROTTLE_BASE_ADDRESS 1600 -#define WIDEBAND_STATE_BASE_ADDRESS 1696 -#define DC_MOTORS_BASE_ADDRESS 1720 -#define SENT_STATE_BASE_ADDRESS 1732 -#define VVT_BASE_ADDRESS 1740 -#define LAMBDA_MONITOR_BASE_ADDRESS 1744 +#define TCU_CONTROLLER_BASE_ADDRESS 1052 +#define THROTTLE_MODEL_BASE_ADDRESS 1068 +#define HIGH_PRESSURE_FUEL_PUMP_BASE_ADDRESS 1080 +#define INJECTOR_MODEL_BASE_ADDRESS 1108 +#define LAUNCH_CONTROL_STATE_BASE_ADDRESS 1120 +#define SHIFT_TORQUE_REDUCTION_STATE_BASE_ADDRESS 1128 +#define ANTILAG_SYSTEM_STATE_BASE_ADDRESS 1132 +#define BOOST_CONTROL_BASE_ADDRESS 1144 +#define AC_CONTROL_BASE_ADDRESS 1168 +#define FAN_CONTROL_BASE_ADDRESS 1176 +#define FUEL_PUMP_CONTROL_BASE_ADDRESS 1192 +#define MAIN_RELAY_BASE_ADDRESS 1196 +#define ENGINE_STATE_BASE_ADDRESS 1200 +#define TPS_ACCEL_STATE_BASE_ADDRESS 1300 +#define TRIGGER_CENTRAL_BASE_ADDRESS 1348 +#define TRIGGER_STATE_BASE_ADDRESS 1412 +#define TRIGGER_STATE_PRIMARY_BASE_ADDRESS 1612 +#define WALL_FUEL_STATE_BASE_ADDRESS 1620 +#define IDLE_STATE_BASE_ADDRESS 1628 +#define ELECTRONIC_THROTTLE_BASE_ADDRESS 1676 +#define WIDEBAND_STATE_BASE_ADDRESS 1772 +#define DC_MOTORS_BASE_ADDRESS 1796 +#define SENT_STATE_BASE_ADDRESS 1808 +#define VVT_BASE_ADDRESS 1816 +#define LAMBDA_MONITOR_BASE_ADDRESS 1820 diff --git a/firmware/console/binary/generated/output_channels.ini b/firmware/console/binary/generated/output_channels.ini index ab88522e24..22aa1a579e 100644 --- a/firmware/console/binary/generated/output_channels.ini +++ b/firmware/console/binary/generated/output_channels.ini @@ -524,367 +524,387 @@ m_knockThreshold = scalar, F32, 960, "", 1, 0 m_knockCount = scalar, U32, 964, "", 1, 0 m_maximumRetard = scalar, F32, 968, "", 1, 0 m_knockFrequency = scalar, U32, 972, "Hz", 1, 0 -; total TS size = 976 -tcuCurrentGear = scalar, S08, 976, "gear", 1, 0 -tcRatio = scalar, U16, 978, "value", 0.01, 0 -lastShiftTime = scalar, F32, 980, "", 1, 0 -tcu_currentRange = scalar, U08, 984, "", 1, 0 -pressureControlDuty = scalar, S08, 985, "%", 1,0 -torqueConverterDuty = scalar, S08, 986, "%", 1,0 -isShifting = bits, U32, 988, [0:0] -; total TS size = 992 -throttleUseWotModel = bits, U32, 992, [0:0] -throttleModelCrossoverAngle = scalar, S16, 996, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1000, "g/s", 1, 0 -; total TS size = 1004 -m_requested_pump = scalar, F32, 1004, "", 1, 0 -fuel_requested_percent = scalar, F32, 1008, "", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1012, "", 1, 0 -noValve = bits, U32, 1016, [0:0] -angleAboveMin = bits, U32, 1016, [1:1] -isHpfpInactive = bits, U32, 1016, [2:2] -m_pressureTarget_kPa = scalar, F32, 1020, "", 1, 0 -nextLobe = scalar, F32, 1024, "", 1, 0 -di_nextStart = scalar, F32, 1028, "v", 1, 0 -; total TS size = 1032 -m_deadtime = scalar, F32, 1032, "ms", 1, 0 -pressureDelta = scalar, F32, 1036, "kPa", 1, 0 -pressureRatio = scalar, F32, 1040, "", 1, 0 -; total TS size = 1044 -retardThresholdRpm = scalar, S32, 1044, "", 1, 0 -launchActivatePinState = bits, U32, 1048, [0:0] -isPreLaunchCondition = bits, U32, 1048, [1:1] -isLaunchCondition = bits, U32, 1048, [2:2] -isSwitchActivated = bits, U32, 1048, [3:3] -isClutchActivated = bits, U32, 1048, [4:4] -isBrakePedalActivated = bits, U32, 1048, [5:5] -isValidInputPin = bits, U32, 1048, [6:6] -activateSwitchCondition = bits, U32, 1048, [7:7] -rpmLaunchCondition = bits, U32, 1048, [8:8] -rpmPreLaunchCondition = bits, U32, 1048, [9:9] -speedCondition = bits, U32, 1048, [10:10] -tpsCondition = bits, U32, 1048, [11:11] +m_knockSpectrum1 = scalar, U32, 976, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 980, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 984, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 988, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1040, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1042, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1044, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1048, "multiplier", 1, 0 ; total TS size = 1052 -isTorqueReductionTriggerPinValid = bits, U32, 1052, [0:0] -torqueReductionTriggerPinState = bits, U32, 1052, [1:1] -isTimeConditionSatisfied = bits, U32, 1052, [2:2] -isRpmConditionSatisfied = bits, U32, 1052, [3:3] -isAppConditionSatisfied = bits, U32, 1052, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1052, [5:5] -; total TS size = 1056 -isAntilagCondition = bits, U32, 1056, [0:0] -ALSMinRPMCondition = bits, U32, 1056, [1:1] -ALSMaxRPMCondition = bits, U32, 1056, [2:2] -ALSMinCLTCondition = bits, U32, 1056, [3:3] -ALSMaxCLTCondition = bits, U32, 1056, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1056, [5:5] -isALSSwitchActivated = bits, U32, 1056, [6:6] -ALSActivatePinState = bits, U32, 1056, [7:7] -ALSSwitchCondition = bits, U32, 1056, [8:8] -ALSTimerCondition = bits, U32, 1056, [9:9] -fuelALSCorrection = scalar, F32, 1060, "", 1, 0 -timingALSCorrection = scalar, S16, 1064, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1066, "deg", 0.01, 0 +tcuCurrentGear = scalar, S08, 1052, "gear", 1, 0 +tcRatio = scalar, U16, 1054, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1056, "", 1, 0 +tcu_currentRange = scalar, U08, 1060, "", 1, 0 +pressureControlDuty = scalar, S08, 1061, "%", 1,0 +torqueConverterDuty = scalar, S08, 1062, "%", 1,0 +isShifting = bits, U32, 1064, [0:0] ; total TS size = 1068 -isTpsInvalid = bits, U32, 1068, [0:0] -m_shouldResetPid = bits, U32, 1068, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1068, [2:2] -isNotClosedLoop = bits, U32, 1068, [3:3] -isZeroRpm = bits, U32, 1068, [4:4] -hasInitBoost = bits, U32, 1068, [5:5] -rpmTooLow = bits, U32, 1068, [6:6] -tpsTooLow = bits, U32, 1068, [7:7] -mapTooLow = bits, U32, 1068, [8:8] -isPlantValid = bits, U32, 1068, [9:9] -isBoostControlled = bits, U32, 1068, [10:10] -luaTargetAdd = scalar, S16, 1072, "v", 0.5,0 -boostOutput = scalar, S16, 1074, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1076, "v", 1,0 -openLoopPart = scalar, F32, 1080, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1084, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1088, "%", 0.5,0 -boostControlTarget = scalar, S16, 1090, "kPa", 0.03333333333333333,0 -; total TS size = 1092 -acButtonState = scalar, S08, 1092, "", 1, 0 -m_acEnabled = bits, U32, 1096, [0:0] -engineTooSlow = bits, U32, 1096, [1:1] -engineTooFast = bits, U32, 1096, [2:2] -noClt = bits, U32, 1096, [3:3] -engineTooHot = bits, U32, 1096, [4:4] -tpsTooHigh = bits, U32, 1096, [5:5] -isDisabledByLua = bits, U32, 1096, [6:6] -acCompressorState = bits, U32, 1096, [7:7] -acPressureTooLow = bits, U32, 1096, [8:8] -acPressureTooHigh = bits, U32, 1096, [9:9] -; total TS size = 1100 -cranking0 = bits, U32, 1100, [0:0] -notRunning0 = bits, U32, 1100, [1:1] -disabledWhileEngineStopped0 = bits, U32, 1100, [2:2] -brokenClt0 = bits, U32, 1100, [3:3] -enabledForAc0 = bits, U32, 1100, [4:4] -hot0 = bits, U32, 1100, [5:5] -cold0 = bits, U32, 1100, [6:6] -disabledBySpeed0 = bits, U32, 1100, [7:7] -radiatorFanStatus0 = scalar, U08, 1104, "", 1, 0 +throttleUseWotModel = bits, U32, 1068, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1072, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1076, "g/s", 1, 0 +; total TS size = 1080 +m_requested_pump = scalar, F32, 1080, "", 1, 0 +fuel_requested_percent = scalar, F32, 1084, "", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1088, "", 1, 0 +noValve = bits, U32, 1092, [0:0] +angleAboveMin = bits, U32, 1092, [1:1] +isHpfpInactive = bits, U32, 1092, [2:2] +m_pressureTarget_kPa = scalar, F32, 1096, "", 1, 0 +nextLobe = scalar, F32, 1100, "", 1, 0 +di_nextStart = scalar, F32, 1104, "v", 1, 0 ; total TS size = 1108 -cranking1 = bits, U32, 1108, [0:0] -notRunning1 = bits, U32, 1108, [1:1] -disabledWhileEngineStopped1 = bits, U32, 1108, [2:2] -brokenClt1 = bits, U32, 1108, [3:3] -enabledForAc1 = bits, U32, 1108, [4:4] -hot1 = bits, U32, 1108, [5:5] -cold1 = bits, U32, 1108, [6:6] -disabledBySpeed1 = bits, U32, 1108, [7:7] -radiatorFanStatus1 = scalar, U08, 1112, "", 1, 0 -; total TS size = 1116 -isPrime = bits, U32, 1116, [0:0] -engineTurnedRecently = bits, U32, 1116, [1:1] -isFuelPumpOn = bits, U32, 1116, [2:2] -ignitionOn = bits, U32, 1116, [3:3] +m_deadtime = scalar, F32, 1108, "ms", 1, 0 +pressureDelta = scalar, F32, 1112, "kPa", 1, 0 +pressureRatio = scalar, F32, 1116, "", 1, 0 ; total TS size = 1120 -isBenchTest = bits, U32, 1120, [0:0] -hasIgnitionVoltage = bits, U32, 1120, [1:1] -mainRelayState = bits, U32, 1120, [2:2] -delayedShutoffRequested = bits, U32, 1120, [3:3] -; total TS size = 1124 -lua_fuelAdd = scalar, F32, 1124, "g", 1, 0 -lua_fuelMult = scalar, F32, 1128, "", 1, 0 -lua_clutchUpState = bits, U32, 1132, [0:0] -lua_brakePedalState = bits, U32, 1132, [1:1] -lua_acRequestState = bits, U32, 1132, [2:2] -lua_luaDisableEtb = bits, U32, 1132, [3:3] -lua_luaIgnCut = bits, U32, 1132, [4:4] -lua_luaFuelCut = bits, U32, 1132, [5:5] -lua_clutchDownState = bits, U32, 1132, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1132, [7:7] -sd_tCharge = scalar, S16, 1136, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1140, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1144, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1148, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1152, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1156, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1160, "", 1, 0 -hellenBoardId = scalar, S16, 1164, "id", 1, 0 -clutchUpState = scalar, S08, 1166, "", 1, 0 -clutchDownState = scalar, S08, 1167, "", 1, 0 -brakePedalState = scalar, S08, 1168, "", 1, 0 -startStopState = scalar, S08, 1169, "", 1, 0 -smartChipState = scalar, S08, 1170, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1171, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1172, "", 1, 0 -startStopPhysicalState = bits, U32, 1176, [0:0] -acrActive = bits, U32, 1176, [1:1] -acrEngineMovedRecently = bits, U32, 1176, [2:2] -heaterControlEnabled = bits, U32, 1176, [3:3] -luaDigitalState0 = bits, U32, 1176, [4:4] -luaDigitalState1 = bits, U32, 1176, [5:5] -luaDigitalState2 = bits, U32, 1176, [6:6] -luaDigitalState3 = bits, U32, 1176, [7:7] -startStopStateToggleCounter = scalar, U32, 1180, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1184, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1188, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1192, "", 1, 0 -desiredRpmLimit = scalar, S16, 1196, "rpm", 1, 0 -fuelInjectionCounter = scalar, U32, 1200, "", 1, 0 -globalSparkCounter = scalar, U32, 1204, "", 1, 0 -fuelingLoad = scalar, F32, 1208, "", 1, 0 -ignitionLoad = scalar, F32, 1212, "", 1, 0 -veTableYAxis = scalar, U16, 1216, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1218, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1219, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1220, "", 1, 0 -; total TS size = 1224 -tpsFrom = scalar, F32, 1224 -tpsTo = scalar, F32, 1228 -deltaTps = scalar, F32, 1232 -extraFuel = scalar, F32, 1236, "", 1, 0 -valueFromTable = scalar, F32, 1240, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1244, [0:0] -isBelowDecelThreshold = bits, U32, 1244, [1:1] -isTimeToResetAccumulator = bits, U32, 1244, [2:2] -isFractionalEnrichment = bits, U32, 1244, [3:3] -belowEpsilon = bits, U32, 1244, [4:4] -tooShort = bits, U32, 1244, [5:5] -fractionalInjFuel = scalar, F32, 1248, "", 1, 0 -accumulatedValue = scalar, F32, 1252, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1256, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1260, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1264, "", 1, 0 -cycleCnt = scalar, S32, 1268, "", 1, 0 -; total TS size = 1272 -hwEventCounters1 = scalar, U32, 1272, "", 1, 0 -hwEventCounters2 = scalar, U32, 1276, "", 1, 0 -hwEventCounters3 = scalar, U32, 1280, "", 1, 0 -hwEventCounters4 = scalar, U32, 1284, "", 1, 0 -hwEventCounters5 = scalar, U32, 1288, "", 1, 0 -hwEventCounters6 = scalar, U32, 1292, "", 1, 0 -vvtCamCounter = scalar, U32, 1296, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1300, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1304, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1308, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1309, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1312, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1316, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1320, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1324, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1328, [0:0] -triggerElapsedUs = scalar, U32, 1332, "", 1, 0 -; total TS size = 1336 -crankSynchronizationCounter0 = scalar, U32, 1336, "", 1, 0 -vvtSyncGapRatio0 = scalar, F32, 1340, "", 1, 0 -vvtToothDurations00 = scalar, U32, 1344, "us", 1, 0 -vvtCurrentPosition0 = scalar, F32, 1348, "sync: Primary Cam Position", 1, 0 -vvtToothPosition10 = scalar, F32, 1352, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition20 = scalar, F32, 1356, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition30 = scalar, F32, 1360, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition40 = scalar, F32, 1364, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio0 = scalar, F32, 1368, "", 1, 0 -triggerStateIndex0 = scalar, U08, 1372, "", 1, 0 -vvtStateIndex0 = scalar, U08, 1373, "", 1, 0 -; total TS size = 1376 -crankSynchronizationCounter1 = scalar, U32, 1376, "", 1, 0 -vvtSyncGapRatio1 = scalar, F32, 1380, "", 1, 0 -vvtToothDurations01 = scalar, U32, 1384, "us", 1, 0 -vvtCurrentPosition1 = scalar, F32, 1388, "sync: Primary Cam Position", 1, 0 -vvtToothPosition11 = scalar, F32, 1392, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition21 = scalar, F32, 1396, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition31 = scalar, F32, 1400, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition41 = scalar, F32, 1404, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio1 = scalar, F32, 1408, "", 1, 0 -triggerStateIndex1 = scalar, U08, 1412, "", 1, 0 -vvtStateIndex1 = scalar, U08, 1413, "", 1, 0 -; total TS size = 1416 -crankSynchronizationCounter2 = scalar, U32, 1416, "", 1, 0 -vvtSyncGapRatio2 = scalar, F32, 1420, "", 1, 0 -vvtToothDurations02 = scalar, U32, 1424, "us", 1, 0 -vvtCurrentPosition2 = scalar, F32, 1428, "sync: Primary Cam Position", 1, 0 -vvtToothPosition12 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition22 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition32 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition42 = scalar, F32, 1444, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio2 = scalar, F32, 1448, "", 1, 0 -triggerStateIndex2 = scalar, U08, 1452, "", 1, 0 -vvtStateIndex2 = scalar, U08, 1453, "", 1, 0 -; total TS size = 1456 -crankSynchronizationCounter3 = scalar, U32, 1456, "", 1, 0 -vvtSyncGapRatio3 = scalar, F32, 1460, "", 1, 0 -vvtToothDurations03 = scalar, U32, 1464, "us", 1, 0 -vvtCurrentPosition3 = scalar, F32, 1468, "sync: Primary Cam Position", 1, 0 -vvtToothPosition13 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition23 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition33 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition43 = scalar, F32, 1484, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio3 = scalar, F32, 1488, "", 1, 0 -triggerStateIndex3 = scalar, U08, 1492, "", 1, 0 -vvtStateIndex3 = scalar, U08, 1493, "", 1, 0 -; total TS size = 1496 -crankSynchronizationCounter4 = scalar, U32, 1496, "", 1, 0 -vvtSyncGapRatio4 = scalar, F32, 1500, "", 1, 0 -vvtToothDurations04 = scalar, U32, 1504, "us", 1, 0 -vvtCurrentPosition4 = scalar, F32, 1508, "sync: Primary Cam Position", 1, 0 -vvtToothPosition14 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition24 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition34 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition44 = scalar, F32, 1524, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio4 = scalar, F32, 1528, "", 1, 0 -triggerStateIndex4 = scalar, U08, 1532, "", 1, 0 -vvtStateIndex4 = scalar, U08, 1533, "", 1, 0 -; total TS size = 1536 -camResyncCounter = scalar, U08, 1536, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1540, [0:0] -; total TS size = 1544 -wallFuelCorrection = scalar, F32, 1544, "", 1, 0 -wallFuel = scalar, F32, 1548, "", 1, 0 -; total TS size = 1552 -idleState = bits, S32, 1552, [0:2], "not important" -currentIdlePosition = scalar, F32, 1556 -baseIdlePosition = scalar, F32, 1560 -idleClosedLoop = scalar, F32, 1564 -iacByTpsTaper = scalar, F32, 1568 -throttlePedalUpState = scalar, S32, 1572, "", 1, 0 -mightResetPid = bits, U32, 1576, [0:0] -shouldResetPid = bits, U32, 1576, [1:1] -wasResetPid = bits, U32, 1576, [2:2] -mustResetPid = bits, U32, 1576, [3:3] -isCranking = bits, U32, 1576, [4:4] -isIacTableForCoasting = bits, U32, 1576, [5:5] -notIdling = bits, U32, 1576, [6:6] -needReset = bits, U32, 1576, [7:7] -isInDeadZone = bits, U32, 1576, [8:8] -isBlipping = bits, U32, 1576, [9:9] -useClosedLoop = bits, U32, 1576, [10:10] -badTps = bits, U32, 1576, [11:11] -looksLikeRunning = bits, U32, 1576, [12:12] -looksLikeCoasting = bits, U32, 1576, [13:13] -looksLikeCrankToIdle = bits, U32, 1576, [14:14] -isIdleCoasting = bits, U32, 1576, [15:15] -isIdleClosedLoop = bits, U32, 1576, [16:16] -idleTarget = scalar, S32, 1580, "", 1, 0 -targetRpmByClt = scalar, S32, 1584, "", 1, 0 -targetRpmAc = scalar, S32, 1588, "", 1, 0 -iacByRpmTaper = scalar, F32, 1592 -luaAdd = scalar, F32, 1596 -; total TS size = 1600 -targetWithIdlePosition0 = scalar, F32, 1600, "per", 1,0 -trim0 = scalar, F32, 1604, "", 1, 0 -luaAdjustment0 = scalar, F32, 1608, "per", 1,0 -m_wastegatePosition0 = scalar, F32, 1612, "per", 1,0 -etbFeedForward0 = scalar, F32, 1616 -etbIntegralError0 = scalar, F32, 1620, "", 1, 0 -etbCurrentTarget0 = scalar, F32, 1624, "%", 1, 0 -etbCurrentAdjustedTarget0 = scalar, F32, 1628, "%", 1, 0 -etbRevLimitActive0 = bits, U32, 1632, [0:0] -jamDetected0 = bits, U32, 1632, [1:1] -etbTpsErrorCounter0 = scalar, U16, 1636, "count", 1,0 -etbPpsErrorCounter0 = scalar, U16, 1638, "count", 1,0 -etbErrorCode0 = scalar, S08, 1640, "", 1, 0 -tcEtbDrop0 = scalar, S08, 1641, "%", 1, 0 -jamTimer0 = scalar, U16, 1642, "sec", 0.01, 0 -adjustedEtbTarget0 = scalar, S08, 1644, "%", 1, 0 -; total TS size = 1648 -targetWithIdlePosition1 = scalar, F32, 1648, "per", 1,0 -trim1 = scalar, F32, 1652, "", 1, 0 -luaAdjustment1 = scalar, F32, 1656, "per", 1,0 -m_wastegatePosition1 = scalar, F32, 1660, "per", 1,0 -etbFeedForward1 = scalar, F32, 1664 -etbIntegralError1 = scalar, F32, 1668, "", 1, 0 -etbCurrentTarget1 = scalar, F32, 1672, "%", 1, 0 -etbCurrentAdjustedTarget1 = scalar, F32, 1676, "%", 1, 0 -etbRevLimitActive1 = bits, U32, 1680, [0:0] -jamDetected1 = bits, U32, 1680, [1:1] -etbTpsErrorCounter1 = scalar, U16, 1684, "count", 1,0 -etbPpsErrorCounter1 = scalar, U16, 1686, "count", 1,0 -etbErrorCode1 = scalar, S08, 1688, "", 1, 0 -tcEtbDrop1 = scalar, S08, 1689, "%", 1, 0 -jamTimer1 = scalar, U16, 1690, "sec", 0.01, 0 -adjustedEtbTarget1 = scalar, S08, 1692, "%", 1, 0 -; total TS size = 1696 -faultCode0 = scalar, U08, 1696, "", 1, 0 -heaterDuty0 = scalar, U08, 1697, "%", 1, 0 -pumpDuty0 = scalar, U08, 1698, "%", 1, 0 -tempC0 = scalar, U16, 1700, "C", 1, 0 -nernstVoltage0 = scalar, U16, 1702, "V", 0.001, 0 -esr0 = scalar, U16, 1704, "ohm", 1, 0 -; total TS size = 1708 -faultCode1 = scalar, U08, 1708, "", 1, 0 -heaterDuty1 = scalar, U08, 1709, "%", 1, 0 -pumpDuty1 = scalar, U08, 1710, "%", 1, 0 -tempC1 = scalar, U16, 1712, "C", 1, 0 -nernstVoltage1 = scalar, U16, 1714, "V", 0.001, 0 -esr1 = scalar, U16, 1716, "ohm", 1, 0 -; total TS size = 1720 -dcOutput0 = scalar, F32, 1720, "per", 1,0 -isEnabled0_int = scalar, U08, 1724, "per", 1,0 -isEnabled0 = bits, U32, 1728, [0:0] -; total TS size = 1732 -value0 = scalar, U16, 1732, "value", 1,0 -value1 = scalar, U16, 1734, "value", 1,0 -errorRate = scalar, F32, 1736, "ratio", 1,0 -; total TS size = 1740 -vvtTarget = scalar, U16, 1740, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1742, "%", 0.5, 0 -; total TS size = 1744 -lambdaCurrentlyGood = bits, U32, 1744, [0:0] -lambdaMonitorCut = bits, U32, 1744, [1:1] -lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 -; total TS size = 1752 +retardThresholdRpm = scalar, S32, 1120, "", 1, 0 +launchActivatePinState = bits, U32, 1124, [0:0] +isPreLaunchCondition = bits, U32, 1124, [1:1] +isLaunchCondition = bits, U32, 1124, [2:2] +isSwitchActivated = bits, U32, 1124, [3:3] +isClutchActivated = bits, U32, 1124, [4:4] +isBrakePedalActivated = bits, U32, 1124, [5:5] +isValidInputPin = bits, U32, 1124, [6:6] +activateSwitchCondition = bits, U32, 1124, [7:7] +rpmLaunchCondition = bits, U32, 1124, [8:8] +rpmPreLaunchCondition = bits, U32, 1124, [9:9] +speedCondition = bits, U32, 1124, [10:10] +tpsCondition = bits, U32, 1124, [11:11] +; total TS size = 1128 +isTorqueReductionTriggerPinValid = bits, U32, 1128, [0:0] +torqueReductionTriggerPinState = bits, U32, 1128, [1:1] +isTimeConditionSatisfied = bits, U32, 1128, [2:2] +isRpmConditionSatisfied = bits, U32, 1128, [3:3] +isAppConditionSatisfied = bits, U32, 1128, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1128, [5:5] +; total TS size = 1132 +isAntilagCondition = bits, U32, 1132, [0:0] +ALSMinRPMCondition = bits, U32, 1132, [1:1] +ALSMaxRPMCondition = bits, U32, 1132, [2:2] +ALSMinCLTCondition = bits, U32, 1132, [3:3] +ALSMaxCLTCondition = bits, U32, 1132, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1132, [5:5] +isALSSwitchActivated = bits, U32, 1132, [6:6] +ALSActivatePinState = bits, U32, 1132, [7:7] +ALSSwitchCondition = bits, U32, 1132, [8:8] +ALSTimerCondition = bits, U32, 1132, [9:9] +fuelALSCorrection = scalar, F32, 1136, "", 1, 0 +timingALSCorrection = scalar, S16, 1140, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1142, "deg", 0.01, 0 +; total TS size = 1144 +isTpsInvalid = bits, U32, 1144, [0:0] +m_shouldResetPid = bits, U32, 1144, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1144, [2:2] +isNotClosedLoop = bits, U32, 1144, [3:3] +isZeroRpm = bits, U32, 1144, [4:4] +hasInitBoost = bits, U32, 1144, [5:5] +rpmTooLow = bits, U32, 1144, [6:6] +tpsTooLow = bits, U32, 1144, [7:7] +mapTooLow = bits, U32, 1144, [8:8] +isPlantValid = bits, U32, 1144, [9:9] +isBoostControlled = bits, U32, 1144, [10:10] +luaTargetAdd = scalar, S16, 1148, "v", 0.5,0 +boostOutput = scalar, S16, 1150, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1152, "v", 1,0 +openLoopPart = scalar, F32, 1156, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1160, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1164, "%", 0.5,0 +boostControlTarget = scalar, S16, 1166, "kPa", 0.03333333333333333,0 +; total TS size = 1168 +acButtonState = scalar, S08, 1168, "", 1, 0 +m_acEnabled = bits, U32, 1172, [0:0] +engineTooSlow = bits, U32, 1172, [1:1] +engineTooFast = bits, U32, 1172, [2:2] +noClt = bits, U32, 1172, [3:3] +engineTooHot = bits, U32, 1172, [4:4] +tpsTooHigh = bits, U32, 1172, [5:5] +isDisabledByLua = bits, U32, 1172, [6:6] +acCompressorState = bits, U32, 1172, [7:7] +acPressureTooLow = bits, U32, 1172, [8:8] +acPressureTooHigh = bits, U32, 1172, [9:9] +; total TS size = 1176 +cranking0 = bits, U32, 1176, [0:0] +notRunning0 = bits, U32, 1176, [1:1] +disabledWhileEngineStopped0 = bits, U32, 1176, [2:2] +brokenClt0 = bits, U32, 1176, [3:3] +enabledForAc0 = bits, U32, 1176, [4:4] +hot0 = bits, U32, 1176, [5:5] +cold0 = bits, U32, 1176, [6:6] +disabledBySpeed0 = bits, U32, 1176, [7:7] +radiatorFanStatus0 = scalar, U08, 1180, "", 1, 0 +; total TS size = 1184 +cranking1 = bits, U32, 1184, [0:0] +notRunning1 = bits, U32, 1184, [1:1] +disabledWhileEngineStopped1 = bits, U32, 1184, [2:2] +brokenClt1 = bits, U32, 1184, [3:3] +enabledForAc1 = bits, U32, 1184, [4:4] +hot1 = bits, U32, 1184, [5:5] +cold1 = bits, U32, 1184, [6:6] +disabledBySpeed1 = bits, U32, 1184, [7:7] +radiatorFanStatus1 = scalar, U08, 1188, "", 1, 0 +; total TS size = 1192 +isPrime = bits, U32, 1192, [0:0] +engineTurnedRecently = bits, U32, 1192, [1:1] +isFuelPumpOn = bits, U32, 1192, [2:2] +ignitionOn = bits, U32, 1192, [3:3] +; total TS size = 1196 +isBenchTest = bits, U32, 1196, [0:0] +hasIgnitionVoltage = bits, U32, 1196, [1:1] +mainRelayState = bits, U32, 1196, [2:2] +delayedShutoffRequested = bits, U32, 1196, [3:3] +; total TS size = 1200 +lua_fuelAdd = scalar, F32, 1200, "g", 1, 0 +lua_fuelMult = scalar, F32, 1204, "", 1, 0 +lua_clutchUpState = bits, U32, 1208, [0:0] +lua_brakePedalState = bits, U32, 1208, [1:1] +lua_acRequestState = bits, U32, 1208, [2:2] +lua_luaDisableEtb = bits, U32, 1208, [3:3] +lua_luaIgnCut = bits, U32, 1208, [4:4] +lua_luaFuelCut = bits, U32, 1208, [5:5] +lua_clutchDownState = bits, U32, 1208, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1208, [7:7] +sd_tCharge = scalar, S16, 1212, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1216, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1220, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1224, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1228, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1232, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1236, "", 1, 0 +hellenBoardId = scalar, S16, 1240, "id", 1, 0 +clutchUpState = scalar, S08, 1242, "", 1, 0 +clutchDownState = scalar, S08, 1243, "", 1, 0 +brakePedalState = scalar, S08, 1244, "", 1, 0 +startStopState = scalar, S08, 1245, "", 1, 0 +smartChipState = scalar, S08, 1246, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1247, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1248, "", 1, 0 +startStopPhysicalState = bits, U32, 1252, [0:0] +acrActive = bits, U32, 1252, [1:1] +acrEngineMovedRecently = bits, U32, 1252, [2:2] +heaterControlEnabled = bits, U32, 1252, [3:3] +luaDigitalState0 = bits, U32, 1252, [4:4] +luaDigitalState1 = bits, U32, 1252, [5:5] +luaDigitalState2 = bits, U32, 1252, [6:6] +luaDigitalState3 = bits, U32, 1252, [7:7] +startStopStateToggleCounter = scalar, U32, 1256, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1260, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1264, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1268, "", 1, 0 +desiredRpmLimit = scalar, S16, 1272, "rpm", 1, 0 +fuelInjectionCounter = scalar, U32, 1276, "", 1, 0 +globalSparkCounter = scalar, U32, 1280, "", 1, 0 +fuelingLoad = scalar, F32, 1284, "", 1, 0 +ignitionLoad = scalar, F32, 1288, "", 1, 0 +veTableYAxis = scalar, U16, 1292, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1294, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1295, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1296, "", 1, 0 +; total TS size = 1300 +tpsFrom = scalar, F32, 1300 +tpsTo = scalar, F32, 1304 +deltaTps = scalar, F32, 1308 +extraFuel = scalar, F32, 1312, "", 1, 0 +valueFromTable = scalar, F32, 1316, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1320, [0:0] +isBelowDecelThreshold = bits, U32, 1320, [1:1] +isTimeToResetAccumulator = bits, U32, 1320, [2:2] +isFractionalEnrichment = bits, U32, 1320, [3:3] +belowEpsilon = bits, U32, 1320, [4:4] +tooShort = bits, U32, 1320, [5:5] +fractionalInjFuel = scalar, F32, 1324, "", 1, 0 +accumulatedValue = scalar, F32, 1328, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1332, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1336, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1340, "", 1, 0 +cycleCnt = scalar, S32, 1344, "", 1, 0 +; total TS size = 1348 +hwEventCounters1 = scalar, U32, 1348, "", 1, 0 +hwEventCounters2 = scalar, U32, 1352, "", 1, 0 +hwEventCounters3 = scalar, U32, 1356, "", 1, 0 +hwEventCounters4 = scalar, U32, 1360, "", 1, 0 +hwEventCounters5 = scalar, U32, 1364, "", 1, 0 +hwEventCounters6 = scalar, U32, 1368, "", 1, 0 +vvtCamCounter = scalar, U32, 1372, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1376, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1380, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1384, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1385, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1388, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1392, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1396, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1400, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1404, [0:0] +triggerElapsedUs = scalar, U32, 1408, "", 1, 0 +; total TS size = 1412 +crankSynchronizationCounter0 = scalar, U32, 1412, "", 1, 0 +vvtSyncGapRatio0 = scalar, F32, 1416, "", 1, 0 +vvtToothDurations00 = scalar, U32, 1420, "us", 1, 0 +vvtCurrentPosition0 = scalar, F32, 1424, "sync: Primary Cam Position", 1, 0 +vvtToothPosition10 = scalar, F32, 1428, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition20 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition30 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition40 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio0 = scalar, F32, 1444, "", 1, 0 +triggerStateIndex0 = scalar, U08, 1448, "", 1, 0 +vvtStateIndex0 = scalar, U08, 1449, "", 1, 0 +; total TS size = 1452 +crankSynchronizationCounter1 = scalar, U32, 1452, "", 1, 0 +vvtSyncGapRatio1 = scalar, F32, 1456, "", 1, 0 +vvtToothDurations01 = scalar, U32, 1460, "us", 1, 0 +vvtCurrentPosition1 = scalar, F32, 1464, "sync: Primary Cam Position", 1, 0 +vvtToothPosition11 = scalar, F32, 1468, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition21 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition31 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition41 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio1 = scalar, F32, 1484, "", 1, 0 +triggerStateIndex1 = scalar, U08, 1488, "", 1, 0 +vvtStateIndex1 = scalar, U08, 1489, "", 1, 0 +; total TS size = 1492 +crankSynchronizationCounter2 = scalar, U32, 1492, "", 1, 0 +vvtSyncGapRatio2 = scalar, F32, 1496, "", 1, 0 +vvtToothDurations02 = scalar, U32, 1500, "us", 1, 0 +vvtCurrentPosition2 = scalar, F32, 1504, "sync: Primary Cam Position", 1, 0 +vvtToothPosition12 = scalar, F32, 1508, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition22 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition32 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition42 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio2 = scalar, F32, 1524, "", 1, 0 +triggerStateIndex2 = scalar, U08, 1528, "", 1, 0 +vvtStateIndex2 = scalar, U08, 1529, "", 1, 0 +; total TS size = 1532 +crankSynchronizationCounter3 = scalar, U32, 1532, "", 1, 0 +vvtSyncGapRatio3 = scalar, F32, 1536, "", 1, 0 +vvtToothDurations03 = scalar, U32, 1540, "us", 1, 0 +vvtCurrentPosition3 = scalar, F32, 1544, "sync: Primary Cam Position", 1, 0 +vvtToothPosition13 = scalar, F32, 1548, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition23 = scalar, F32, 1552, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition33 = scalar, F32, 1556, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition43 = scalar, F32, 1560, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio3 = scalar, F32, 1564, "", 1, 0 +triggerStateIndex3 = scalar, U08, 1568, "", 1, 0 +vvtStateIndex3 = scalar, U08, 1569, "", 1, 0 +; total TS size = 1572 +crankSynchronizationCounter4 = scalar, U32, 1572, "", 1, 0 +vvtSyncGapRatio4 = scalar, F32, 1576, "", 1, 0 +vvtToothDurations04 = scalar, U32, 1580, "us", 1, 0 +vvtCurrentPosition4 = scalar, F32, 1584, "sync: Primary Cam Position", 1, 0 +vvtToothPosition14 = scalar, F32, 1588, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition24 = scalar, F32, 1592, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition34 = scalar, F32, 1596, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition44 = scalar, F32, 1600, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio4 = scalar, F32, 1604, "", 1, 0 +triggerStateIndex4 = scalar, U08, 1608, "", 1, 0 +vvtStateIndex4 = scalar, U08, 1609, "", 1, 0 +; total TS size = 1612 +camResyncCounter = scalar, U08, 1612, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1616, [0:0] +; total TS size = 1620 +wallFuelCorrection = scalar, F32, 1620, "", 1, 0 +wallFuel = scalar, F32, 1624, "", 1, 0 +; total TS size = 1628 +idleState = bits, S32, 1628, [0:2], "not important" +currentIdlePosition = scalar, F32, 1632 +baseIdlePosition = scalar, F32, 1636 +idleClosedLoop = scalar, F32, 1640 +iacByTpsTaper = scalar, F32, 1644 +throttlePedalUpState = scalar, S32, 1648, "", 1, 0 +mightResetPid = bits, U32, 1652, [0:0] +shouldResetPid = bits, U32, 1652, [1:1] +wasResetPid = bits, U32, 1652, [2:2] +mustResetPid = bits, U32, 1652, [3:3] +isCranking = bits, U32, 1652, [4:4] +isIacTableForCoasting = bits, U32, 1652, [5:5] +notIdling = bits, U32, 1652, [6:6] +needReset = bits, U32, 1652, [7:7] +isInDeadZone = bits, U32, 1652, [8:8] +isBlipping = bits, U32, 1652, [9:9] +useClosedLoop = bits, U32, 1652, [10:10] +badTps = bits, U32, 1652, [11:11] +looksLikeRunning = bits, U32, 1652, [12:12] +looksLikeCoasting = bits, U32, 1652, [13:13] +looksLikeCrankToIdle = bits, U32, 1652, [14:14] +isIdleCoasting = bits, U32, 1652, [15:15] +isIdleClosedLoop = bits, U32, 1652, [16:16] +idleTarget = scalar, S32, 1656, "", 1, 0 +targetRpmByClt = scalar, S32, 1660, "", 1, 0 +targetRpmAc = scalar, S32, 1664, "", 1, 0 +iacByRpmTaper = scalar, F32, 1668 +luaAdd = scalar, F32, 1672 +; total TS size = 1676 +targetWithIdlePosition0 = scalar, F32, 1676, "per", 1,0 +trim0 = scalar, F32, 1680, "", 1, 0 +luaAdjustment0 = scalar, F32, 1684, "per", 1,0 +m_wastegatePosition0 = scalar, F32, 1688, "per", 1,0 +etbFeedForward0 = scalar, F32, 1692 +etbIntegralError0 = scalar, F32, 1696, "", 1, 0 +etbCurrentTarget0 = scalar, F32, 1700, "%", 1, 0 +etbCurrentAdjustedTarget0 = scalar, F32, 1704, "%", 1, 0 +etbRevLimitActive0 = bits, U32, 1708, [0:0] +jamDetected0 = bits, U32, 1708, [1:1] +etbTpsErrorCounter0 = scalar, U16, 1712, "count", 1,0 +etbPpsErrorCounter0 = scalar, U16, 1714, "count", 1,0 +etbErrorCode0 = scalar, S08, 1716, "", 1, 0 +tcEtbDrop0 = scalar, S08, 1717, "%", 1, 0 +jamTimer0 = scalar, U16, 1718, "sec", 0.01, 0 +adjustedEtbTarget0 = scalar, S08, 1720, "%", 1, 0 +; total TS size = 1724 +targetWithIdlePosition1 = scalar, F32, 1724, "per", 1,0 +trim1 = scalar, F32, 1728, "", 1, 0 +luaAdjustment1 = scalar, F32, 1732, "per", 1,0 +m_wastegatePosition1 = scalar, F32, 1736, "per", 1,0 +etbFeedForward1 = scalar, F32, 1740 +etbIntegralError1 = scalar, F32, 1744, "", 1, 0 +etbCurrentTarget1 = scalar, F32, 1748, "%", 1, 0 +etbCurrentAdjustedTarget1 = scalar, F32, 1752, "%", 1, 0 +etbRevLimitActive1 = bits, U32, 1756, [0:0] +jamDetected1 = bits, U32, 1756, [1:1] +etbTpsErrorCounter1 = scalar, U16, 1760, "count", 1,0 +etbPpsErrorCounter1 = scalar, U16, 1762, "count", 1,0 +etbErrorCode1 = scalar, S08, 1764, "", 1, 0 +tcEtbDrop1 = scalar, S08, 1765, "%", 1, 0 +jamTimer1 = scalar, U16, 1766, "sec", 0.01, 0 +adjustedEtbTarget1 = scalar, S08, 1768, "%", 1, 0 +; total TS size = 1772 +faultCode0 = scalar, U08, 1772, "", 1, 0 +heaterDuty0 = scalar, U08, 1773, "%", 1, 0 +pumpDuty0 = scalar, U08, 1774, "%", 1, 0 +tempC0 = scalar, U16, 1776, "C", 1, 0 +nernstVoltage0 = scalar, U16, 1778, "V", 0.001, 0 +esr0 = scalar, U16, 1780, "ohm", 1, 0 +; total TS size = 1784 +faultCode1 = scalar, U08, 1784, "", 1, 0 +heaterDuty1 = scalar, U08, 1785, "%", 1, 0 +pumpDuty1 = scalar, U08, 1786, "%", 1, 0 +tempC1 = scalar, U16, 1788, "C", 1, 0 +nernstVoltage1 = scalar, U16, 1790, "V", 0.001, 0 +esr1 = scalar, U16, 1792, "ohm", 1, 0 +; total TS size = 1796 +dcOutput0 = scalar, F32, 1796, "per", 1,0 +isEnabled0_int = scalar, U08, 1800, "per", 1,0 +isEnabled0 = bits, U32, 1804, [0:0] +; total TS size = 1808 +value0 = scalar, U16, 1808, "value", 1,0 +value1 = scalar, U16, 1810, "value", 1,0 +errorRate = scalar, F32, 1812, "ratio", 1,0 +; total TS size = 1816 +vvtTarget = scalar, U16, 1816, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1818, "%", 0.5, 0 +; total TS size = 1820 +lambdaCurrentlyGood = bits, U32, 1820, [0:0] +lambdaMonitorCut = bits, U32, 1820, [1:1] +lambdaTimeSinceGood = scalar, U16, 1824, "sec", 0.01, 0 +; total TS size = 1828 diff --git a/firmware/console/binary/generated/sensors.java b/firmware/console/binary/generated/sensors.java index 1ce7f537f5..021987e870 100644 --- a/firmware/console/binary/generated/sensors.java +++ b/firmware/console/binary/generated/sensors.java @@ -417,230 +417,250 @@ m_knockThreshold("Knock: Threshold", SensorCategory.SENSOR_INPUTS, FieldType.INT m_knockCount("Knock: Count", SensorCategory.SENSOR_INPUTS, FieldType.INT, 964, 1.0, 0.0, 0.0, ""), m_maximumRetard("Knock: Max retard", SensorCategory.SENSOR_INPUTS, FieldType.INT, 968, 1.0, -1.0, -1.0, ""), m_knockFrequency("knock: frequency", SensorCategory.SENSOR_INPUTS, FieldType.INT, 972, 1.0, 0.0, 0.0, "Hz"), -tcuCurrentGear("TCU: Current Gear", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 976, 1.0, -1.0, 10.0, "gear"), -alignmentFill_at_1("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 977, 1.0, -20.0, 100.0, "units"), -tcRatio("TCU: Torque Converter Ratio", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 978, 0.01, 0.0, 0.0, "value"), -lastShiftTime("lastShiftTime", SensorCategory.SENSOR_INPUTS, FieldType.INT, 980, 1.0, -1.0, -1.0, ""), -tcu_currentRange("TCU: Current Range", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 984, 1.0, 0.0, 0.0, ""), -pressureControlDuty("TCU: EPC Duty", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 985, 1.0, 0.0, 100.0, "%"), -torqueConverterDuty("TCU: TC Duty", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 986, 1.0, 0.0, 100.0, "%"), -alignmentFill_at_11("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 987, 1.0, -20.0, 100.0, "units"), -throttleModelCrossoverAngle("Air: Throttle crossover pos", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 996, 0.01, 0.0, 100.0, "%"), -alignmentFill_at_6("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 998, 1.0, -20.0, 100.0, "units"), -throttleEstimatedFlow("Air: Throttle flow estimate", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1000, 1.0, 0.0, 5.0, "g/s"), -m_requested_pump("GDI: HPFP duration\nComputed requested pump duration in degrees (not including deadtime)", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1004, 1.0, -1.0, -1.0, ""), -fuel_requested_percent("GDI: requested_percent", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1008, 1.0, -1.0, -1.0, ""), -fuel_requested_percent_pi("GDI: percent_pi", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1012, 1.0, -1.0, -1.0, ""), -m_pressureTarget_kPa("GDI: target pressure", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1020, 1.0, -1.0, -1.0, ""), -nextLobe("GDI: nextLobe", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1024, 1.0, -1.0, -1.0, ""), -di_nextStart("GDI: next start", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1028, 1.0, 0.0, 100.0, "v"), -m_deadtime("Fuel: injector lag", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1032, 1.0, 0.0, 0.0, "ms"), -pressureDelta("Fuel: Injector pressure delta", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1036, 1.0, -1000.0, 1000.0, "kPa"), -pressureRatio("Fuel: Injector pressure ratio", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1040, 1.0, 0.0, 100.0, ""), -retardThresholdRpm("retardThresholdRpm", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1044, 1.0, -1.0, -1.0, ""), -fuelALSCorrection("fuelALSCorrection", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1060, 1.0, -1.0, -1.0, ""), -timingALSCorrection("timingALSCorrection", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1064, 0.01, -20.0, 20.0, "deg"), -timingALSSkip("timingALSSkip", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1066, 0.01, 0.0, 50.0, "deg"), -luaTargetAdd("Boost: Lua target add", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1072, 0.5, -100.0, 100.0, "v"), -boostOutput("Boost: Output", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1074, 0.01, -100.0, 100.0, "percent"), -luaTargetMult("Boost: Lua target mult", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1076, 1.0, -100.0, 100.0, "v"), -openLoopPart("Boost: Open loop", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1080, 1.0, -100.0, 100.0, "v"), -luaOpenLoopAdd("Boost: Lua open loop add", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1084, 1.0, -100.0, 100.0, "v"), -boostControllerClosedLoopPart("Boost: Closed loop", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1088, 0.5, -50.0, 50.0, "%"), -alignmentFill_at_21("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1089, 1.0, -20.0, 100.0, "units"), -boostControlTarget("Boost: Target", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1090, 0.03333333333333333, 0.0, 300.0, "kPa"), -acButtonState("AC switch", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1092, 1.0, -1.0, -1.0, ""), -alignmentFill_at_1("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1093, 1.0, -20.0, 100.0, "units"), -radiatorFanStatus("radiatorFanStatus", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1104, 1.0, -1.0, -1.0, ""), -alignmentFill_at_5("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1105, 1.0, -20.0, 100.0, "units"), -radiatorFanStatus("radiatorFanStatus", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1104, 1.0, -1.0, -1.0, ""), -alignmentFill_at_5("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1105, 1.0, -20.0, 100.0, "units"), -lua("lua", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1124, 1.0, -1.0, -1.0, ""), -sd("sd", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1136, 1.0, -1.0, -1.0, ""), -crankingFuel("crankingFuel", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1144, 1.0, -1.0, -1.0, ""), -baroCorrection("Fuel: Barometric pressure mult", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1160, 1.0, -1.0, -1.0, ""), -hellenBoardId("Detected Board ID", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1164, 1.0, 0.0, 3000.0, "id"), -clutchUpState("Clutch: up", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1166, 1.0, -1.0, -1.0, ""), -clutchDownState("Clutch: down", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1167, 1.0, -1.0, -1.0, ""), -brakePedalState("Brake switch", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1168, 1.0, -1.0, -1.0, ""), -startStopState("startStopState", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1169, 1.0, -1.0, -1.0, ""), -smartChipState("smartChipState", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1170, 1.0, -1.0, -1.0, ""), -smartChipRestartCounter("smartChipRestartCounter", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1171, 1.0, -1.0, -1.0, ""), -smartChipAliveCounter("smartChipAliveCounter", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1172, 1.0, -1.0, -1.0, ""), -alignmentFill_at_49("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1173, 1.0, -20.0, 100.0, "units"), -startStopStateToggleCounter("startStopStateToggleCounter", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1180, 1.0, -1.0, -1.0, ""), -luaSoftSparkSkip("luaSoftSparkSkip", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1184, 1.0, -1.0, -1.0, ""), -luaHardSparkSkip("luaHardSparkSkip", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1188, 1.0, -1.0, -1.0, ""), -tractionControlSparkSkip("tractionControlSparkSkip", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1192, 1.0, -1.0, -1.0, ""), -desiredRpmLimit("User-defined RPM hard limit", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1196, 1.0, 0.0, 30000.0, "rpm"), -alignmentFill_at_74("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1198, 1.0, -20.0, 100.0, "units"), -fuelInjectionCounter("Fuel: Injection counter", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1200, 1.0, -1.0, -1.0, ""), -globalSparkCounter("Ign: Spark counter", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1204, 1.0, -1.0, -1.0, ""), -fuelingLoad("Fuel: Load", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1208, 1.0, -1.0, -1.0, ""), -ignitionLoad("Ignition: load", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1212, 1.0, -1.0, -1.0, ""), -veTableYAxis("veTableYAxis", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1216, 0.01, 0.0, 0.0, "%"), -overDwellCounter("overDwellCounter", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1218, 1.0, -1.0, -1.0, ""), -overDwellNotScheduledCounter("overDwellNotScheduledCounter", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1219, 1.0, -1.0, -1.0, ""), -sparkOutOfOrderCounter("sparkOutOfOrderCounter", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1220, 1.0, -1.0, -1.0, ""), -alignmentFill_at_97("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1221, 1.0, -20.0, 100.0, "units"), -tpsFrom("Fuel: TPS AE from", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1224, 1.0, -1.0, -1.0, ""), -tpsTo("Fuel: TPS AE to", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1228, 1.0, -1.0, -1.0, ""), -deltaTps("Fuel: TPS AE change", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1232, 1.0, -1.0, -1.0, ""), -extraFuel("extraFuel", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1236, 1.0, -1.0, -1.0, ""), -valueFromTable("valueFromTable", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1240, 1.0, -1.0, -1.0, ""), -fractionalInjFuel("fractionalInjFuel", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1248, 1.0, -1.0, -1.0, ""), -accumulatedValue("accumulatedValue", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1252, 1.0, -1.0, -1.0, ""), -maxExtraPerCycle("maxExtraPerCycle", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1256, 1.0, -1.0, -1.0, ""), -maxExtraPerPeriod("maxExtraPerPeriod", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1260, 1.0, -1.0, -1.0, ""), -maxInjectedPerPeriod("maxInjectedPerPeriod", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1264, 1.0, -1.0, -1.0, ""), -cycleCnt("cycleCnt", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1268, 1.0, -1.0, -1.0, ""), -hwEventCounters1("Hardware events since boot 1", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1272, 1.0, -1.0, -1.0, ""), -hwEventCounters2("Hardware events since boot 2", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1276, 1.0, -1.0, -1.0, ""), -hwEventCounters3("Hardware events since boot 3", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1280, 1.0, -1.0, -1.0, ""), -hwEventCounters4("Hardware events since boot 4", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1284, 1.0, -1.0, -1.0, ""), -hwEventCounters5("Hardware events since boot 5", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1288, 1.0, -1.0, -1.0, ""), -hwEventCounters6("Hardware events since boot 6", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1292, 1.0, -1.0, -1.0, ""), -vvtCamCounter("Sync: total cams front counter", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1296, 1.0, -1.0, -1.0, ""), -mapVvt_MAP_AT_SPECIAL_POINT("InstantMAP at readout angle", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1300, 1.0, -300.0, 300.0, "kPa"), -mapVvt_MAP_AT_DIFF("InstantMAP delta @ readout angles", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1304, 1.0, -300.0, 300.0, "kPa"), -mapVvt_MAP_AT_CYCLE_COUNT("mapVvt_MAP_AT_CYCLE_COUNT", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1308, 1.0, -10.0, 100.0, "distance"), -mapVvt_sync_counter("Instant MAP sync counter", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1309, 1.0, 0.0, 10000.0, "counter"), -alignmentFill_at_38("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1310, 1.0, -20.0, 100.0, "units"), -currentEngineDecodedPhase("Sync: Engine Phase", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1312, 1.0, 0.0, 0.0, "deg"), -triggerToothAngleError("Sync: trigger angle error", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1316, 1.0, -30.0, 30.0, "deg"), -triggerIgnoredToothCount("triggerIgnoredToothCount", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1320, 1.0, -1.0, -1.0, ""), -alignmentFill_at_49("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1321, 1.0, -20.0, 100.0, "units"), -mapCamPrevToothAngle("Sync: MAP: prev angle", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1324, 1.0, -3000.0, 3000.0, "deg"), -triggerElapsedUs("triggerElapsedUs", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1332, 1.0, -1.0, -1.0, ""), -crankSynchronizationCounter("sync: Crank sync counter\nUsually matches crank revolutions", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1336, 1.0, -1.0, -1.0, ""), -vvtSyncGapRatio("vvtSyncGapRatio", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1340, 1.0, -10000.0, 10000.0, ""), -vvtToothDurations0("vvtToothDurations0", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1344, 1.0, 0.0, 100000.0, "us"), -vvtCurrentPosition("vvtCurrentPosition", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1348, 1.0, -10000.0, 10000.0, "sync: Primary Cam Position"), -vvtToothPosition1("vvtToothPosition 1", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1352, 1.0, -10000.0, 10000.0, "sync: Cam Tooth Position"), -vvtToothPosition2("vvtToothPosition 2", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1356, 1.0, -10000.0, 10000.0, "sync: Cam Tooth Position"), -vvtToothPosition3("vvtToothPosition 3", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1360, 1.0, -10000.0, 10000.0, "sync: Cam Tooth Position"), -vvtToothPosition4("vvtToothPosition 4", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1364, 1.0, -10000.0, 10000.0, "sync: Cam Tooth Position"), -triggerSyncGapRatio("Trigger Sync Latest Ratio", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1368, 1.0, -10000.0, 10000.0, ""), -triggerStateIndex("triggerStateIndex", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1372, 1.0, -1.0, -1.0, ""), -vvtStateIndex("vvtStateIndex", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1373, 1.0, -1.0, -1.0, ""), -alignmentFill_at_38("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1374, 1.0, -20.0, 100.0, "units"), -crankSynchronizationCounter("sync: Crank sync counter\nUsually matches crank revolutions", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1336, 1.0, -1.0, -1.0, ""), -vvtSyncGapRatio("vvtSyncGapRatio", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1340, 1.0, -10000.0, 10000.0, ""), -vvtToothDurations0("vvtToothDurations0", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1344, 1.0, 0.0, 100000.0, "us"), -vvtCurrentPosition("vvtCurrentPosition", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1348, 1.0, -10000.0, 10000.0, "sync: Primary Cam Position"), -vvtToothPosition1("vvtToothPosition 1", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1352, 1.0, -10000.0, 10000.0, "sync: Cam Tooth Position"), -vvtToothPosition2("vvtToothPosition 2", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1356, 1.0, -10000.0, 10000.0, "sync: Cam Tooth Position"), -vvtToothPosition3("vvtToothPosition 3", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1360, 1.0, -10000.0, 10000.0, "sync: Cam Tooth Position"), -vvtToothPosition4("vvtToothPosition 4", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1364, 1.0, -10000.0, 10000.0, "sync: Cam Tooth Position"), -triggerSyncGapRatio("Trigger Sync Latest Ratio", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1368, 1.0, -10000.0, 10000.0, ""), -triggerStateIndex("triggerStateIndex", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1372, 1.0, -1.0, -1.0, ""), -vvtStateIndex("vvtStateIndex", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1373, 1.0, -1.0, -1.0, ""), -alignmentFill_at_38("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1374, 1.0, -20.0, 100.0, "units"), -crankSynchronizationCounter("sync: Crank sync counter\nUsually matches crank revolutions", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1336, 1.0, -1.0, -1.0, ""), -vvtSyncGapRatio("vvtSyncGapRatio", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1340, 1.0, -10000.0, 10000.0, ""), -vvtToothDurations0("vvtToothDurations0", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1344, 1.0, 0.0, 100000.0, "us"), -vvtCurrentPosition("vvtCurrentPosition", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1348, 1.0, -10000.0, 10000.0, "sync: Primary Cam Position"), -vvtToothPosition1("vvtToothPosition 1", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1352, 1.0, -10000.0, 10000.0, "sync: Cam Tooth Position"), -vvtToothPosition2("vvtToothPosition 2", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1356, 1.0, -10000.0, 10000.0, "sync: Cam Tooth Position"), -vvtToothPosition3("vvtToothPosition 3", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1360, 1.0, -10000.0, 10000.0, "sync: Cam Tooth Position"), -vvtToothPosition4("vvtToothPosition 4", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1364, 1.0, -10000.0, 10000.0, "sync: Cam Tooth Position"), -triggerSyncGapRatio("Trigger Sync Latest Ratio", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1368, 1.0, -10000.0, 10000.0, ""), -triggerStateIndex("triggerStateIndex", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1372, 1.0, -1.0, -1.0, ""), -vvtStateIndex("vvtStateIndex", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1373, 1.0, -1.0, -1.0, ""), -alignmentFill_at_38("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1374, 1.0, -20.0, 100.0, "units"), -crankSynchronizationCounter("sync: Crank sync counter\nUsually matches crank revolutions", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1336, 1.0, -1.0, -1.0, ""), -vvtSyncGapRatio("vvtSyncGapRatio", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1340, 1.0, -10000.0, 10000.0, ""), -vvtToothDurations0("vvtToothDurations0", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1344, 1.0, 0.0, 100000.0, "us"), -vvtCurrentPosition("vvtCurrentPosition", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1348, 1.0, -10000.0, 10000.0, "sync: Primary Cam Position"), -vvtToothPosition1("vvtToothPosition 1", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1352, 1.0, -10000.0, 10000.0, "sync: Cam Tooth Position"), -vvtToothPosition2("vvtToothPosition 2", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1356, 1.0, -10000.0, 10000.0, "sync: Cam Tooth Position"), -vvtToothPosition3("vvtToothPosition 3", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1360, 1.0, -10000.0, 10000.0, "sync: Cam Tooth Position"), -vvtToothPosition4("vvtToothPosition 4", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1364, 1.0, -10000.0, 10000.0, "sync: Cam Tooth Position"), -triggerSyncGapRatio("Trigger Sync Latest Ratio", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1368, 1.0, -10000.0, 10000.0, ""), -triggerStateIndex("triggerStateIndex", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1372, 1.0, -1.0, -1.0, ""), -vvtStateIndex("vvtStateIndex", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1373, 1.0, -1.0, -1.0, ""), -alignmentFill_at_38("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1374, 1.0, -20.0, 100.0, "units"), -crankSynchronizationCounter("sync: Crank sync counter\nUsually matches crank revolutions", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1336, 1.0, -1.0, -1.0, ""), -vvtSyncGapRatio("vvtSyncGapRatio", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1340, 1.0, -10000.0, 10000.0, ""), -vvtToothDurations0("vvtToothDurations0", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1344, 1.0, 0.0, 100000.0, "us"), -vvtCurrentPosition("vvtCurrentPosition", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1348, 1.0, -10000.0, 10000.0, "sync: Primary Cam Position"), -vvtToothPosition1("vvtToothPosition 1", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1352, 1.0, -10000.0, 10000.0, "sync: Cam Tooth Position"), -vvtToothPosition2("vvtToothPosition 2", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1356, 1.0, -10000.0, 10000.0, "sync: Cam Tooth Position"), -vvtToothPosition3("vvtToothPosition 3", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1360, 1.0, -10000.0, 10000.0, "sync: Cam Tooth Position"), -vvtToothPosition4("vvtToothPosition 4", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1364, 1.0, -10000.0, 10000.0, "sync: Cam Tooth Position"), -triggerSyncGapRatio("Trigger Sync Latest Ratio", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1368, 1.0, -10000.0, 10000.0, ""), -triggerStateIndex("triggerStateIndex", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1372, 1.0, -1.0, -1.0, ""), -vvtStateIndex("vvtStateIndex", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1373, 1.0, -1.0, -1.0, ""), -alignmentFill_at_38("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1374, 1.0, -20.0, 100.0, "units"), -camResyncCounter("sync: Phase Re-Sync Counter", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1536, 1.0, -1.0, -1.0, ""), -alignmentFill_at_1("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1537, 1.0, -20.0, 100.0, "units"), -wallFuelCorrection("fuel wallwetting injection time\n correction to account for wall wetting effect for current cycle", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1544, 1.0, -1.0, -1.0, ""), -wallFuel("Fuel on the wall\nin ms of injector open time for each injector.", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1548, 1.0, -1.0, -1.0, ""), -idleState("idleState", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1552, 1.0, -1.0, -1.0, ""), -currentIdlePosition("Idle: Position", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1556, 1.0, 0.0, 0.0, "%"), -baseIdlePosition("idle: base value\ncurrent position without adjustments (iacByTpsTaper, afterCrankingIACtaperDuration)", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1560, 1.0, -1.0, -1.0, ""), -idleClosedLoop("Idle: Closed loop", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1564, 1.0, -1.0, -1.0, ""), -iacByTpsTaper("idle: iacByTpsTaper portion", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1568, 1.0, -1.0, -1.0, ""), -throttlePedalUpState("idle: throttlePedalUpState\ntrue in IDLE throttle pedal state, false if driver is touching the pedal\ntodo: better name for this field?", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1572, 1.0, -1.0, -1.0, ""), -idleTarget("Idle: Target RPM", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1580, 1.0, -1.0, -1.0, ""), -targetRpmByClt("Idle: Target RPM base", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1584, 1.0, -1.0, -1.0, ""), -targetRpmAc("Idle: Target A/C RPM", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1588, 1.0, -1.0, -1.0, ""), -iacByRpmTaper("idle: iacByRpmTaper portion", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1592, 1.0, -1.0, -1.0, ""), -luaAdd("idle: Lua Adder", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1596, 1.0, -1.0, -1.0, ""), -targetWithIdlePosition("ETB: target with idle", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1600, 1.0, 0.0, 10.0, "per"), -trim("ETB: trim", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1604, 1.0, -1.0, -1.0, ""), -luaAdjustment("ETB: luaAdjustment", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1608, 1.0, 0.0, 3.0, "per"), -m_wastegatePosition("DC: wastegatePosition", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1612, 1.0, 0.0, 3.0, "per"), -etbFeedForward("etbFeedForward", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1616, 1.0, -1.0, -1.0, ""), -etbIntegralError("etbIntegralError", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1620, 1.0, -10000.0, 10000.0, ""), -etbCurrentTarget("ETB: target for current pedal", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1624, 1.0, -10000.0, 10000.0, "%"), -etbCurrentAdjustedTarget("etbCurrentAdjustedTarget", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1628, 1.0, -10000.0, 10000.0, "%"), -etbTpsErrorCounter("ETB TPS error counter", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1636, 1.0, 0.0, 3.0, "count"), -etbPpsErrorCounter("ETB pedal error counter", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1638, 1.0, 0.0, 3.0, "count"), -etbErrorCode("etbErrorCode", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1640, 1.0, -1.0, -1.0, ""), -tcEtbDrop("ETB traction control", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1641, 1.0, 0.0, 100.0, "%"), -jamTimer("ETB jam timer", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1642, 0.01, 0.0, 100.0, "sec"), -adjustedEtbTarget("ETB with adjustments", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1644, 1.0, 0.0, 100.0, "%"), -alignmentFill_at_45("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1645, 1.0, -20.0, 100.0, "units"), -targetWithIdlePosition("ETB: target with idle", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1600, 1.0, 0.0, 10.0, "per"), -trim("ETB: trim", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1604, 1.0, -1.0, -1.0, ""), -luaAdjustment("ETB: luaAdjustment", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1608, 1.0, 0.0, 3.0, "per"), -m_wastegatePosition("DC: wastegatePosition", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1612, 1.0, 0.0, 3.0, "per"), -etbFeedForward("etbFeedForward", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1616, 1.0, -1.0, -1.0, ""), -etbIntegralError("etbIntegralError", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1620, 1.0, -10000.0, 10000.0, ""), -etbCurrentTarget("ETB: target for current pedal", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1624, 1.0, -10000.0, 10000.0, "%"), -etbCurrentAdjustedTarget("etbCurrentAdjustedTarget", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1628, 1.0, -10000.0, 10000.0, "%"), -etbTpsErrorCounter("ETB TPS error counter", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1636, 1.0, 0.0, 3.0, "count"), -etbPpsErrorCounter("ETB pedal error counter", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1638, 1.0, 0.0, 3.0, "count"), -etbErrorCode("etbErrorCode", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1640, 1.0, -1.0, -1.0, ""), -tcEtbDrop("ETB traction control", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1641, 1.0, 0.0, 100.0, "%"), -jamTimer("ETB jam timer", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1642, 0.01, 0.0, 100.0, "sec"), -adjustedEtbTarget("ETB with adjustments", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1644, 1.0, 0.0, 100.0, "%"), -alignmentFill_at_45("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1645, 1.0, -20.0, 100.0, "units"), -faultCode("WBO: Fault code", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1696, 1.0, -1.0, -1.0, ""), -heaterDuty("WBO: Heater duty", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1697, 1.0, 0.0, 100.0, "%"), -pumpDuty("WBO: Pump duty", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1698, 1.0, 0.0, 100.0, "%"), -alignmentFill_at_3("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1699, 1.0, -20.0, 100.0, "units"), -tempC("WBO: Temperature", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1700, 1.0, 500.0, 1000.0, "C"), -nernstVoltage("WBO: Nernst Voltage", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1702, 0.001, 0.0, 1.0, "V"), -esr("WBO: ESR", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1704, 1.0, 0.0, 10000.0, "ohm"), -alignmentFill_at_10("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1706, 1.0, -20.0, 100.0, "units"), -faultCode("WBO: Fault code", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1696, 1.0, -1.0, -1.0, ""), -heaterDuty("WBO: Heater duty", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1697, 1.0, 0.0, 100.0, "%"), -pumpDuty("WBO: Pump duty", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1698, 1.0, 0.0, 100.0, "%"), -alignmentFill_at_3("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1699, 1.0, -20.0, 100.0, "units"), -tempC("WBO: Temperature", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1700, 1.0, 500.0, 1000.0, "C"), -nernstVoltage("WBO: Nernst Voltage", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1702, 0.001, 0.0, 1.0, "V"), -esr("WBO: ESR", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1704, 1.0, 0.0, 10000.0, "ohm"), -alignmentFill_at_10("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1706, 1.0, -20.0, 100.0, "units"), -dcOutput0("DC: output0", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1720, 1.0, 0.0, 10.0, "per"), -isEnabled0_int("DC: en0", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1724, 1.0, 0.0, 10.0, "per"), -alignmentFill_at_5("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1725, 1.0, -20.0, 100.0, "units"), -value0("ETB: SENT value0", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1732, 1.0, 0.0, 3.0, "value"), -value1("ETB: SENT value1", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1734, 1.0, 0.0, 3.0, "value"), -errorRate("ETB: SENT error rate", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1736, 1.0, 0.0, 3.0, "ratio"), -vvtTarget("vvtTarget", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1740, 0.1, -90.0, 90.0, "deg"), -vvtOutput("vvtOutput", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1742, 0.5, 100.0, 1.0, "%"), -alignmentFill_at_3("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1743, 1.0, -20.0, 100.0, "units"), -lambdaTimeSinceGood("lambdaTimeSinceGood", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1748, 0.01, 0.0, 1.0, "sec"), -alignmentFill_at_6("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1750, 1.0, -20.0, 100.0, "units"), +m_knockSpectrum1("Knock: SpectrumData 1", SensorCategory.SENSOR_INPUTS, FieldType.INT, 976, 1.0, 0.0, 0.0, "compressed data"), +m_knockSpectrum2("Knock: SpectrumData 2", SensorCategory.SENSOR_INPUTS, FieldType.INT, 980, 1.0, 0.0, 0.0, "compressed data"), +m_knockSpectrum3("Knock: SpectrumData 3", SensorCategory.SENSOR_INPUTS, FieldType.INT, 984, 1.0, 0.0, 0.0, "compressed data"), +m_knockSpectrum4("Knock: SpectrumData 4", SensorCategory.SENSOR_INPUTS, FieldType.INT, 988, 1.0, 0.0, 0.0, "compressed data"), +m_knockSpectrum5("Knock: SpectrumData 5", SensorCategory.SENSOR_INPUTS, FieldType.INT, 992, 1.0, 0.0, 0.0, "compressed data"), +m_knockSpectrum6("Knock: SpectrumData 6", SensorCategory.SENSOR_INPUTS, FieldType.INT, 996, 1.0, 0.0, 0.0, "compressed data"), +m_knockSpectrum7("Knock: SpectrumData 7", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1000, 1.0, 0.0, 0.0, "compressed data"), +m_knockSpectrum8("Knock: SpectrumData 8", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1004, 1.0, 0.0, 0.0, "compressed data"), +m_knockSpectrum9("Knock: SpectrumData 9", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1008, 1.0, 0.0, 0.0, "compressed data"), +m_knockSpectrum10("Knock: SpectrumData 10", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1012, 1.0, 0.0, 0.0, "compressed data"), +m_knockSpectrum11("Knock: SpectrumData 11", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1016, 1.0, 0.0, 0.0, "compressed data"), +m_knockSpectrum12("Knock: SpectrumData 12", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1020, 1.0, 0.0, 0.0, "compressed data"), +m_knockSpectrum13("Knock: SpectrumData 13", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1024, 1.0, 0.0, 0.0, "compressed data"), +m_knockSpectrum14("Knock: SpectrumData 14", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1028, 1.0, 0.0, 0.0, "compressed data"), +m_knockSpectrum15("Knock: SpectrumData 15", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1032, 1.0, 0.0, 0.0, "compressed data"), +m_knockSpectrum16("Knock: SpectrumData 16", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1036, 1.0, 0.0, 0.0, "compressed data"), +m_knockSpectrumChannelCyl("Knock: ChannelAndCylNumber", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1040, 1.0, 0.0, 0.0, "compressed N + N"), +m_knockFrequencyStart("Knock: Start Freq", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1042, 1.0, 0.0, 0.0, "Hz"), +m_knockFrequencyStep("Knock: Step Freq", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1044, 1.0, 0.0, 0.0, "Hz"), +m_knockFuelTrimMultiplier("Knock: Fuel trim when knock", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1048, 1.0, 0.0, 0.0, "multiplier"), +tcuCurrentGear("TCU: Current Gear", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1052, 1.0, -1.0, 10.0, "gear"), +alignmentFill_at_1("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1053, 1.0, -20.0, 100.0, "units"), +tcRatio("TCU: Torque Converter Ratio", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1054, 0.01, 0.0, 0.0, "value"), +lastShiftTime("lastShiftTime", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1056, 1.0, -1.0, -1.0, ""), +tcu_currentRange("TCU: Current Range", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1060, 1.0, 0.0, 0.0, ""), +pressureControlDuty("TCU: EPC Duty", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1061, 1.0, 0.0, 100.0, "%"), +torqueConverterDuty("TCU: TC Duty", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1062, 1.0, 0.0, 100.0, "%"), +alignmentFill_at_11("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1063, 1.0, -20.0, 100.0, "units"), +throttleModelCrossoverAngle("Air: Throttle crossover pos", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1072, 0.01, 0.0, 100.0, "%"), +alignmentFill_at_6("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1074, 1.0, -20.0, 100.0, "units"), +throttleEstimatedFlow("Air: Throttle flow estimate", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1076, 1.0, 0.0, 5.0, "g/s"), +m_requested_pump("GDI: HPFP duration\nComputed requested pump duration in degrees (not including deadtime)", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1080, 1.0, -1.0, -1.0, ""), +fuel_requested_percent("GDI: requested_percent", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1084, 1.0, -1.0, -1.0, ""), +fuel_requested_percent_pi("GDI: percent_pi", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1088, 1.0, -1.0, -1.0, ""), +m_pressureTarget_kPa("GDI: target pressure", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1096, 1.0, -1.0, -1.0, ""), +nextLobe("GDI: nextLobe", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1100, 1.0, -1.0, -1.0, ""), +di_nextStart("GDI: next start", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1104, 1.0, 0.0, 100.0, "v"), +m_deadtime("Fuel: injector lag", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1108, 1.0, 0.0, 0.0, "ms"), +pressureDelta("Fuel: Injector pressure delta", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1112, 1.0, -1000.0, 1000.0, "kPa"), +pressureRatio("Fuel: Injector pressure ratio", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1116, 1.0, 0.0, 100.0, ""), +retardThresholdRpm("retardThresholdRpm", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1120, 1.0, -1.0, -1.0, ""), +fuelALSCorrection("fuelALSCorrection", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1136, 1.0, -1.0, -1.0, ""), +timingALSCorrection("timingALSCorrection", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1140, 0.01, -20.0, 20.0, "deg"), +timingALSSkip("timingALSSkip", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1142, 0.01, 0.0, 50.0, "deg"), +luaTargetAdd("Boost: Lua target add", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1148, 0.5, -100.0, 100.0, "v"), +boostOutput("Boost: Output", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1150, 0.01, -100.0, 100.0, "percent"), +luaTargetMult("Boost: Lua target mult", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1152, 1.0, -100.0, 100.0, "v"), +openLoopPart("Boost: Open loop", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1156, 1.0, -100.0, 100.0, "v"), +luaOpenLoopAdd("Boost: Lua open loop add", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1160, 1.0, -100.0, 100.0, "v"), +boostControllerClosedLoopPart("Boost: Closed loop", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1164, 0.5, -50.0, 50.0, "%"), +alignmentFill_at_21("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1165, 1.0, -20.0, 100.0, "units"), +boostControlTarget("Boost: Target", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1166, 0.03333333333333333, 0.0, 300.0, "kPa"), +acButtonState("AC switch", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1168, 1.0, -1.0, -1.0, ""), +alignmentFill_at_1("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1169, 1.0, -20.0, 100.0, "units"), +radiatorFanStatus("radiatorFanStatus", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1180, 1.0, -1.0, -1.0, ""), +alignmentFill_at_5("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1181, 1.0, -20.0, 100.0, "units"), +radiatorFanStatus("radiatorFanStatus", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1180, 1.0, -1.0, -1.0, ""), +alignmentFill_at_5("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1181, 1.0, -20.0, 100.0, "units"), +lua("lua", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1200, 1.0, -1.0, -1.0, ""), +sd("sd", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1212, 1.0, -1.0, -1.0, ""), +crankingFuel("crankingFuel", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1220, 1.0, -1.0, -1.0, ""), +baroCorrection("Fuel: Barometric pressure mult", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1236, 1.0, -1.0, -1.0, ""), +hellenBoardId("Detected Board ID", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1240, 1.0, 0.0, 3000.0, "id"), +clutchUpState("Clutch: up", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1242, 1.0, -1.0, -1.0, ""), +clutchDownState("Clutch: down", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1243, 1.0, -1.0, -1.0, ""), +brakePedalState("Brake switch", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1244, 1.0, -1.0, -1.0, ""), +startStopState("startStopState", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1245, 1.0, -1.0, -1.0, ""), +smartChipState("smartChipState", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1246, 1.0, -1.0, -1.0, ""), +smartChipRestartCounter("smartChipRestartCounter", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1247, 1.0, -1.0, -1.0, ""), +smartChipAliveCounter("smartChipAliveCounter", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1248, 1.0, -1.0, -1.0, ""), +alignmentFill_at_49("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1249, 1.0, -20.0, 100.0, "units"), +startStopStateToggleCounter("startStopStateToggleCounter", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1256, 1.0, -1.0, -1.0, ""), +luaSoftSparkSkip("luaSoftSparkSkip", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1260, 1.0, -1.0, -1.0, ""), +luaHardSparkSkip("luaHardSparkSkip", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1264, 1.0, -1.0, -1.0, ""), +tractionControlSparkSkip("tractionControlSparkSkip", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1268, 1.0, -1.0, -1.0, ""), +desiredRpmLimit("User-defined RPM hard limit", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1272, 1.0, 0.0, 30000.0, "rpm"), +alignmentFill_at_74("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1274, 1.0, -20.0, 100.0, "units"), +fuelInjectionCounter("Fuel: Injection counter", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1276, 1.0, -1.0, -1.0, ""), +globalSparkCounter("Ign: Spark counter", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1280, 1.0, -1.0, -1.0, ""), +fuelingLoad("Fuel: Load", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1284, 1.0, -1.0, -1.0, ""), +ignitionLoad("Ignition: load", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1288, 1.0, -1.0, -1.0, ""), +veTableYAxis("veTableYAxis", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1292, 0.01, 0.0, 0.0, "%"), +overDwellCounter("overDwellCounter", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1294, 1.0, -1.0, -1.0, ""), +overDwellNotScheduledCounter("overDwellNotScheduledCounter", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1295, 1.0, -1.0, -1.0, ""), +sparkOutOfOrderCounter("sparkOutOfOrderCounter", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1296, 1.0, -1.0, -1.0, ""), +alignmentFill_at_97("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1297, 1.0, -20.0, 100.0, "units"), +tpsFrom("Fuel: TPS AE from", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1300, 1.0, -1.0, -1.0, ""), +tpsTo("Fuel: TPS AE to", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1304, 1.0, -1.0, -1.0, ""), +deltaTps("Fuel: TPS AE change", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1308, 1.0, -1.0, -1.0, ""), +extraFuel("extraFuel", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1312, 1.0, -1.0, -1.0, ""), +valueFromTable("valueFromTable", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1316, 1.0, -1.0, -1.0, ""), +fractionalInjFuel("fractionalInjFuel", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1324, 1.0, -1.0, -1.0, ""), +accumulatedValue("accumulatedValue", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1328, 1.0, -1.0, -1.0, ""), +maxExtraPerCycle("maxExtraPerCycle", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1332, 1.0, -1.0, -1.0, ""), +maxExtraPerPeriod("maxExtraPerPeriod", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1336, 1.0, -1.0, -1.0, ""), +maxInjectedPerPeriod("maxInjectedPerPeriod", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1340, 1.0, -1.0, -1.0, ""), +cycleCnt("cycleCnt", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1344, 1.0, -1.0, -1.0, ""), +hwEventCounters1("Hardware events since boot 1", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1348, 1.0, -1.0, -1.0, ""), +hwEventCounters2("Hardware events since boot 2", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1352, 1.0, -1.0, -1.0, ""), +hwEventCounters3("Hardware events since boot 3", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1356, 1.0, -1.0, -1.0, ""), +hwEventCounters4("Hardware events since boot 4", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1360, 1.0, -1.0, -1.0, ""), +hwEventCounters5("Hardware events since boot 5", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1364, 1.0, -1.0, -1.0, ""), +hwEventCounters6("Hardware events since boot 6", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1368, 1.0, -1.0, -1.0, ""), +vvtCamCounter("Sync: total cams front counter", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1372, 1.0, -1.0, -1.0, ""), +mapVvt_MAP_AT_SPECIAL_POINT("InstantMAP at readout angle", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1376, 1.0, -300.0, 300.0, "kPa"), +mapVvt_MAP_AT_DIFF("InstantMAP delta @ readout angles", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1380, 1.0, -300.0, 300.0, "kPa"), +mapVvt_MAP_AT_CYCLE_COUNT("mapVvt_MAP_AT_CYCLE_COUNT", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1384, 1.0, -10.0, 100.0, "distance"), +mapVvt_sync_counter("Instant MAP sync counter", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1385, 1.0, 0.0, 10000.0, "counter"), +alignmentFill_at_38("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1386, 1.0, -20.0, 100.0, "units"), +currentEngineDecodedPhase("Sync: Engine Phase", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1388, 1.0, 0.0, 0.0, "deg"), +triggerToothAngleError("Sync: trigger angle error", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1392, 1.0, -30.0, 30.0, "deg"), +triggerIgnoredToothCount("triggerIgnoredToothCount", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1396, 1.0, -1.0, -1.0, ""), +alignmentFill_at_49("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1397, 1.0, -20.0, 100.0, "units"), +mapCamPrevToothAngle("Sync: MAP: prev angle", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1400, 1.0, -3000.0, 3000.0, "deg"), +triggerElapsedUs("triggerElapsedUs", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1408, 1.0, -1.0, -1.0, ""), +crankSynchronizationCounter("sync: Crank sync counter\nUsually matches crank revolutions", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1412, 1.0, -1.0, -1.0, ""), +vvtSyncGapRatio("vvtSyncGapRatio", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1416, 1.0, -10000.0, 10000.0, ""), +vvtToothDurations0("vvtToothDurations0", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1420, 1.0, 0.0, 100000.0, "us"), +vvtCurrentPosition("vvtCurrentPosition", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1424, 1.0, -10000.0, 10000.0, "sync: Primary Cam Position"), +vvtToothPosition1("vvtToothPosition 1", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1428, 1.0, -10000.0, 10000.0, "sync: Cam Tooth Position"), +vvtToothPosition2("vvtToothPosition 2", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1432, 1.0, -10000.0, 10000.0, "sync: Cam Tooth Position"), +vvtToothPosition3("vvtToothPosition 3", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1436, 1.0, -10000.0, 10000.0, "sync: Cam Tooth Position"), +vvtToothPosition4("vvtToothPosition 4", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1440, 1.0, -10000.0, 10000.0, "sync: Cam Tooth Position"), +triggerSyncGapRatio("Trigger Sync Latest Ratio", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1444, 1.0, -10000.0, 10000.0, ""), +triggerStateIndex("triggerStateIndex", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1448, 1.0, -1.0, -1.0, ""), +vvtStateIndex("vvtStateIndex", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1449, 1.0, -1.0, -1.0, ""), +alignmentFill_at_38("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1450, 1.0, -20.0, 100.0, "units"), +crankSynchronizationCounter("sync: Crank sync counter\nUsually matches crank revolutions", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1412, 1.0, -1.0, -1.0, ""), +vvtSyncGapRatio("vvtSyncGapRatio", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1416, 1.0, -10000.0, 10000.0, ""), +vvtToothDurations0("vvtToothDurations0", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1420, 1.0, 0.0, 100000.0, "us"), +vvtCurrentPosition("vvtCurrentPosition", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1424, 1.0, -10000.0, 10000.0, "sync: Primary Cam Position"), +vvtToothPosition1("vvtToothPosition 1", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1428, 1.0, -10000.0, 10000.0, "sync: Cam Tooth Position"), +vvtToothPosition2("vvtToothPosition 2", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1432, 1.0, -10000.0, 10000.0, "sync: Cam Tooth Position"), +vvtToothPosition3("vvtToothPosition 3", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1436, 1.0, -10000.0, 10000.0, "sync: Cam Tooth Position"), +vvtToothPosition4("vvtToothPosition 4", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1440, 1.0, -10000.0, 10000.0, "sync: Cam Tooth Position"), +triggerSyncGapRatio("Trigger Sync Latest Ratio", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1444, 1.0, -10000.0, 10000.0, ""), +triggerStateIndex("triggerStateIndex", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1448, 1.0, -1.0, -1.0, ""), +vvtStateIndex("vvtStateIndex", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1449, 1.0, -1.0, -1.0, ""), +alignmentFill_at_38("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1450, 1.0, -20.0, 100.0, "units"), +crankSynchronizationCounter("sync: Crank sync counter\nUsually matches crank revolutions", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1412, 1.0, -1.0, -1.0, ""), +vvtSyncGapRatio("vvtSyncGapRatio", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1416, 1.0, -10000.0, 10000.0, ""), +vvtToothDurations0("vvtToothDurations0", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1420, 1.0, 0.0, 100000.0, "us"), +vvtCurrentPosition("vvtCurrentPosition", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1424, 1.0, -10000.0, 10000.0, "sync: Primary Cam Position"), +vvtToothPosition1("vvtToothPosition 1", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1428, 1.0, -10000.0, 10000.0, "sync: Cam Tooth Position"), +vvtToothPosition2("vvtToothPosition 2", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1432, 1.0, -10000.0, 10000.0, "sync: Cam Tooth Position"), +vvtToothPosition3("vvtToothPosition 3", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1436, 1.0, -10000.0, 10000.0, "sync: Cam Tooth Position"), +vvtToothPosition4("vvtToothPosition 4", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1440, 1.0, -10000.0, 10000.0, "sync: Cam Tooth Position"), +triggerSyncGapRatio("Trigger Sync Latest Ratio", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1444, 1.0, -10000.0, 10000.0, ""), +triggerStateIndex("triggerStateIndex", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1448, 1.0, -1.0, -1.0, ""), +vvtStateIndex("vvtStateIndex", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1449, 1.0, -1.0, -1.0, ""), +alignmentFill_at_38("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1450, 1.0, -20.0, 100.0, "units"), +crankSynchronizationCounter("sync: Crank sync counter\nUsually matches crank revolutions", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1412, 1.0, -1.0, -1.0, ""), +vvtSyncGapRatio("vvtSyncGapRatio", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1416, 1.0, -10000.0, 10000.0, ""), +vvtToothDurations0("vvtToothDurations0", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1420, 1.0, 0.0, 100000.0, "us"), +vvtCurrentPosition("vvtCurrentPosition", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1424, 1.0, -10000.0, 10000.0, "sync: Primary Cam Position"), +vvtToothPosition1("vvtToothPosition 1", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1428, 1.0, -10000.0, 10000.0, "sync: Cam Tooth Position"), +vvtToothPosition2("vvtToothPosition 2", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1432, 1.0, -10000.0, 10000.0, "sync: Cam Tooth Position"), +vvtToothPosition3("vvtToothPosition 3", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1436, 1.0, -10000.0, 10000.0, "sync: Cam Tooth Position"), +vvtToothPosition4("vvtToothPosition 4", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1440, 1.0, -10000.0, 10000.0, "sync: Cam Tooth Position"), +triggerSyncGapRatio("Trigger Sync Latest Ratio", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1444, 1.0, -10000.0, 10000.0, ""), +triggerStateIndex("triggerStateIndex", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1448, 1.0, -1.0, -1.0, ""), +vvtStateIndex("vvtStateIndex", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1449, 1.0, -1.0, -1.0, ""), +alignmentFill_at_38("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1450, 1.0, -20.0, 100.0, "units"), +crankSynchronizationCounter("sync: Crank sync counter\nUsually matches crank revolutions", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1412, 1.0, -1.0, -1.0, ""), +vvtSyncGapRatio("vvtSyncGapRatio", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1416, 1.0, -10000.0, 10000.0, ""), +vvtToothDurations0("vvtToothDurations0", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1420, 1.0, 0.0, 100000.0, "us"), +vvtCurrentPosition("vvtCurrentPosition", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1424, 1.0, -10000.0, 10000.0, "sync: Primary Cam Position"), +vvtToothPosition1("vvtToothPosition 1", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1428, 1.0, -10000.0, 10000.0, "sync: Cam Tooth Position"), +vvtToothPosition2("vvtToothPosition 2", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1432, 1.0, -10000.0, 10000.0, "sync: Cam Tooth Position"), +vvtToothPosition3("vvtToothPosition 3", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1436, 1.0, -10000.0, 10000.0, "sync: Cam Tooth Position"), +vvtToothPosition4("vvtToothPosition 4", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1440, 1.0, -10000.0, 10000.0, "sync: Cam Tooth Position"), +triggerSyncGapRatio("Trigger Sync Latest Ratio", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1444, 1.0, -10000.0, 10000.0, ""), +triggerStateIndex("triggerStateIndex", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1448, 1.0, -1.0, -1.0, ""), +vvtStateIndex("vvtStateIndex", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1449, 1.0, -1.0, -1.0, ""), +alignmentFill_at_38("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1450, 1.0, -20.0, 100.0, "units"), +camResyncCounter("sync: Phase Re-Sync Counter", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1612, 1.0, -1.0, -1.0, ""), +alignmentFill_at_1("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1613, 1.0, -20.0, 100.0, "units"), +wallFuelCorrection("fuel wallwetting injection time\n correction to account for wall wetting effect for current cycle", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1620, 1.0, -1.0, -1.0, ""), +wallFuel("Fuel on the wall\nin ms of injector open time for each injector.", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1624, 1.0, -1.0, -1.0, ""), +idleState("idleState", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1628, 1.0, -1.0, -1.0, ""), +currentIdlePosition("Idle: Position", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1632, 1.0, 0.0, 0.0, "%"), +baseIdlePosition("idle: base value\ncurrent position without adjustments (iacByTpsTaper, afterCrankingIACtaperDuration)", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1636, 1.0, -1.0, -1.0, ""), +idleClosedLoop("Idle: Closed loop", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1640, 1.0, -1.0, -1.0, ""), +iacByTpsTaper("idle: iacByTpsTaper portion", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1644, 1.0, -1.0, -1.0, ""), +throttlePedalUpState("idle: throttlePedalUpState\ntrue in IDLE throttle pedal state, false if driver is touching the pedal\ntodo: better name for this field?", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1648, 1.0, -1.0, -1.0, ""), +idleTarget("Idle: Target RPM", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1656, 1.0, -1.0, -1.0, ""), +targetRpmByClt("Idle: Target RPM base", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1660, 1.0, -1.0, -1.0, ""), +targetRpmAc("Idle: Target A/C RPM", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1664, 1.0, -1.0, -1.0, ""), +iacByRpmTaper("idle: iacByRpmTaper portion", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1668, 1.0, -1.0, -1.0, ""), +luaAdd("idle: Lua Adder", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1672, 1.0, -1.0, -1.0, ""), +targetWithIdlePosition("ETB: target with idle", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1676, 1.0, 0.0, 10.0, "per"), +trim("ETB: trim", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1680, 1.0, -1.0, -1.0, ""), +luaAdjustment("ETB: luaAdjustment", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1684, 1.0, 0.0, 3.0, "per"), +m_wastegatePosition("DC: wastegatePosition", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1688, 1.0, 0.0, 3.0, "per"), +etbFeedForward("etbFeedForward", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1692, 1.0, -1.0, -1.0, ""), +etbIntegralError("etbIntegralError", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1696, 1.0, -10000.0, 10000.0, ""), +etbCurrentTarget("ETB: target for current pedal", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1700, 1.0, -10000.0, 10000.0, "%"), +etbCurrentAdjustedTarget("etbCurrentAdjustedTarget", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1704, 1.0, -10000.0, 10000.0, "%"), +etbTpsErrorCounter("ETB TPS error counter", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1712, 1.0, 0.0, 3.0, "count"), +etbPpsErrorCounter("ETB pedal error counter", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1714, 1.0, 0.0, 3.0, "count"), +etbErrorCode("etbErrorCode", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1716, 1.0, -1.0, -1.0, ""), +tcEtbDrop("ETB traction control", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1717, 1.0, 0.0, 100.0, "%"), +jamTimer("ETB jam timer", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1718, 0.01, 0.0, 100.0, "sec"), +adjustedEtbTarget("ETB with adjustments", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1720, 1.0, 0.0, 100.0, "%"), +alignmentFill_at_45("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1721, 1.0, -20.0, 100.0, "units"), +targetWithIdlePosition("ETB: target with idle", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1676, 1.0, 0.0, 10.0, "per"), +trim("ETB: trim", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1680, 1.0, -1.0, -1.0, ""), +luaAdjustment("ETB: luaAdjustment", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1684, 1.0, 0.0, 3.0, "per"), +m_wastegatePosition("DC: wastegatePosition", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1688, 1.0, 0.0, 3.0, "per"), +etbFeedForward("etbFeedForward", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1692, 1.0, -1.0, -1.0, ""), +etbIntegralError("etbIntegralError", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1696, 1.0, -10000.0, 10000.0, ""), +etbCurrentTarget("ETB: target for current pedal", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1700, 1.0, -10000.0, 10000.0, "%"), +etbCurrentAdjustedTarget("etbCurrentAdjustedTarget", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1704, 1.0, -10000.0, 10000.0, "%"), +etbTpsErrorCounter("ETB TPS error counter", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1712, 1.0, 0.0, 3.0, "count"), +etbPpsErrorCounter("ETB pedal error counter", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1714, 1.0, 0.0, 3.0, "count"), +etbErrorCode("etbErrorCode", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1716, 1.0, -1.0, -1.0, ""), +tcEtbDrop("ETB traction control", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1717, 1.0, 0.0, 100.0, "%"), +jamTimer("ETB jam timer", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1718, 0.01, 0.0, 100.0, "sec"), +adjustedEtbTarget("ETB with adjustments", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1720, 1.0, 0.0, 100.0, "%"), +alignmentFill_at_45("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1721, 1.0, -20.0, 100.0, "units"), +faultCode("WBO: Fault code", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1772, 1.0, -1.0, -1.0, ""), +heaterDuty("WBO: Heater duty", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1773, 1.0, 0.0, 100.0, "%"), +pumpDuty("WBO: Pump duty", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1774, 1.0, 0.0, 100.0, "%"), +alignmentFill_at_3("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1775, 1.0, -20.0, 100.0, "units"), +tempC("WBO: Temperature", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1776, 1.0, 500.0, 1000.0, "C"), +nernstVoltage("WBO: Nernst Voltage", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1778, 0.001, 0.0, 1.0, "V"), +esr("WBO: ESR", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1780, 1.0, 0.0, 10000.0, "ohm"), +alignmentFill_at_10("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1782, 1.0, -20.0, 100.0, "units"), +faultCode("WBO: Fault code", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1772, 1.0, -1.0, -1.0, ""), +heaterDuty("WBO: Heater duty", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1773, 1.0, 0.0, 100.0, "%"), +pumpDuty("WBO: Pump duty", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1774, 1.0, 0.0, 100.0, "%"), +alignmentFill_at_3("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1775, 1.0, -20.0, 100.0, "units"), +tempC("WBO: Temperature", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1776, 1.0, 500.0, 1000.0, "C"), +nernstVoltage("WBO: Nernst Voltage", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1778, 0.001, 0.0, 1.0, "V"), +esr("WBO: ESR", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1780, 1.0, 0.0, 10000.0, "ohm"), +alignmentFill_at_10("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1782, 1.0, -20.0, 100.0, "units"), +dcOutput0("DC: output0", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1796, 1.0, 0.0, 10.0, "per"), +isEnabled0_int("DC: en0", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1800, 1.0, 0.0, 10.0, "per"), +alignmentFill_at_5("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1801, 1.0, -20.0, 100.0, "units"), +value0("ETB: SENT value0", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1808, 1.0, 0.0, 3.0, "value"), +value1("ETB: SENT value1", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1810, 1.0, 0.0, 3.0, "value"), +errorRate("ETB: SENT error rate", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1812, 1.0, 0.0, 3.0, "ratio"), +vvtTarget("vvtTarget", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1816, 0.1, -90.0, 90.0, "deg"), +vvtOutput("vvtOutput", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1818, 0.5, 100.0, 1.0, "%"), +alignmentFill_at_3("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1819, 1.0, -20.0, 100.0, "units"), +lambdaTimeSinceGood("lambdaTimeSinceGood", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1824, 0.01, 0.0, 1.0, "sec"), +alignmentFill_at_6("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1826, 1.0, -20.0, 100.0, "units"), diff --git a/firmware/console/binary/generated/total_live_data_generated.h b/firmware/console/binary/generated/total_live_data_generated.h index bc57b26c12..1eac83872b 100644 --- a/firmware/console/binary/generated/total_live_data_generated.h +++ b/firmware/console/binary/generated/total_live_data_generated.h @@ -1,2 +1,2 @@ // generated by gen_live_documentation.sh / LiveDataProcessor.java -#define TS_TOTAL_OUTPUT_SIZE 1752 \ No newline at end of file +#define TS_TOTAL_OUTPUT_SIZE 1828 \ No newline at end of file diff --git a/firmware/console/binary_log/log_fields_generated.h b/firmware/console/binary_log/log_fields_generated.h index 0fe599083b..45b88884d9 100644 --- a/firmware/console/binary_log/log_fields_generated.h +++ b/firmware/console/binary_log/log_fields_generated.h @@ -413,6 +413,26 @@ static const LogField fields[] = { {___engine.module()->m_knockCount, "Knock: Count", "", 0}, {___engine.module()->m_maximumRetard, "Knock: Max retard", "", 0}, {___engine.module()->m_knockFrequency, "knock: frequency", "Hz", 2}, + {___engine.module()->m_knockSpectrum[0], "Knock: SpectrumData 1", "compressed data", 0}, + {___engine.module()->m_knockSpectrum[1], "Knock: SpectrumData 2", "compressed data", 0}, + {___engine.module()->m_knockSpectrum[2], "Knock: SpectrumData 3", "compressed data", 0}, + {___engine.module()->m_knockSpectrum[3], "Knock: SpectrumData 4", "compressed data", 0}, + {___engine.module()->m_knockSpectrum[4], "Knock: SpectrumData 5", "compressed data", 0}, + {___engine.module()->m_knockSpectrum[5], "Knock: SpectrumData 6", "compressed data", 0}, + {___engine.module()->m_knockSpectrum[6], "Knock: SpectrumData 7", "compressed data", 0}, + {___engine.module()->m_knockSpectrum[7], "Knock: SpectrumData 8", "compressed data", 0}, + {___engine.module()->m_knockSpectrum[8], "Knock: SpectrumData 9", "compressed data", 0}, + {___engine.module()->m_knockSpectrum[9], "Knock: SpectrumData 10", "compressed data", 0}, + {___engine.module()->m_knockSpectrum[10], "Knock: SpectrumData 11", "compressed data", 0}, + {___engine.module()->m_knockSpectrum[11], "Knock: SpectrumData 12", "compressed data", 0}, + {___engine.module()->m_knockSpectrum[12], "Knock: SpectrumData 13", "compressed data", 0}, + {___engine.module()->m_knockSpectrum[13], "Knock: SpectrumData 14", "compressed data", 0}, + {___engine.module()->m_knockSpectrum[14], "Knock: SpectrumData 15", "compressed data", 0}, + {___engine.module()->m_knockSpectrum[15], "Knock: SpectrumData 16", "compressed data", 0}, + {___engine.module()->m_knockSpectrumChannelCyl, "Knock: ChannelAndCylNumber", "compressed N + N", 0}, + {___engine.module()->m_knockFrequencyStart, "Knock: Start Freq", "Hz", 0}, + {___engine.module()->m_knockFrequencyStep, "Knock: Step Freq", "Hz", 0}, + {___engine.module()->m_knockFuelTrimMultiplier, "Knock: Fuel trim when knock", "multiplier", 0}, #if EFI_PROD_CODE && EFI_IDLE_CONTROL {___engine.module()->m_deadtime, "Fuel: injector lag", "ms", 3}, #endif diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_alphax-2chan.h b/firmware/controllers/generated/engine_configuration_generated_structures_alphax-2chan.h index 787cc08561..4023e9ba86 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_alphax-2chan.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_alphax-2chan.h @@ -2883,7 +2883,7 @@ struct engine_configuration_s { bool enableKnockSpectrogram : 1 {}; /** offset 1492 bit 31 */ - bool unusedBit_517_31 : 1 {}; + bool enableKnockSpectrogramFilter : 1 {}; /** * This is the duration in cycles that the IAC will take to reach its normal idle position, it can be used to hold the idle higher for a few seconds after cranking to improve startup.\Should be 100 once tune is better * units: cycles @@ -4611,9 +4611,44 @@ struct engine_configuration_s { */ linear_sensor_s auxLinear4; /** - * units: units + * Below TPS value all knock suppression will be disabled. + * units: % * offset 3896 */ + scaled_channel knockSuppressMinTps; + /** + * Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump), + * units: % + * offset 3897 + */ + scaled_channel knockFuelTrimAggression; + /** + * After a knock event, reapply fuel at this rate. + * units: deg/s + * offset 3898 + */ + scaled_channel knockFuelTrimReapplyRate; + /** + * Fuel trim when knock, max 30% + * units: % + * offset 3899 + */ + scaled_channel knockFuelTrim; + /** + * units: sense + * offset 3900 + */ + float knockSpectrumSensitivity; + /** + * "Estimated knock frequency, ignore cylinderBore if this one > 0" + * units: Hz + * offset 3904 + */ + float knockFrequency; + /** + * units: units + * offset 3908 + */ uint8_t unusedOftenChangesDuringFirmwareUpdate[END_OF_CALIBRATION_PADDING]; }; static_assert(sizeof(engine_configuration_s) == 4024); diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_alphax-4chan.h b/firmware/controllers/generated/engine_configuration_generated_structures_alphax-4chan.h index b203a9f557..952e4185e4 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_alphax-4chan.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_alphax-4chan.h @@ -2883,7 +2883,7 @@ struct engine_configuration_s { bool enableKnockSpectrogram : 1 {}; /** offset 1492 bit 31 */ - bool unusedBit_517_31 : 1 {}; + bool enableKnockSpectrogramFilter : 1 {}; /** * This is the duration in cycles that the IAC will take to reach its normal idle position, it can be used to hold the idle higher for a few seconds after cranking to improve startup.\Should be 100 once tune is better * units: cycles @@ -4611,9 +4611,44 @@ struct engine_configuration_s { */ linear_sensor_s auxLinear4; /** - * units: units + * Below TPS value all knock suppression will be disabled. + * units: % * offset 3896 */ + scaled_channel knockSuppressMinTps; + /** + * Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump), + * units: % + * offset 3897 + */ + scaled_channel knockFuelTrimAggression; + /** + * After a knock event, reapply fuel at this rate. + * units: deg/s + * offset 3898 + */ + scaled_channel knockFuelTrimReapplyRate; + /** + * Fuel trim when knock, max 30% + * units: % + * offset 3899 + */ + scaled_channel knockFuelTrim; + /** + * units: sense + * offset 3900 + */ + float knockSpectrumSensitivity; + /** + * "Estimated knock frequency, ignore cylinderBore if this one > 0" + * units: Hz + * offset 3904 + */ + float knockFrequency; + /** + * units: units + * offset 3908 + */ uint8_t unusedOftenChangesDuringFirmwareUpdate[END_OF_CALIBRATION_PADDING]; }; static_assert(sizeof(engine_configuration_s) == 4024); diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_alphax-4chan_f7.h b/firmware/controllers/generated/engine_configuration_generated_structures_alphax-4chan_f7.h index b203a9f557..952e4185e4 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_alphax-4chan_f7.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_alphax-4chan_f7.h @@ -2883,7 +2883,7 @@ struct engine_configuration_s { bool enableKnockSpectrogram : 1 {}; /** offset 1492 bit 31 */ - bool unusedBit_517_31 : 1 {}; + bool enableKnockSpectrogramFilter : 1 {}; /** * This is the duration in cycles that the IAC will take to reach its normal idle position, it can be used to hold the idle higher for a few seconds after cranking to improve startup.\Should be 100 once tune is better * units: cycles @@ -4611,9 +4611,44 @@ struct engine_configuration_s { */ linear_sensor_s auxLinear4; /** - * units: units + * Below TPS value all knock suppression will be disabled. + * units: % * offset 3896 */ + scaled_channel knockSuppressMinTps; + /** + * Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump), + * units: % + * offset 3897 + */ + scaled_channel knockFuelTrimAggression; + /** + * After a knock event, reapply fuel at this rate. + * units: deg/s + * offset 3898 + */ + scaled_channel knockFuelTrimReapplyRate; + /** + * Fuel trim when knock, max 30% + * units: % + * offset 3899 + */ + scaled_channel knockFuelTrim; + /** + * units: sense + * offset 3900 + */ + float knockSpectrumSensitivity; + /** + * "Estimated knock frequency, ignore cylinderBore if this one > 0" + * units: Hz + * offset 3904 + */ + float knockFrequency; + /** + * units: units + * offset 3908 + */ uint8_t unusedOftenChangesDuringFirmwareUpdate[END_OF_CALIBRATION_PADDING]; }; static_assert(sizeof(engine_configuration_s) == 4024); diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_alphax-4k-gdi.h b/firmware/controllers/generated/engine_configuration_generated_structures_alphax-4k-gdi.h index 147074e8ca..3a2e95588e 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_alphax-4k-gdi.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_alphax-4k-gdi.h @@ -2883,7 +2883,7 @@ struct engine_configuration_s { bool enableKnockSpectrogram : 1 {}; /** offset 1492 bit 31 */ - bool unusedBit_517_31 : 1 {}; + bool enableKnockSpectrogramFilter : 1 {}; /** * This is the duration in cycles that the IAC will take to reach its normal idle position, it can be used to hold the idle higher for a few seconds after cranking to improve startup.\Should be 100 once tune is better * units: cycles @@ -4611,9 +4611,44 @@ struct engine_configuration_s { */ linear_sensor_s auxLinear4; /** - * units: units + * Below TPS value all knock suppression will be disabled. + * units: % * offset 3896 */ + scaled_channel knockSuppressMinTps; + /** + * Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump), + * units: % + * offset 3897 + */ + scaled_channel knockFuelTrimAggression; + /** + * After a knock event, reapply fuel at this rate. + * units: deg/s + * offset 3898 + */ + scaled_channel knockFuelTrimReapplyRate; + /** + * Fuel trim when knock, max 30% + * units: % + * offset 3899 + */ + scaled_channel knockFuelTrim; + /** + * units: sense + * offset 3900 + */ + float knockSpectrumSensitivity; + /** + * "Estimated knock frequency, ignore cylinderBore if this one > 0" + * units: Hz + * offset 3904 + */ + float knockFrequency; + /** + * units: units + * offset 3908 + */ uint8_t unusedOftenChangesDuringFirmwareUpdate[END_OF_CALIBRATION_PADDING]; }; static_assert(sizeof(engine_configuration_s) == 4024); diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_alphax-8chan-revA.h b/firmware/controllers/generated/engine_configuration_generated_structures_alphax-8chan-revA.h index 40245ad1ea..462d68ccc4 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_alphax-8chan-revA.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_alphax-8chan-revA.h @@ -2883,7 +2883,7 @@ struct engine_configuration_s { bool enableKnockSpectrogram : 1 {}; /** offset 1492 bit 31 */ - bool unusedBit_517_31 : 1 {}; + bool enableKnockSpectrogramFilter : 1 {}; /** * This is the duration in cycles that the IAC will take to reach its normal idle position, it can be used to hold the idle higher for a few seconds after cranking to improve startup.\Should be 100 once tune is better * units: cycles @@ -4611,9 +4611,44 @@ struct engine_configuration_s { */ linear_sensor_s auxLinear4; /** - * units: units + * Below TPS value all knock suppression will be disabled. + * units: % * offset 3896 */ + scaled_channel knockSuppressMinTps; + /** + * Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump), + * units: % + * offset 3897 + */ + scaled_channel knockFuelTrimAggression; + /** + * After a knock event, reapply fuel at this rate. + * units: deg/s + * offset 3898 + */ + scaled_channel knockFuelTrimReapplyRate; + /** + * Fuel trim when knock, max 30% + * units: % + * offset 3899 + */ + scaled_channel knockFuelTrim; + /** + * units: sense + * offset 3900 + */ + float knockSpectrumSensitivity; + /** + * "Estimated knock frequency, ignore cylinderBore if this one > 0" + * units: Hz + * offset 3904 + */ + float knockFrequency; + /** + * units: units + * offset 3908 + */ uint8_t unusedOftenChangesDuringFirmwareUpdate[END_OF_CALIBRATION_PADDING]; }; static_assert(sizeof(engine_configuration_s) == 4024); diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_alphax-8chan.h b/firmware/controllers/generated/engine_configuration_generated_structures_alphax-8chan.h index 5b9d7599da..aff49d38f6 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_alphax-8chan.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_alphax-8chan.h @@ -2883,7 +2883,7 @@ struct engine_configuration_s { bool enableKnockSpectrogram : 1 {}; /** offset 1508 bit 31 */ - bool unusedBit_517_31 : 1 {}; + bool enableKnockSpectrogramFilter : 1 {}; /** * This is the duration in cycles that the IAC will take to reach its normal idle position, it can be used to hold the idle higher for a few seconds after cranking to improve startup.\Should be 100 once tune is better * units: cycles @@ -4611,9 +4611,44 @@ struct engine_configuration_s { */ linear_sensor_s auxLinear4; /** - * units: units + * Below TPS value all knock suppression will be disabled. + * units: % * offset 3912 */ + scaled_channel knockSuppressMinTps; + /** + * Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump), + * units: % + * offset 3913 + */ + scaled_channel knockFuelTrimAggression; + /** + * After a knock event, reapply fuel at this rate. + * units: deg/s + * offset 3914 + */ + scaled_channel knockFuelTrimReapplyRate; + /** + * Fuel trim when knock, max 30% + * units: % + * offset 3915 + */ + scaled_channel knockFuelTrim; + /** + * units: sense + * offset 3916 + */ + float knockSpectrumSensitivity; + /** + * "Estimated knock frequency, ignore cylinderBore if this one > 0" + * units: Hz + * offset 3920 + */ + float knockFrequency; + /** + * units: units + * offset 3924 + */ uint8_t unusedOftenChangesDuringFirmwareUpdate[END_OF_CALIBRATION_PADDING]; }; static_assert(sizeof(engine_configuration_s) == 4040); diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_alphax-8chan_f7.h b/firmware/controllers/generated/engine_configuration_generated_structures_alphax-8chan_f7.h index 5b9d7599da..aff49d38f6 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_alphax-8chan_f7.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_alphax-8chan_f7.h @@ -2883,7 +2883,7 @@ struct engine_configuration_s { bool enableKnockSpectrogram : 1 {}; /** offset 1508 bit 31 */ - bool unusedBit_517_31 : 1 {}; + bool enableKnockSpectrogramFilter : 1 {}; /** * This is the duration in cycles that the IAC will take to reach its normal idle position, it can be used to hold the idle higher for a few seconds after cranking to improve startup.\Should be 100 once tune is better * units: cycles @@ -4611,9 +4611,44 @@ struct engine_configuration_s { */ linear_sensor_s auxLinear4; /** - * units: units + * Below TPS value all knock suppression will be disabled. + * units: % * offset 3912 */ + scaled_channel knockSuppressMinTps; + /** + * Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump), + * units: % + * offset 3913 + */ + scaled_channel knockFuelTrimAggression; + /** + * After a knock event, reapply fuel at this rate. + * units: deg/s + * offset 3914 + */ + scaled_channel knockFuelTrimReapplyRate; + /** + * Fuel trim when knock, max 30% + * units: % + * offset 3915 + */ + scaled_channel knockFuelTrim; + /** + * units: sense + * offset 3916 + */ + float knockSpectrumSensitivity; + /** + * "Estimated knock frequency, ignore cylinderBore if this one > 0" + * units: Hz + * offset 3920 + */ + float knockFrequency; + /** + * units: units + * offset 3924 + */ uint8_t unusedOftenChangesDuringFirmwareUpdate[END_OF_CALIBRATION_PADDING]; }; static_assert(sizeof(engine_configuration_s) == 4040); diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_alphax-silver.h b/firmware/controllers/generated/engine_configuration_generated_structures_alphax-silver.h index 58bab071fa..4204698fbd 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_alphax-silver.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_alphax-silver.h @@ -2883,7 +2883,7 @@ struct engine_configuration_s { bool enableKnockSpectrogram : 1 {}; /** offset 1492 bit 31 */ - bool unusedBit_517_31 : 1 {}; + bool enableKnockSpectrogramFilter : 1 {}; /** * This is the duration in cycles that the IAC will take to reach its normal idle position, it can be used to hold the idle higher for a few seconds after cranking to improve startup.\Should be 100 once tune is better * units: cycles @@ -4707,9 +4707,44 @@ struct engine_configuration_s { offset 3896 bit 31 */ bool unusedBit_879_31 : 1 {}; /** - * units: units + * Below TPS value all knock suppression will be disabled. + * units: % * offset 3900 */ + scaled_channel knockSuppressMinTps; + /** + * Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump), + * units: % + * offset 3901 + */ + scaled_channel knockFuelTrimAggression; + /** + * After a knock event, reapply fuel at this rate. + * units: deg/s + * offset 3902 + */ + scaled_channel knockFuelTrimReapplyRate; + /** + * Fuel trim when knock, max 30% + * units: % + * offset 3903 + */ + scaled_channel knockFuelTrim; + /** + * units: sense + * offset 3904 + */ + float knockSpectrumSensitivity; + /** + * "Estimated knock frequency, ignore cylinderBore if this one > 0" + * units: Hz + * offset 3908 + */ + float knockFrequency; + /** + * units: units + * offset 3912 + */ uint8_t unusedOftenChangesDuringFirmwareUpdate[END_OF_CALIBRATION_PADDING]; }; static_assert(sizeof(engine_configuration_s) == 4028); diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_at_start_f435.h b/firmware/controllers/generated/engine_configuration_generated_structures_at_start_f435.h index 147074e8ca..3a2e95588e 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_at_start_f435.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_at_start_f435.h @@ -2883,7 +2883,7 @@ struct engine_configuration_s { bool enableKnockSpectrogram : 1 {}; /** offset 1492 bit 31 */ - bool unusedBit_517_31 : 1 {}; + bool enableKnockSpectrogramFilter : 1 {}; /** * This is the duration in cycles that the IAC will take to reach its normal idle position, it can be used to hold the idle higher for a few seconds after cranking to improve startup.\Should be 100 once tune is better * units: cycles @@ -4611,9 +4611,44 @@ struct engine_configuration_s { */ linear_sensor_s auxLinear4; /** - * units: units + * Below TPS value all knock suppression will be disabled. + * units: % * offset 3896 */ + scaled_channel knockSuppressMinTps; + /** + * Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump), + * units: % + * offset 3897 + */ + scaled_channel knockFuelTrimAggression; + /** + * After a knock event, reapply fuel at this rate. + * units: deg/s + * offset 3898 + */ + scaled_channel knockFuelTrimReapplyRate; + /** + * Fuel trim when knock, max 30% + * units: % + * offset 3899 + */ + scaled_channel knockFuelTrim; + /** + * units: sense + * offset 3900 + */ + float knockSpectrumSensitivity; + /** + * "Estimated knock frequency, ignore cylinderBore if this one > 0" + * units: Hz + * offset 3904 + */ + float knockFrequency; + /** + * units: units + * offset 3908 + */ uint8_t unusedOftenChangesDuringFirmwareUpdate[END_OF_CALIBRATION_PADDING]; }; static_assert(sizeof(engine_configuration_s) == 4024); diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_atlas.h b/firmware/controllers/generated/engine_configuration_generated_structures_atlas.h index 6ddf887609..3eb35389ca 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_atlas.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_atlas.h @@ -2883,7 +2883,7 @@ struct engine_configuration_s { bool enableKnockSpectrogram : 1 {}; /** offset 1492 bit 31 */ - bool unusedBit_517_31 : 1 {}; + bool enableKnockSpectrogramFilter : 1 {}; /** * This is the duration in cycles that the IAC will take to reach its normal idle position, it can be used to hold the idle higher for a few seconds after cranking to improve startup.\Should be 100 once tune is better * units: cycles @@ -4611,9 +4611,44 @@ struct engine_configuration_s { */ linear_sensor_s auxLinear4; /** - * units: units + * Below TPS value all knock suppression will be disabled. + * units: % * offset 3736 */ + scaled_channel knockSuppressMinTps; + /** + * Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump), + * units: % + * offset 3737 + */ + scaled_channel knockFuelTrimAggression; + /** + * After a knock event, reapply fuel at this rate. + * units: deg/s + * offset 3738 + */ + scaled_channel knockFuelTrimReapplyRate; + /** + * Fuel trim when knock, max 30% + * units: % + * offset 3739 + */ + scaled_channel knockFuelTrim; + /** + * units: sense + * offset 3740 + */ + float knockSpectrumSensitivity; + /** + * "Estimated knock frequency, ignore cylinderBore if this one > 0" + * units: Hz + * offset 3744 + */ + float knockFrequency; + /** + * units: units + * offset 3748 + */ uint8_t unusedOftenChangesDuringFirmwareUpdate[END_OF_CALIBRATION_PADDING]; }; static_assert(sizeof(engine_configuration_s) == 3864); diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_f407-discovery.h b/firmware/controllers/generated/engine_configuration_generated_structures_f407-discovery.h index 6432323e26..c503dee1bb 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_f407-discovery.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_f407-discovery.h @@ -2883,7 +2883,7 @@ struct engine_configuration_s { bool enableKnockSpectrogram : 1 {}; /** offset 1492 bit 31 */ - bool unusedBit_517_31 : 1 {}; + bool enableKnockSpectrogramFilter : 1 {}; /** * This is the duration in cycles that the IAC will take to reach its normal idle position, it can be used to hold the idle higher for a few seconds after cranking to improve startup.\Should be 100 once tune is better * units: cycles @@ -4611,9 +4611,44 @@ struct engine_configuration_s { */ linear_sensor_s auxLinear4; /** - * units: units + * Below TPS value all knock suppression will be disabled. + * units: % * offset 3896 */ + scaled_channel knockSuppressMinTps; + /** + * Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump), + * units: % + * offset 3897 + */ + scaled_channel knockFuelTrimAggression; + /** + * After a knock event, reapply fuel at this rate. + * units: deg/s + * offset 3898 + */ + scaled_channel knockFuelTrimReapplyRate; + /** + * Fuel trim when knock, max 30% + * units: % + * offset 3899 + */ + scaled_channel knockFuelTrim; + /** + * units: sense + * offset 3900 + */ + float knockSpectrumSensitivity; + /** + * "Estimated knock frequency, ignore cylinderBore if this one > 0" + * units: Hz + * offset 3904 + */ + float knockFrequency; + /** + * units: units + * offset 3908 + */ uint8_t unusedOftenChangesDuringFirmwareUpdate[END_OF_CALIBRATION_PADDING]; }; static_assert(sizeof(engine_configuration_s) == 4024); diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_f429-discovery.h b/firmware/controllers/generated/engine_configuration_generated_structures_f429-discovery.h index 147074e8ca..3a2e95588e 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_f429-discovery.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_f429-discovery.h @@ -2883,7 +2883,7 @@ struct engine_configuration_s { bool enableKnockSpectrogram : 1 {}; /** offset 1492 bit 31 */ - bool unusedBit_517_31 : 1 {}; + bool enableKnockSpectrogramFilter : 1 {}; /** * This is the duration in cycles that the IAC will take to reach its normal idle position, it can be used to hold the idle higher for a few seconds after cranking to improve startup.\Should be 100 once tune is better * units: cycles @@ -4611,9 +4611,44 @@ struct engine_configuration_s { */ linear_sensor_s auxLinear4; /** - * units: units + * Below TPS value all knock suppression will be disabled. + * units: % * offset 3896 */ + scaled_channel knockSuppressMinTps; + /** + * Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump), + * units: % + * offset 3897 + */ + scaled_channel knockFuelTrimAggression; + /** + * After a knock event, reapply fuel at this rate. + * units: deg/s + * offset 3898 + */ + scaled_channel knockFuelTrimReapplyRate; + /** + * Fuel trim when knock, max 30% + * units: % + * offset 3899 + */ + scaled_channel knockFuelTrim; + /** + * units: sense + * offset 3900 + */ + float knockSpectrumSensitivity; + /** + * "Estimated knock frequency, ignore cylinderBore if this one > 0" + * units: Hz + * offset 3904 + */ + float knockFrequency; + /** + * units: units + * offset 3908 + */ uint8_t unusedOftenChangesDuringFirmwareUpdate[END_OF_CALIBRATION_PADDING]; }; static_assert(sizeof(engine_configuration_s) == 4024); diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_f469-discovery.h b/firmware/controllers/generated/engine_configuration_generated_structures_f469-discovery.h index 147074e8ca..3a2e95588e 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_f469-discovery.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_f469-discovery.h @@ -2883,7 +2883,7 @@ struct engine_configuration_s { bool enableKnockSpectrogram : 1 {}; /** offset 1492 bit 31 */ - bool unusedBit_517_31 : 1 {}; + bool enableKnockSpectrogramFilter : 1 {}; /** * This is the duration in cycles that the IAC will take to reach its normal idle position, it can be used to hold the idle higher for a few seconds after cranking to improve startup.\Should be 100 once tune is better * units: cycles @@ -4611,9 +4611,44 @@ struct engine_configuration_s { */ linear_sensor_s auxLinear4; /** - * units: units + * Below TPS value all knock suppression will be disabled. + * units: % * offset 3896 */ + scaled_channel knockSuppressMinTps; + /** + * Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump), + * units: % + * offset 3897 + */ + scaled_channel knockFuelTrimAggression; + /** + * After a knock event, reapply fuel at this rate. + * units: deg/s + * offset 3898 + */ + scaled_channel knockFuelTrimReapplyRate; + /** + * Fuel trim when knock, max 30% + * units: % + * offset 3899 + */ + scaled_channel knockFuelTrim; + /** + * units: sense + * offset 3900 + */ + float knockSpectrumSensitivity; + /** + * "Estimated knock frequency, ignore cylinderBore if this one > 0" + * units: Hz + * offset 3904 + */ + float knockFrequency; + /** + * units: units + * offset 3908 + */ uint8_t unusedOftenChangesDuringFirmwareUpdate[END_OF_CALIBRATION_PADDING]; }; static_assert(sizeof(engine_configuration_s) == 4024); diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_frankenso_na6.h b/firmware/controllers/generated/engine_configuration_generated_structures_frankenso_na6.h index 147074e8ca..3a2e95588e 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_frankenso_na6.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_frankenso_na6.h @@ -2883,7 +2883,7 @@ struct engine_configuration_s { bool enableKnockSpectrogram : 1 {}; /** offset 1492 bit 31 */ - bool unusedBit_517_31 : 1 {}; + bool enableKnockSpectrogramFilter : 1 {}; /** * This is the duration in cycles that the IAC will take to reach its normal idle position, it can be used to hold the idle higher for a few seconds after cranking to improve startup.\Should be 100 once tune is better * units: cycles @@ -4611,9 +4611,44 @@ struct engine_configuration_s { */ linear_sensor_s auxLinear4; /** - * units: units + * Below TPS value all knock suppression will be disabled. + * units: % * offset 3896 */ + scaled_channel knockSuppressMinTps; + /** + * Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump), + * units: % + * offset 3897 + */ + scaled_channel knockFuelTrimAggression; + /** + * After a knock event, reapply fuel at this rate. + * units: deg/s + * offset 3898 + */ + scaled_channel knockFuelTrimReapplyRate; + /** + * Fuel trim when knock, max 30% + * units: % + * offset 3899 + */ + scaled_channel knockFuelTrim; + /** + * units: sense + * offset 3900 + */ + float knockSpectrumSensitivity; + /** + * "Estimated knock frequency, ignore cylinderBore if this one > 0" + * units: Hz + * offset 3904 + */ + float knockFrequency; + /** + * units: units + * offset 3908 + */ uint8_t unusedOftenChangesDuringFirmwareUpdate[END_OF_CALIBRATION_PADDING]; }; static_assert(sizeof(engine_configuration_s) == 4024); diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_haba208.h b/firmware/controllers/generated/engine_configuration_generated_structures_haba208.h index 147074e8ca..3a2e95588e 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_haba208.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_haba208.h @@ -2883,7 +2883,7 @@ struct engine_configuration_s { bool enableKnockSpectrogram : 1 {}; /** offset 1492 bit 31 */ - bool unusedBit_517_31 : 1 {}; + bool enableKnockSpectrogramFilter : 1 {}; /** * This is the duration in cycles that the IAC will take to reach its normal idle position, it can be used to hold the idle higher for a few seconds after cranking to improve startup.\Should be 100 once tune is better * units: cycles @@ -4611,9 +4611,44 @@ struct engine_configuration_s { */ linear_sensor_s auxLinear4; /** - * units: units + * Below TPS value all knock suppression will be disabled. + * units: % * offset 3896 */ + scaled_channel knockSuppressMinTps; + /** + * Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump), + * units: % + * offset 3897 + */ + scaled_channel knockFuelTrimAggression; + /** + * After a knock event, reapply fuel at this rate. + * units: deg/s + * offset 3898 + */ + scaled_channel knockFuelTrimReapplyRate; + /** + * Fuel trim when knock, max 30% + * units: % + * offset 3899 + */ + scaled_channel knockFuelTrim; + /** + * units: sense + * offset 3900 + */ + float knockSpectrumSensitivity; + /** + * "Estimated knock frequency, ignore cylinderBore if this one > 0" + * units: Hz + * offset 3904 + */ + float knockFrequency; + /** + * units: units + * offset 3908 + */ uint8_t unusedOftenChangesDuringFirmwareUpdate[END_OF_CALIBRATION_PADDING]; }; static_assert(sizeof(engine_configuration_s) == 4024); diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_hellen-112-17.h b/firmware/controllers/generated/engine_configuration_generated_structures_hellen-112-17.h index 147074e8ca..3a2e95588e 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_hellen-112-17.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_hellen-112-17.h @@ -2883,7 +2883,7 @@ struct engine_configuration_s { bool enableKnockSpectrogram : 1 {}; /** offset 1492 bit 31 */ - bool unusedBit_517_31 : 1 {}; + bool enableKnockSpectrogramFilter : 1 {}; /** * This is the duration in cycles that the IAC will take to reach its normal idle position, it can be used to hold the idle higher for a few seconds after cranking to improve startup.\Should be 100 once tune is better * units: cycles @@ -4611,9 +4611,44 @@ struct engine_configuration_s { */ linear_sensor_s auxLinear4; /** - * units: units + * Below TPS value all knock suppression will be disabled. + * units: % * offset 3896 */ + scaled_channel knockSuppressMinTps; + /** + * Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump), + * units: % + * offset 3897 + */ + scaled_channel knockFuelTrimAggression; + /** + * After a knock event, reapply fuel at this rate. + * units: deg/s + * offset 3898 + */ + scaled_channel knockFuelTrimReapplyRate; + /** + * Fuel trim when knock, max 30% + * units: % + * offset 3899 + */ + scaled_channel knockFuelTrim; + /** + * units: sense + * offset 3900 + */ + float knockSpectrumSensitivity; + /** + * "Estimated knock frequency, ignore cylinderBore if this one > 0" + * units: Hz + * offset 3904 + */ + float knockFrequency; + /** + * units: units + * offset 3908 + */ uint8_t unusedOftenChangesDuringFirmwareUpdate[END_OF_CALIBRATION_PADDING]; }; static_assert(sizeof(engine_configuration_s) == 4024); diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_hellen-gm-e67.h b/firmware/controllers/generated/engine_configuration_generated_structures_hellen-gm-e67.h index 147074e8ca..3a2e95588e 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_hellen-gm-e67.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_hellen-gm-e67.h @@ -2883,7 +2883,7 @@ struct engine_configuration_s { bool enableKnockSpectrogram : 1 {}; /** offset 1492 bit 31 */ - bool unusedBit_517_31 : 1 {}; + bool enableKnockSpectrogramFilter : 1 {}; /** * This is the duration in cycles that the IAC will take to reach its normal idle position, it can be used to hold the idle higher for a few seconds after cranking to improve startup.\Should be 100 once tune is better * units: cycles @@ -4611,9 +4611,44 @@ struct engine_configuration_s { */ linear_sensor_s auxLinear4; /** - * units: units + * Below TPS value all knock suppression will be disabled. + * units: % * offset 3896 */ + scaled_channel knockSuppressMinTps; + /** + * Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump), + * units: % + * offset 3897 + */ + scaled_channel knockFuelTrimAggression; + /** + * After a knock event, reapply fuel at this rate. + * units: deg/s + * offset 3898 + */ + scaled_channel knockFuelTrimReapplyRate; + /** + * Fuel trim when knock, max 30% + * units: % + * offset 3899 + */ + scaled_channel knockFuelTrim; + /** + * units: sense + * offset 3900 + */ + float knockSpectrumSensitivity; + /** + * "Estimated knock frequency, ignore cylinderBore if this one > 0" + * units: Hz + * offset 3904 + */ + float knockFrequency; + /** + * units: units + * offset 3908 + */ uint8_t unusedOftenChangesDuringFirmwareUpdate[END_OF_CALIBRATION_PADDING]; }; static_assert(sizeof(engine_configuration_s) == 4024); diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_hellen-honda-k.h b/firmware/controllers/generated/engine_configuration_generated_structures_hellen-honda-k.h index 4b34b0e93a..5b407d9b98 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_hellen-honda-k.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_hellen-honda-k.h @@ -2883,7 +2883,7 @@ struct engine_configuration_s { bool enableKnockSpectrogram : 1 {}; /** offset 1492 bit 31 */ - bool unusedBit_517_31 : 1 {}; + bool enableKnockSpectrogramFilter : 1 {}; /** * This is the duration in cycles that the IAC will take to reach its normal idle position, it can be used to hold the idle higher for a few seconds after cranking to improve startup.\Should be 100 once tune is better * units: cycles @@ -4611,9 +4611,44 @@ struct engine_configuration_s { */ linear_sensor_s auxLinear4; /** - * units: units + * Below TPS value all knock suppression will be disabled. + * units: % * offset 3896 */ + scaled_channel knockSuppressMinTps; + /** + * Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump), + * units: % + * offset 3897 + */ + scaled_channel knockFuelTrimAggression; + /** + * After a knock event, reapply fuel at this rate. + * units: deg/s + * offset 3898 + */ + scaled_channel knockFuelTrimReapplyRate; + /** + * Fuel trim when knock, max 30% + * units: % + * offset 3899 + */ + scaled_channel knockFuelTrim; + /** + * units: sense + * offset 3900 + */ + float knockSpectrumSensitivity; + /** + * "Estimated knock frequency, ignore cylinderBore if this one > 0" + * units: Hz + * offset 3904 + */ + float knockFrequency; + /** + * units: units + * offset 3908 + */ uint8_t unusedOftenChangesDuringFirmwareUpdate[END_OF_CALIBRATION_PADDING]; }; static_assert(sizeof(engine_configuration_s) == 4024); diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_hellen-nb1.h b/firmware/controllers/generated/engine_configuration_generated_structures_hellen-nb1.h index 147074e8ca..3a2e95588e 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_hellen-nb1.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_hellen-nb1.h @@ -2883,7 +2883,7 @@ struct engine_configuration_s { bool enableKnockSpectrogram : 1 {}; /** offset 1492 bit 31 */ - bool unusedBit_517_31 : 1 {}; + bool enableKnockSpectrogramFilter : 1 {}; /** * This is the duration in cycles that the IAC will take to reach its normal idle position, it can be used to hold the idle higher for a few seconds after cranking to improve startup.\Should be 100 once tune is better * units: cycles @@ -4611,9 +4611,44 @@ struct engine_configuration_s { */ linear_sensor_s auxLinear4; /** - * units: units + * Below TPS value all knock suppression will be disabled. + * units: % * offset 3896 */ + scaled_channel knockSuppressMinTps; + /** + * Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump), + * units: % + * offset 3897 + */ + scaled_channel knockFuelTrimAggression; + /** + * After a knock event, reapply fuel at this rate. + * units: deg/s + * offset 3898 + */ + scaled_channel knockFuelTrimReapplyRate; + /** + * Fuel trim when knock, max 30% + * units: % + * offset 3899 + */ + scaled_channel knockFuelTrim; + /** + * units: sense + * offset 3900 + */ + float knockSpectrumSensitivity; + /** + * "Estimated knock frequency, ignore cylinderBore if this one > 0" + * units: Hz + * offset 3904 + */ + float knockFrequency; + /** + * units: units + * offset 3908 + */ uint8_t unusedOftenChangesDuringFirmwareUpdate[END_OF_CALIBRATION_PADDING]; }; static_assert(sizeof(engine_configuration_s) == 4024); diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_hellen121nissan.h b/firmware/controllers/generated/engine_configuration_generated_structures_hellen121nissan.h index 147074e8ca..3a2e95588e 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_hellen121nissan.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_hellen121nissan.h @@ -2883,7 +2883,7 @@ struct engine_configuration_s { bool enableKnockSpectrogram : 1 {}; /** offset 1492 bit 31 */ - bool unusedBit_517_31 : 1 {}; + bool enableKnockSpectrogramFilter : 1 {}; /** * This is the duration in cycles that the IAC will take to reach its normal idle position, it can be used to hold the idle higher for a few seconds after cranking to improve startup.\Should be 100 once tune is better * units: cycles @@ -4611,9 +4611,44 @@ struct engine_configuration_s { */ linear_sensor_s auxLinear4; /** - * units: units + * Below TPS value all knock suppression will be disabled. + * units: % * offset 3896 */ + scaled_channel knockSuppressMinTps; + /** + * Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump), + * units: % + * offset 3897 + */ + scaled_channel knockFuelTrimAggression; + /** + * After a knock event, reapply fuel at this rate. + * units: deg/s + * offset 3898 + */ + scaled_channel knockFuelTrimReapplyRate; + /** + * Fuel trim when knock, max 30% + * units: % + * offset 3899 + */ + scaled_channel knockFuelTrim; + /** + * units: sense + * offset 3900 + */ + float knockSpectrumSensitivity; + /** + * "Estimated knock frequency, ignore cylinderBore if this one > 0" + * units: Hz + * offset 3904 + */ + float knockFrequency; + /** + * units: units + * offset 3908 + */ uint8_t unusedOftenChangesDuringFirmwareUpdate[END_OF_CALIBRATION_PADDING]; }; static_assert(sizeof(engine_configuration_s) == 4024); diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_hellen121vag.h b/firmware/controllers/generated/engine_configuration_generated_structures_hellen121vag.h index 147074e8ca..3a2e95588e 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_hellen121vag.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_hellen121vag.h @@ -2883,7 +2883,7 @@ struct engine_configuration_s { bool enableKnockSpectrogram : 1 {}; /** offset 1492 bit 31 */ - bool unusedBit_517_31 : 1 {}; + bool enableKnockSpectrogramFilter : 1 {}; /** * This is the duration in cycles that the IAC will take to reach its normal idle position, it can be used to hold the idle higher for a few seconds after cranking to improve startup.\Should be 100 once tune is better * units: cycles @@ -4611,9 +4611,44 @@ struct engine_configuration_s { */ linear_sensor_s auxLinear4; /** - * units: units + * Below TPS value all knock suppression will be disabled. + * units: % * offset 3896 */ + scaled_channel knockSuppressMinTps; + /** + * Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump), + * units: % + * offset 3897 + */ + scaled_channel knockFuelTrimAggression; + /** + * After a knock event, reapply fuel at this rate. + * units: deg/s + * offset 3898 + */ + scaled_channel knockFuelTrimReapplyRate; + /** + * Fuel trim when knock, max 30% + * units: % + * offset 3899 + */ + scaled_channel knockFuelTrim; + /** + * units: sense + * offset 3900 + */ + float knockSpectrumSensitivity; + /** + * "Estimated knock frequency, ignore cylinderBore if this one > 0" + * units: Hz + * offset 3904 + */ + float knockFrequency; + /** + * units: units + * offset 3908 + */ uint8_t unusedOftenChangesDuringFirmwareUpdate[END_OF_CALIBRATION_PADDING]; }; static_assert(sizeof(engine_configuration_s) == 4024); diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_hellen128.h b/firmware/controllers/generated/engine_configuration_generated_structures_hellen128.h index 147074e8ca..3a2e95588e 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_hellen128.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_hellen128.h @@ -2883,7 +2883,7 @@ struct engine_configuration_s { bool enableKnockSpectrogram : 1 {}; /** offset 1492 bit 31 */ - bool unusedBit_517_31 : 1 {}; + bool enableKnockSpectrogramFilter : 1 {}; /** * This is the duration in cycles that the IAC will take to reach its normal idle position, it can be used to hold the idle higher for a few seconds after cranking to improve startup.\Should be 100 once tune is better * units: cycles @@ -4611,9 +4611,44 @@ struct engine_configuration_s { */ linear_sensor_s auxLinear4; /** - * units: units + * Below TPS value all knock suppression will be disabled. + * units: % * offset 3896 */ + scaled_channel knockSuppressMinTps; + /** + * Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump), + * units: % + * offset 3897 + */ + scaled_channel knockFuelTrimAggression; + /** + * After a knock event, reapply fuel at this rate. + * units: deg/s + * offset 3898 + */ + scaled_channel knockFuelTrimReapplyRate; + /** + * Fuel trim when knock, max 30% + * units: % + * offset 3899 + */ + scaled_channel knockFuelTrim; + /** + * units: sense + * offset 3900 + */ + float knockSpectrumSensitivity; + /** + * "Estimated knock frequency, ignore cylinderBore if this one > 0" + * units: Hz + * offset 3904 + */ + float knockFrequency; + /** + * units: units + * offset 3908 + */ uint8_t unusedOftenChangesDuringFirmwareUpdate[END_OF_CALIBRATION_PADDING]; }; static_assert(sizeof(engine_configuration_s) == 4024); diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_hellen154hyundai.h b/firmware/controllers/generated/engine_configuration_generated_structures_hellen154hyundai.h index 147074e8ca..3a2e95588e 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_hellen154hyundai.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_hellen154hyundai.h @@ -2883,7 +2883,7 @@ struct engine_configuration_s { bool enableKnockSpectrogram : 1 {}; /** offset 1492 bit 31 */ - bool unusedBit_517_31 : 1 {}; + bool enableKnockSpectrogramFilter : 1 {}; /** * This is the duration in cycles that the IAC will take to reach its normal idle position, it can be used to hold the idle higher for a few seconds after cranking to improve startup.\Should be 100 once tune is better * units: cycles @@ -4611,9 +4611,44 @@ struct engine_configuration_s { */ linear_sensor_s auxLinear4; /** - * units: units + * Below TPS value all knock suppression will be disabled. + * units: % * offset 3896 */ + scaled_channel knockSuppressMinTps; + /** + * Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump), + * units: % + * offset 3897 + */ + scaled_channel knockFuelTrimAggression; + /** + * After a knock event, reapply fuel at this rate. + * units: deg/s + * offset 3898 + */ + scaled_channel knockFuelTrimReapplyRate; + /** + * Fuel trim when knock, max 30% + * units: % + * offset 3899 + */ + scaled_channel knockFuelTrim; + /** + * units: sense + * offset 3900 + */ + float knockSpectrumSensitivity; + /** + * "Estimated knock frequency, ignore cylinderBore if this one > 0" + * units: Hz + * offset 3904 + */ + float knockFrequency; + /** + * units: units + * offset 3908 + */ uint8_t unusedOftenChangesDuringFirmwareUpdate[END_OF_CALIBRATION_PADDING]; }; static_assert(sizeof(engine_configuration_s) == 4024); diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_hellen154hyundai_f7.h b/firmware/controllers/generated/engine_configuration_generated_structures_hellen154hyundai_f7.h index 147074e8ca..3a2e95588e 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_hellen154hyundai_f7.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_hellen154hyundai_f7.h @@ -2883,7 +2883,7 @@ struct engine_configuration_s { bool enableKnockSpectrogram : 1 {}; /** offset 1492 bit 31 */ - bool unusedBit_517_31 : 1 {}; + bool enableKnockSpectrogramFilter : 1 {}; /** * This is the duration in cycles that the IAC will take to reach its normal idle position, it can be used to hold the idle higher for a few seconds after cranking to improve startup.\Should be 100 once tune is better * units: cycles @@ -4611,9 +4611,44 @@ struct engine_configuration_s { */ linear_sensor_s auxLinear4; /** - * units: units + * Below TPS value all knock suppression will be disabled. + * units: % * offset 3896 */ + scaled_channel knockSuppressMinTps; + /** + * Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump), + * units: % + * offset 3897 + */ + scaled_channel knockFuelTrimAggression; + /** + * After a knock event, reapply fuel at this rate. + * units: deg/s + * offset 3898 + */ + scaled_channel knockFuelTrimReapplyRate; + /** + * Fuel trim when knock, max 30% + * units: % + * offset 3899 + */ + scaled_channel knockFuelTrim; + /** + * units: sense + * offset 3900 + */ + float knockSpectrumSensitivity; + /** + * "Estimated knock frequency, ignore cylinderBore if this one > 0" + * units: Hz + * offset 3904 + */ + float knockFrequency; + /** + * units: units + * offset 3908 + */ uint8_t unusedOftenChangesDuringFirmwareUpdate[END_OF_CALIBRATION_PADDING]; }; static_assert(sizeof(engine_configuration_s) == 4024); diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_hellen72.h b/firmware/controllers/generated/engine_configuration_generated_structures_hellen72.h index 147074e8ca..3a2e95588e 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_hellen72.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_hellen72.h @@ -2883,7 +2883,7 @@ struct engine_configuration_s { bool enableKnockSpectrogram : 1 {}; /** offset 1492 bit 31 */ - bool unusedBit_517_31 : 1 {}; + bool enableKnockSpectrogramFilter : 1 {}; /** * This is the duration in cycles that the IAC will take to reach its normal idle position, it can be used to hold the idle higher for a few seconds after cranking to improve startup.\Should be 100 once tune is better * units: cycles @@ -4611,9 +4611,44 @@ struct engine_configuration_s { */ linear_sensor_s auxLinear4; /** - * units: units + * Below TPS value all knock suppression will be disabled. + * units: % * offset 3896 */ + scaled_channel knockSuppressMinTps; + /** + * Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump), + * units: % + * offset 3897 + */ + scaled_channel knockFuelTrimAggression; + /** + * After a knock event, reapply fuel at this rate. + * units: deg/s + * offset 3898 + */ + scaled_channel knockFuelTrimReapplyRate; + /** + * Fuel trim when knock, max 30% + * units: % + * offset 3899 + */ + scaled_channel knockFuelTrim; + /** + * units: sense + * offset 3900 + */ + float knockSpectrumSensitivity; + /** + * "Estimated knock frequency, ignore cylinderBore if this one > 0" + * units: Hz + * offset 3904 + */ + float knockFrequency; + /** + * units: units + * offset 3908 + */ uint8_t unusedOftenChangesDuringFirmwareUpdate[END_OF_CALIBRATION_PADDING]; }; static_assert(sizeof(engine_configuration_s) == 4024); diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_hellen81.h b/firmware/controllers/generated/engine_configuration_generated_structures_hellen81.h index 147074e8ca..3a2e95588e 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_hellen81.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_hellen81.h @@ -2883,7 +2883,7 @@ struct engine_configuration_s { bool enableKnockSpectrogram : 1 {}; /** offset 1492 bit 31 */ - bool unusedBit_517_31 : 1 {}; + bool enableKnockSpectrogramFilter : 1 {}; /** * This is the duration in cycles that the IAC will take to reach its normal idle position, it can be used to hold the idle higher for a few seconds after cranking to improve startup.\Should be 100 once tune is better * units: cycles @@ -4611,9 +4611,44 @@ struct engine_configuration_s { */ linear_sensor_s auxLinear4; /** - * units: units + * Below TPS value all knock suppression will be disabled. + * units: % * offset 3896 */ + scaled_channel knockSuppressMinTps; + /** + * Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump), + * units: % + * offset 3897 + */ + scaled_channel knockFuelTrimAggression; + /** + * After a knock event, reapply fuel at this rate. + * units: deg/s + * offset 3898 + */ + scaled_channel knockFuelTrimReapplyRate; + /** + * Fuel trim when knock, max 30% + * units: % + * offset 3899 + */ + scaled_channel knockFuelTrim; + /** + * units: sense + * offset 3900 + */ + float knockSpectrumSensitivity; + /** + * "Estimated knock frequency, ignore cylinderBore if this one > 0" + * units: Hz + * offset 3904 + */ + float knockFrequency; + /** + * units: units + * offset 3908 + */ uint8_t unusedOftenChangesDuringFirmwareUpdate[END_OF_CALIBRATION_PADDING]; }; static_assert(sizeof(engine_configuration_s) == 4024); diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_hellen88bmw.h b/firmware/controllers/generated/engine_configuration_generated_structures_hellen88bmw.h index 147074e8ca..3a2e95588e 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_hellen88bmw.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_hellen88bmw.h @@ -2883,7 +2883,7 @@ struct engine_configuration_s { bool enableKnockSpectrogram : 1 {}; /** offset 1492 bit 31 */ - bool unusedBit_517_31 : 1 {}; + bool enableKnockSpectrogramFilter : 1 {}; /** * This is the duration in cycles that the IAC will take to reach its normal idle position, it can be used to hold the idle higher for a few seconds after cranking to improve startup.\Should be 100 once tune is better * units: cycles @@ -4611,9 +4611,44 @@ struct engine_configuration_s { */ linear_sensor_s auxLinear4; /** - * units: units + * Below TPS value all knock suppression will be disabled. + * units: % * offset 3896 */ + scaled_channel knockSuppressMinTps; + /** + * Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump), + * units: % + * offset 3897 + */ + scaled_channel knockFuelTrimAggression; + /** + * After a knock event, reapply fuel at this rate. + * units: deg/s + * offset 3898 + */ + scaled_channel knockFuelTrimReapplyRate; + /** + * Fuel trim when knock, max 30% + * units: % + * offset 3899 + */ + scaled_channel knockFuelTrim; + /** + * units: sense + * offset 3900 + */ + float knockSpectrumSensitivity; + /** + * "Estimated knock frequency, ignore cylinderBore if this one > 0" + * units: Hz + * offset 3904 + */ + float knockFrequency; + /** + * units: units + * offset 3908 + */ uint8_t unusedOftenChangesDuringFirmwareUpdate[END_OF_CALIBRATION_PADDING]; }; static_assert(sizeof(engine_configuration_s) == 4024); diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_hellenNA6.h b/firmware/controllers/generated/engine_configuration_generated_structures_hellenNA6.h index 147074e8ca..3a2e95588e 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_hellenNA6.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_hellenNA6.h @@ -2883,7 +2883,7 @@ struct engine_configuration_s { bool enableKnockSpectrogram : 1 {}; /** offset 1492 bit 31 */ - bool unusedBit_517_31 : 1 {}; + bool enableKnockSpectrogramFilter : 1 {}; /** * This is the duration in cycles that the IAC will take to reach its normal idle position, it can be used to hold the idle higher for a few seconds after cranking to improve startup.\Should be 100 once tune is better * units: cycles @@ -4611,9 +4611,44 @@ struct engine_configuration_s { */ linear_sensor_s auxLinear4; /** - * units: units + * Below TPS value all knock suppression will be disabled. + * units: % * offset 3896 */ + scaled_channel knockSuppressMinTps; + /** + * Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump), + * units: % + * offset 3897 + */ + scaled_channel knockFuelTrimAggression; + /** + * After a knock event, reapply fuel at this rate. + * units: deg/s + * offset 3898 + */ + scaled_channel knockFuelTrimReapplyRate; + /** + * Fuel trim when knock, max 30% + * units: % + * offset 3899 + */ + scaled_channel knockFuelTrim; + /** + * units: sense + * offset 3900 + */ + float knockSpectrumSensitivity; + /** + * "Estimated knock frequency, ignore cylinderBore if this one > 0" + * units: Hz + * offset 3904 + */ + float knockFrequency; + /** + * units: units + * offset 3908 + */ uint8_t unusedOftenChangesDuringFirmwareUpdate[END_OF_CALIBRATION_PADDING]; }; static_assert(sizeof(engine_configuration_s) == 4024); diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_hellenNA8_96.h b/firmware/controllers/generated/engine_configuration_generated_structures_hellenNA8_96.h index 147074e8ca..3a2e95588e 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_hellenNA8_96.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_hellenNA8_96.h @@ -2883,7 +2883,7 @@ struct engine_configuration_s { bool enableKnockSpectrogram : 1 {}; /** offset 1492 bit 31 */ - bool unusedBit_517_31 : 1 {}; + bool enableKnockSpectrogramFilter : 1 {}; /** * This is the duration in cycles that the IAC will take to reach its normal idle position, it can be used to hold the idle higher for a few seconds after cranking to improve startup.\Should be 100 once tune is better * units: cycles @@ -4611,9 +4611,44 @@ struct engine_configuration_s { */ linear_sensor_s auxLinear4; /** - * units: units + * Below TPS value all knock suppression will be disabled. + * units: % * offset 3896 */ + scaled_channel knockSuppressMinTps; + /** + * Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump), + * units: % + * offset 3897 + */ + scaled_channel knockFuelTrimAggression; + /** + * After a knock event, reapply fuel at this rate. + * units: deg/s + * offset 3898 + */ + scaled_channel knockFuelTrimReapplyRate; + /** + * Fuel trim when knock, max 30% + * units: % + * offset 3899 + */ + scaled_channel knockFuelTrim; + /** + * units: sense + * offset 3900 + */ + float knockSpectrumSensitivity; + /** + * "Estimated knock frequency, ignore cylinderBore if this one > 0" + * units: Hz + * offset 3904 + */ + float knockFrequency; + /** + * units: units + * offset 3908 + */ uint8_t unusedOftenChangesDuringFirmwareUpdate[END_OF_CALIBRATION_PADDING]; }; static_assert(sizeof(engine_configuration_s) == 4024); diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_m74_9.h b/firmware/controllers/generated/engine_configuration_generated_structures_m74_9.h index 147074e8ca..3a2e95588e 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_m74_9.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_m74_9.h @@ -2883,7 +2883,7 @@ struct engine_configuration_s { bool enableKnockSpectrogram : 1 {}; /** offset 1492 bit 31 */ - bool unusedBit_517_31 : 1 {}; + bool enableKnockSpectrogramFilter : 1 {}; /** * This is the duration in cycles that the IAC will take to reach its normal idle position, it can be used to hold the idle higher for a few seconds after cranking to improve startup.\Should be 100 once tune is better * units: cycles @@ -4611,9 +4611,44 @@ struct engine_configuration_s { */ linear_sensor_s auxLinear4; /** - * units: units + * Below TPS value all knock suppression will be disabled. + * units: % * offset 3896 */ + scaled_channel knockSuppressMinTps; + /** + * Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump), + * units: % + * offset 3897 + */ + scaled_channel knockFuelTrimAggression; + /** + * After a knock event, reapply fuel at this rate. + * units: deg/s + * offset 3898 + */ + scaled_channel knockFuelTrimReapplyRate; + /** + * Fuel trim when knock, max 30% + * units: % + * offset 3899 + */ + scaled_channel knockFuelTrim; + /** + * units: sense + * offset 3900 + */ + float knockSpectrumSensitivity; + /** + * "Estimated knock frequency, ignore cylinderBore if this one > 0" + * units: Hz + * offset 3904 + */ + float knockFrequency; + /** + * units: units + * offset 3908 + */ uint8_t unusedOftenChangesDuringFirmwareUpdate[END_OF_CALIBRATION_PADDING]; }; static_assert(sizeof(engine_configuration_s) == 4024); diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_mre-legacy_f4.h b/firmware/controllers/generated/engine_configuration_generated_structures_mre-legacy_f4.h index d4fc66d659..3b0a57779b 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_mre-legacy_f4.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_mre-legacy_f4.h @@ -2883,7 +2883,7 @@ struct engine_configuration_s { bool enableKnockSpectrogram : 1 {}; /** offset 1492 bit 31 */ - bool unusedBit_517_31 : 1 {}; + bool enableKnockSpectrogramFilter : 1 {}; /** * This is the duration in cycles that the IAC will take to reach its normal idle position, it can be used to hold the idle higher for a few seconds after cranking to improve startup.\Should be 100 once tune is better * units: cycles @@ -4611,9 +4611,44 @@ struct engine_configuration_s { */ linear_sensor_s auxLinear4; /** - * units: units + * Below TPS value all knock suppression will be disabled. + * units: % * offset 3896 */ + scaled_channel knockSuppressMinTps; + /** + * Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump), + * units: % + * offset 3897 + */ + scaled_channel knockFuelTrimAggression; + /** + * After a knock event, reapply fuel at this rate. + * units: deg/s + * offset 3898 + */ + scaled_channel knockFuelTrimReapplyRate; + /** + * Fuel trim when knock, max 30% + * units: % + * offset 3899 + */ + scaled_channel knockFuelTrim; + /** + * units: sense + * offset 3900 + */ + float knockSpectrumSensitivity; + /** + * "Estimated knock frequency, ignore cylinderBore if this one > 0" + * units: Hz + * offset 3904 + */ + float knockFrequency; + /** + * units: units + * offset 3908 + */ uint8_t unusedOftenChangesDuringFirmwareUpdate[END_OF_CALIBRATION_PADDING]; }; static_assert(sizeof(engine_configuration_s) == 4024); diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_mre_f4.h b/firmware/controllers/generated/engine_configuration_generated_structures_mre_f4.h index d4fc66d659..3b0a57779b 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_mre_f4.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_mre_f4.h @@ -2883,7 +2883,7 @@ struct engine_configuration_s { bool enableKnockSpectrogram : 1 {}; /** offset 1492 bit 31 */ - bool unusedBit_517_31 : 1 {}; + bool enableKnockSpectrogramFilter : 1 {}; /** * This is the duration in cycles that the IAC will take to reach its normal idle position, it can be used to hold the idle higher for a few seconds after cranking to improve startup.\Should be 100 once tune is better * units: cycles @@ -4611,9 +4611,44 @@ struct engine_configuration_s { */ linear_sensor_s auxLinear4; /** - * units: units + * Below TPS value all knock suppression will be disabled. + * units: % * offset 3896 */ + scaled_channel knockSuppressMinTps; + /** + * Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump), + * units: % + * offset 3897 + */ + scaled_channel knockFuelTrimAggression; + /** + * After a knock event, reapply fuel at this rate. + * units: deg/s + * offset 3898 + */ + scaled_channel knockFuelTrimReapplyRate; + /** + * Fuel trim when knock, max 30% + * units: % + * offset 3899 + */ + scaled_channel knockFuelTrim; + /** + * units: sense + * offset 3900 + */ + float knockSpectrumSensitivity; + /** + * "Estimated knock frequency, ignore cylinderBore if this one > 0" + * units: Hz + * offset 3904 + */ + float knockFrequency; + /** + * units: units + * offset 3908 + */ uint8_t unusedOftenChangesDuringFirmwareUpdate[END_OF_CALIBRATION_PADDING]; }; static_assert(sizeof(engine_configuration_s) == 4024); diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_mre_f7.h b/firmware/controllers/generated/engine_configuration_generated_structures_mre_f7.h index d4fc66d659..3b0a57779b 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_mre_f7.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_mre_f7.h @@ -2883,7 +2883,7 @@ struct engine_configuration_s { bool enableKnockSpectrogram : 1 {}; /** offset 1492 bit 31 */ - bool unusedBit_517_31 : 1 {}; + bool enableKnockSpectrogramFilter : 1 {}; /** * This is the duration in cycles that the IAC will take to reach its normal idle position, it can be used to hold the idle higher for a few seconds after cranking to improve startup.\Should be 100 once tune is better * units: cycles @@ -4611,9 +4611,44 @@ struct engine_configuration_s { */ linear_sensor_s auxLinear4; /** - * units: units + * Below TPS value all knock suppression will be disabled. + * units: % * offset 3896 */ + scaled_channel knockSuppressMinTps; + /** + * Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump), + * units: % + * offset 3897 + */ + scaled_channel knockFuelTrimAggression; + /** + * After a knock event, reapply fuel at this rate. + * units: deg/s + * offset 3898 + */ + scaled_channel knockFuelTrimReapplyRate; + /** + * Fuel trim when knock, max 30% + * units: % + * offset 3899 + */ + scaled_channel knockFuelTrim; + /** + * units: sense + * offset 3900 + */ + float knockSpectrumSensitivity; + /** + * "Estimated knock frequency, ignore cylinderBore if this one > 0" + * units: Hz + * offset 3904 + */ + float knockFrequency; + /** + * units: units + * offset 3908 + */ uint8_t unusedOftenChangesDuringFirmwareUpdate[END_OF_CALIBRATION_PADDING]; }; static_assert(sizeof(engine_configuration_s) == 4024); diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_nucleo_f413.h b/firmware/controllers/generated/engine_configuration_generated_structures_nucleo_f413.h index 147074e8ca..3a2e95588e 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_nucleo_f413.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_nucleo_f413.h @@ -2883,7 +2883,7 @@ struct engine_configuration_s { bool enableKnockSpectrogram : 1 {}; /** offset 1492 bit 31 */ - bool unusedBit_517_31 : 1 {}; + bool enableKnockSpectrogramFilter : 1 {}; /** * This is the duration in cycles that the IAC will take to reach its normal idle position, it can be used to hold the idle higher for a few seconds after cranking to improve startup.\Should be 100 once tune is better * units: cycles @@ -4611,9 +4611,44 @@ struct engine_configuration_s { */ linear_sensor_s auxLinear4; /** - * units: units + * Below TPS value all knock suppression will be disabled. + * units: % * offset 3896 */ + scaled_channel knockSuppressMinTps; + /** + * Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump), + * units: % + * offset 3897 + */ + scaled_channel knockFuelTrimAggression; + /** + * After a knock event, reapply fuel at this rate. + * units: deg/s + * offset 3898 + */ + scaled_channel knockFuelTrimReapplyRate; + /** + * Fuel trim when knock, max 30% + * units: % + * offset 3899 + */ + scaled_channel knockFuelTrim; + /** + * units: sense + * offset 3900 + */ + float knockSpectrumSensitivity; + /** + * "Estimated knock frequency, ignore cylinderBore if this one > 0" + * units: Hz + * offset 3904 + */ + float knockFrequency; + /** + * units: units + * offset 3908 + */ uint8_t unusedOftenChangesDuringFirmwareUpdate[END_OF_CALIBRATION_PADDING]; }; static_assert(sizeof(engine_configuration_s) == 4024); diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_proteus_f4.h b/firmware/controllers/generated/engine_configuration_generated_structures_proteus_f4.h index b62a2e7863..9335c19eeb 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_proteus_f4.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_proteus_f4.h @@ -2883,7 +2883,7 @@ struct engine_configuration_s { bool enableKnockSpectrogram : 1 {}; /** offset 1492 bit 31 */ - bool unusedBit_517_31 : 1 {}; + bool enableKnockSpectrogramFilter : 1 {}; /** * This is the duration in cycles that the IAC will take to reach its normal idle position, it can be used to hold the idle higher for a few seconds after cranking to improve startup.\Should be 100 once tune is better * units: cycles @@ -4611,9 +4611,44 @@ struct engine_configuration_s { */ linear_sensor_s auxLinear4; /** - * units: units + * Below TPS value all knock suppression will be disabled. + * units: % * offset 3896 */ + scaled_channel knockSuppressMinTps; + /** + * Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump), + * units: % + * offset 3897 + */ + scaled_channel knockFuelTrimAggression; + /** + * After a knock event, reapply fuel at this rate. + * units: deg/s + * offset 3898 + */ + scaled_channel knockFuelTrimReapplyRate; + /** + * Fuel trim when knock, max 30% + * units: % + * offset 3899 + */ + scaled_channel knockFuelTrim; + /** + * units: sense + * offset 3900 + */ + float knockSpectrumSensitivity; + /** + * "Estimated knock frequency, ignore cylinderBore if this one > 0" + * units: Hz + * offset 3904 + */ + float knockFrequency; + /** + * units: units + * offset 3908 + */ uint8_t unusedOftenChangesDuringFirmwareUpdate[END_OF_CALIBRATION_PADDING]; }; static_assert(sizeof(engine_configuration_s) == 4024); diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_proteus_f7.h b/firmware/controllers/generated/engine_configuration_generated_structures_proteus_f7.h index b62a2e7863..9335c19eeb 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_proteus_f7.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_proteus_f7.h @@ -2883,7 +2883,7 @@ struct engine_configuration_s { bool enableKnockSpectrogram : 1 {}; /** offset 1492 bit 31 */ - bool unusedBit_517_31 : 1 {}; + bool enableKnockSpectrogramFilter : 1 {}; /** * This is the duration in cycles that the IAC will take to reach its normal idle position, it can be used to hold the idle higher for a few seconds after cranking to improve startup.\Should be 100 once tune is better * units: cycles @@ -4611,9 +4611,44 @@ struct engine_configuration_s { */ linear_sensor_s auxLinear4; /** - * units: units + * Below TPS value all knock suppression will be disabled. + * units: % * offset 3896 */ + scaled_channel knockSuppressMinTps; + /** + * Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump), + * units: % + * offset 3897 + */ + scaled_channel knockFuelTrimAggression; + /** + * After a knock event, reapply fuel at this rate. + * units: deg/s + * offset 3898 + */ + scaled_channel knockFuelTrimReapplyRate; + /** + * Fuel trim when knock, max 30% + * units: % + * offset 3899 + */ + scaled_channel knockFuelTrim; + /** + * units: sense + * offset 3900 + */ + float knockSpectrumSensitivity; + /** + * "Estimated knock frequency, ignore cylinderBore if this one > 0" + * units: Hz + * offset 3904 + */ + float knockFrequency; + /** + * units: units + * offset 3908 + */ uint8_t unusedOftenChangesDuringFirmwareUpdate[END_OF_CALIBRATION_PADDING]; }; static_assert(sizeof(engine_configuration_s) == 4024); diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_proteus_h7.h b/firmware/controllers/generated/engine_configuration_generated_structures_proteus_h7.h index b62a2e7863..9335c19eeb 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_proteus_h7.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_proteus_h7.h @@ -2883,7 +2883,7 @@ struct engine_configuration_s { bool enableKnockSpectrogram : 1 {}; /** offset 1492 bit 31 */ - bool unusedBit_517_31 : 1 {}; + bool enableKnockSpectrogramFilter : 1 {}; /** * This is the duration in cycles that the IAC will take to reach its normal idle position, it can be used to hold the idle higher for a few seconds after cranking to improve startup.\Should be 100 once tune is better * units: cycles @@ -4611,9 +4611,44 @@ struct engine_configuration_s { */ linear_sensor_s auxLinear4; /** - * units: units + * Below TPS value all knock suppression will be disabled. + * units: % * offset 3896 */ + scaled_channel knockSuppressMinTps; + /** + * Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump), + * units: % + * offset 3897 + */ + scaled_channel knockFuelTrimAggression; + /** + * After a knock event, reapply fuel at this rate. + * units: deg/s + * offset 3898 + */ + scaled_channel knockFuelTrimReapplyRate; + /** + * Fuel trim when knock, max 30% + * units: % + * offset 3899 + */ + scaled_channel knockFuelTrim; + /** + * units: sense + * offset 3900 + */ + float knockSpectrumSensitivity; + /** + * "Estimated knock frequency, ignore cylinderBore if this one > 0" + * units: Hz + * offset 3904 + */ + float knockFrequency; + /** + * units: units + * offset 3908 + */ uint8_t unusedOftenChangesDuringFirmwareUpdate[END_OF_CALIBRATION_PADDING]; }; static_assert(sizeof(engine_configuration_s) == 4024); diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_s105.h b/firmware/controllers/generated/engine_configuration_generated_structures_s105.h index 147074e8ca..3a2e95588e 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_s105.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_s105.h @@ -2883,7 +2883,7 @@ struct engine_configuration_s { bool enableKnockSpectrogram : 1 {}; /** offset 1492 bit 31 */ - bool unusedBit_517_31 : 1 {}; + bool enableKnockSpectrogramFilter : 1 {}; /** * This is the duration in cycles that the IAC will take to reach its normal idle position, it can be used to hold the idle higher for a few seconds after cranking to improve startup.\Should be 100 once tune is better * units: cycles @@ -4611,9 +4611,44 @@ struct engine_configuration_s { */ linear_sensor_s auxLinear4; /** - * units: units + * Below TPS value all knock suppression will be disabled. + * units: % * offset 3896 */ + scaled_channel knockSuppressMinTps; + /** + * Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump), + * units: % + * offset 3897 + */ + scaled_channel knockFuelTrimAggression; + /** + * After a knock event, reapply fuel at this rate. + * units: deg/s + * offset 3898 + */ + scaled_channel knockFuelTrimReapplyRate; + /** + * Fuel trim when knock, max 30% + * units: % + * offset 3899 + */ + scaled_channel knockFuelTrim; + /** + * units: sense + * offset 3900 + */ + float knockSpectrumSensitivity; + /** + * "Estimated knock frequency, ignore cylinderBore if this one > 0" + * units: Hz + * offset 3904 + */ + float knockFrequency; + /** + * units: units + * offset 3908 + */ uint8_t unusedOftenChangesDuringFirmwareUpdate[END_OF_CALIBRATION_PADDING]; }; static_assert(sizeof(engine_configuration_s) == 4024); diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_small-can-board.h b/firmware/controllers/generated/engine_configuration_generated_structures_small-can-board.h index 147074e8ca..3a2e95588e 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_small-can-board.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_small-can-board.h @@ -2883,7 +2883,7 @@ struct engine_configuration_s { bool enableKnockSpectrogram : 1 {}; /** offset 1492 bit 31 */ - bool unusedBit_517_31 : 1 {}; + bool enableKnockSpectrogramFilter : 1 {}; /** * This is the duration in cycles that the IAC will take to reach its normal idle position, it can be used to hold the idle higher for a few seconds after cranking to improve startup.\Should be 100 once tune is better * units: cycles @@ -4611,9 +4611,44 @@ struct engine_configuration_s { */ linear_sensor_s auxLinear4; /** - * units: units + * Below TPS value all knock suppression will be disabled. + * units: % * offset 3896 */ + scaled_channel knockSuppressMinTps; + /** + * Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump), + * units: % + * offset 3897 + */ + scaled_channel knockFuelTrimAggression; + /** + * After a knock event, reapply fuel at this rate. + * units: deg/s + * offset 3898 + */ + scaled_channel knockFuelTrimReapplyRate; + /** + * Fuel trim when knock, max 30% + * units: % + * offset 3899 + */ + scaled_channel knockFuelTrim; + /** + * units: sense + * offset 3900 + */ + float knockSpectrumSensitivity; + /** + * "Estimated knock frequency, ignore cylinderBore if this one > 0" + * units: Hz + * offset 3904 + */ + float knockFrequency; + /** + * units: units + * offset 3908 + */ uint8_t unusedOftenChangesDuringFirmwareUpdate[END_OF_CALIBRATION_PADDING]; }; static_assert(sizeof(engine_configuration_s) == 4024); diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_stm32f429_nucleo.h b/firmware/controllers/generated/engine_configuration_generated_structures_stm32f429_nucleo.h index 147074e8ca..3a2e95588e 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_stm32f429_nucleo.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_stm32f429_nucleo.h @@ -2883,7 +2883,7 @@ struct engine_configuration_s { bool enableKnockSpectrogram : 1 {}; /** offset 1492 bit 31 */ - bool unusedBit_517_31 : 1 {}; + bool enableKnockSpectrogramFilter : 1 {}; /** * This is the duration in cycles that the IAC will take to reach its normal idle position, it can be used to hold the idle higher for a few seconds after cranking to improve startup.\Should be 100 once tune is better * units: cycles @@ -4611,9 +4611,44 @@ struct engine_configuration_s { */ linear_sensor_s auxLinear4; /** - * units: units + * Below TPS value all knock suppression will be disabled. + * units: % * offset 3896 */ + scaled_channel knockSuppressMinTps; + /** + * Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump), + * units: % + * offset 3897 + */ + scaled_channel knockFuelTrimAggression; + /** + * After a knock event, reapply fuel at this rate. + * units: deg/s + * offset 3898 + */ + scaled_channel knockFuelTrimReapplyRate; + /** + * Fuel trim when knock, max 30% + * units: % + * offset 3899 + */ + scaled_channel knockFuelTrim; + /** + * units: sense + * offset 3900 + */ + float knockSpectrumSensitivity; + /** + * "Estimated knock frequency, ignore cylinderBore if this one > 0" + * units: Hz + * offset 3904 + */ + float knockFrequency; + /** + * units: units + * offset 3908 + */ uint8_t unusedOftenChangesDuringFirmwareUpdate[END_OF_CALIBRATION_PADDING]; }; static_assert(sizeof(engine_configuration_s) == 4024); diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_stm32f767_nucleo.h b/firmware/controllers/generated/engine_configuration_generated_structures_stm32f767_nucleo.h index 147074e8ca..3a2e95588e 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_stm32f767_nucleo.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_stm32f767_nucleo.h @@ -2883,7 +2883,7 @@ struct engine_configuration_s { bool enableKnockSpectrogram : 1 {}; /** offset 1492 bit 31 */ - bool unusedBit_517_31 : 1 {}; + bool enableKnockSpectrogramFilter : 1 {}; /** * This is the duration in cycles that the IAC will take to reach its normal idle position, it can be used to hold the idle higher for a few seconds after cranking to improve startup.\Should be 100 once tune is better * units: cycles @@ -4611,9 +4611,44 @@ struct engine_configuration_s { */ linear_sensor_s auxLinear4; /** - * units: units + * Below TPS value all knock suppression will be disabled. + * units: % * offset 3896 */ + scaled_channel knockSuppressMinTps; + /** + * Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump), + * units: % + * offset 3897 + */ + scaled_channel knockFuelTrimAggression; + /** + * After a knock event, reapply fuel at this rate. + * units: deg/s + * offset 3898 + */ + scaled_channel knockFuelTrimReapplyRate; + /** + * Fuel trim when knock, max 30% + * units: % + * offset 3899 + */ + scaled_channel knockFuelTrim; + /** + * units: sense + * offset 3900 + */ + float knockSpectrumSensitivity; + /** + * "Estimated knock frequency, ignore cylinderBore if this one > 0" + * units: Hz + * offset 3904 + */ + float knockFrequency; + /** + * units: units + * offset 3908 + */ uint8_t unusedOftenChangesDuringFirmwareUpdate[END_OF_CALIBRATION_PADDING]; }; static_assert(sizeof(engine_configuration_s) == 4024); diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_stm32h743_nucleo.h b/firmware/controllers/generated/engine_configuration_generated_structures_stm32h743_nucleo.h index 147074e8ca..3a2e95588e 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_stm32h743_nucleo.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_stm32h743_nucleo.h @@ -2883,7 +2883,7 @@ struct engine_configuration_s { bool enableKnockSpectrogram : 1 {}; /** offset 1492 bit 31 */ - bool unusedBit_517_31 : 1 {}; + bool enableKnockSpectrogramFilter : 1 {}; /** * This is the duration in cycles that the IAC will take to reach its normal idle position, it can be used to hold the idle higher for a few seconds after cranking to improve startup.\Should be 100 once tune is better * units: cycles @@ -4611,9 +4611,44 @@ struct engine_configuration_s { */ linear_sensor_s auxLinear4; /** - * units: units + * Below TPS value all knock suppression will be disabled. + * units: % * offset 3896 */ + scaled_channel knockSuppressMinTps; + /** + * Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump), + * units: % + * offset 3897 + */ + scaled_channel knockFuelTrimAggression; + /** + * After a knock event, reapply fuel at this rate. + * units: deg/s + * offset 3898 + */ + scaled_channel knockFuelTrimReapplyRate; + /** + * Fuel trim when knock, max 30% + * units: % + * offset 3899 + */ + scaled_channel knockFuelTrim; + /** + * units: sense + * offset 3900 + */ + float knockSpectrumSensitivity; + /** + * "Estimated knock frequency, ignore cylinderBore if this one > 0" + * units: Hz + * offset 3904 + */ + float knockFrequency; + /** + * units: units + * offset 3908 + */ uint8_t unusedOftenChangesDuringFirmwareUpdate[END_OF_CALIBRATION_PADDING]; }; static_assert(sizeof(engine_configuration_s) == 4024); diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_subaru_eg33_f7.h b/firmware/controllers/generated/engine_configuration_generated_structures_subaru_eg33_f7.h index 147074e8ca..3a2e95588e 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_subaru_eg33_f7.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_subaru_eg33_f7.h @@ -2883,7 +2883,7 @@ struct engine_configuration_s { bool enableKnockSpectrogram : 1 {}; /** offset 1492 bit 31 */ - bool unusedBit_517_31 : 1 {}; + bool enableKnockSpectrogramFilter : 1 {}; /** * This is the duration in cycles that the IAC will take to reach its normal idle position, it can be used to hold the idle higher for a few seconds after cranking to improve startup.\Should be 100 once tune is better * units: cycles @@ -4611,9 +4611,44 @@ struct engine_configuration_s { */ linear_sensor_s auxLinear4; /** - * units: units + * Below TPS value all knock suppression will be disabled. + * units: % * offset 3896 */ + scaled_channel knockSuppressMinTps; + /** + * Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump), + * units: % + * offset 3897 + */ + scaled_channel knockFuelTrimAggression; + /** + * After a knock event, reapply fuel at this rate. + * units: deg/s + * offset 3898 + */ + scaled_channel knockFuelTrimReapplyRate; + /** + * Fuel trim when knock, max 30% + * units: % + * offset 3899 + */ + scaled_channel knockFuelTrim; + /** + * units: sense + * offset 3900 + */ + float knockSpectrumSensitivity; + /** + * "Estimated knock frequency, ignore cylinderBore if this one > 0" + * units: Hz + * offset 3904 + */ + float knockFrequency; + /** + * units: units + * offset 3908 + */ uint8_t unusedOftenChangesDuringFirmwareUpdate[END_OF_CALIBRATION_PADDING]; }; static_assert(sizeof(engine_configuration_s) == 4024); diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_t-b-g.h b/firmware/controllers/generated/engine_configuration_generated_structures_t-b-g.h index 147074e8ca..3a2e95588e 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_t-b-g.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_t-b-g.h @@ -2883,7 +2883,7 @@ struct engine_configuration_s { bool enableKnockSpectrogram : 1 {}; /** offset 1492 bit 31 */ - bool unusedBit_517_31 : 1 {}; + bool enableKnockSpectrogramFilter : 1 {}; /** * This is the duration in cycles that the IAC will take to reach its normal idle position, it can be used to hold the idle higher for a few seconds after cranking to improve startup.\Should be 100 once tune is better * units: cycles @@ -4611,9 +4611,44 @@ struct engine_configuration_s { */ linear_sensor_s auxLinear4; /** - * units: units + * Below TPS value all knock suppression will be disabled. + * units: % * offset 3896 */ + scaled_channel knockSuppressMinTps; + /** + * Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump), + * units: % + * offset 3897 + */ + scaled_channel knockFuelTrimAggression; + /** + * After a knock event, reapply fuel at this rate. + * units: deg/s + * offset 3898 + */ + scaled_channel knockFuelTrimReapplyRate; + /** + * Fuel trim when knock, max 30% + * units: % + * offset 3899 + */ + scaled_channel knockFuelTrim; + /** + * units: sense + * offset 3900 + */ + float knockSpectrumSensitivity; + /** + * "Estimated knock frequency, ignore cylinderBore if this one > 0" + * units: Hz + * offset 3904 + */ + float knockFrequency; + /** + * units: units + * offset 3908 + */ uint8_t unusedOftenChangesDuringFirmwareUpdate[END_OF_CALIBRATION_PADDING]; }; static_assert(sizeof(engine_configuration_s) == 4024); diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_tdg-pdm8.h b/firmware/controllers/generated/engine_configuration_generated_structures_tdg-pdm8.h index 147074e8ca..3a2e95588e 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_tdg-pdm8.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_tdg-pdm8.h @@ -2883,7 +2883,7 @@ struct engine_configuration_s { bool enableKnockSpectrogram : 1 {}; /** offset 1492 bit 31 */ - bool unusedBit_517_31 : 1 {}; + bool enableKnockSpectrogramFilter : 1 {}; /** * This is the duration in cycles that the IAC will take to reach its normal idle position, it can be used to hold the idle higher for a few seconds after cranking to improve startup.\Should be 100 once tune is better * units: cycles @@ -4611,9 +4611,44 @@ struct engine_configuration_s { */ linear_sensor_s auxLinear4; /** - * units: units + * Below TPS value all knock suppression will be disabled. + * units: % * offset 3896 */ + scaled_channel knockSuppressMinTps; + /** + * Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump), + * units: % + * offset 3897 + */ + scaled_channel knockFuelTrimAggression; + /** + * After a knock event, reapply fuel at this rate. + * units: deg/s + * offset 3898 + */ + scaled_channel knockFuelTrimReapplyRate; + /** + * Fuel trim when knock, max 30% + * units: % + * offset 3899 + */ + scaled_channel knockFuelTrim; + /** + * units: sense + * offset 3900 + */ + float knockSpectrumSensitivity; + /** + * "Estimated knock frequency, ignore cylinderBore if this one > 0" + * units: Hz + * offset 3904 + */ + float knockFrequency; + /** + * units: units + * offset 3908 + */ uint8_t unusedOftenChangesDuringFirmwareUpdate[END_OF_CALIBRATION_PADDING]; }; static_assert(sizeof(engine_configuration_s) == 4024); diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_uaefi.h b/firmware/controllers/generated/engine_configuration_generated_structures_uaefi.h index 147074e8ca..3a2e95588e 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_uaefi.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_uaefi.h @@ -2883,7 +2883,7 @@ struct engine_configuration_s { bool enableKnockSpectrogram : 1 {}; /** offset 1492 bit 31 */ - bool unusedBit_517_31 : 1 {}; + bool enableKnockSpectrogramFilter : 1 {}; /** * This is the duration in cycles that the IAC will take to reach its normal idle position, it can be used to hold the idle higher for a few seconds after cranking to improve startup.\Should be 100 once tune is better * units: cycles @@ -4611,9 +4611,44 @@ struct engine_configuration_s { */ linear_sensor_s auxLinear4; /** - * units: units + * Below TPS value all knock suppression will be disabled. + * units: % * offset 3896 */ + scaled_channel knockSuppressMinTps; + /** + * Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump), + * units: % + * offset 3897 + */ + scaled_channel knockFuelTrimAggression; + /** + * After a knock event, reapply fuel at this rate. + * units: deg/s + * offset 3898 + */ + scaled_channel knockFuelTrimReapplyRate; + /** + * Fuel trim when knock, max 30% + * units: % + * offset 3899 + */ + scaled_channel knockFuelTrim; + /** + * units: sense + * offset 3900 + */ + float knockSpectrumSensitivity; + /** + * "Estimated knock frequency, ignore cylinderBore if this one > 0" + * units: Hz + * offset 3904 + */ + float knockFrequency; + /** + * units: units + * offset 3908 + */ uint8_t unusedOftenChangesDuringFirmwareUpdate[END_OF_CALIBRATION_PADDING]; }; static_assert(sizeof(engine_configuration_s) == 4024); diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_uaefi121.h b/firmware/controllers/generated/engine_configuration_generated_structures_uaefi121.h index 147074e8ca..3a2e95588e 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_uaefi121.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_uaefi121.h @@ -2883,7 +2883,7 @@ struct engine_configuration_s { bool enableKnockSpectrogram : 1 {}; /** offset 1492 bit 31 */ - bool unusedBit_517_31 : 1 {}; + bool enableKnockSpectrogramFilter : 1 {}; /** * This is the duration in cycles that the IAC will take to reach its normal idle position, it can be used to hold the idle higher for a few seconds after cranking to improve startup.\Should be 100 once tune is better * units: cycles @@ -4611,9 +4611,44 @@ struct engine_configuration_s { */ linear_sensor_s auxLinear4; /** - * units: units + * Below TPS value all knock suppression will be disabled. + * units: % * offset 3896 */ + scaled_channel knockSuppressMinTps; + /** + * Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump), + * units: % + * offset 3897 + */ + scaled_channel knockFuelTrimAggression; + /** + * After a knock event, reapply fuel at this rate. + * units: deg/s + * offset 3898 + */ + scaled_channel knockFuelTrimReapplyRate; + /** + * Fuel trim when knock, max 30% + * units: % + * offset 3899 + */ + scaled_channel knockFuelTrim; + /** + * units: sense + * offset 3900 + */ + float knockSpectrumSensitivity; + /** + * "Estimated knock frequency, ignore cylinderBore if this one > 0" + * units: Hz + * offset 3904 + */ + float knockFrequency; + /** + * units: units + * offset 3908 + */ uint8_t unusedOftenChangesDuringFirmwareUpdate[END_OF_CALIBRATION_PADDING]; }; static_assert(sizeof(engine_configuration_s) == 4024); diff --git a/firmware/controllers/generated/rusefi_generated_alphax-2chan.h b/firmware/controllers/generated/rusefi_generated_alphax-2chan.h index 54fe9b65bc..f23ce7ca79 100644 --- a/firmware/controllers/generated/rusefi_generated_alphax-2chan.h +++ b/firmware/controllers/generated/rusefi_generated_alphax-2chan.h @@ -349,7 +349,7 @@ #define ego_sensor_e_ES_Innovate_MTX_L 1 #define ego_sensor_e_ES_PLX 4 #define EGT_CHANNEL_COUNT 8 -#define END_OF_CALIBRATION_PADDING 128 +#define END_OF_CALIBRATION_PADDING 116 #define engine_configuration_s_size 4024 #define engine_load_mode_e_auto_enum 0="LM_SPEED_DENSITY",2="LM_ALPHA_N",3="LM_LUA",100="LM_MOCK",1="LM_REAL_MAF" #define engine_load_mode_e_enum "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -1295,7 +1295,7 @@ #define show_2chan_presets true #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 4146669886 +#define SIGNATURE_HASH 721515457 #define SIMULATOR_TUNE_BIN_FILE_NAME "generated/simulator_tune_image.bin" #define SIMULATOR_TUNE_BIN_FILE_NAME_PREFIX "generated/simulator_tune_image" #define SIMULATOR_TUNE_BIN_FILE_NAME_SUFFIX ".bin" @@ -1759,14 +1759,14 @@ #define ts_show_wastegate_sensor true #define ts_show_wbo_canbus_index true #define ts_show_wbo_canbus_set_index true -#define TS_SIGNATURE "rusEFI master.2024.10.21.alphax-2chan.4146669886" +#define TS_SIGNATURE "rusEFI master.2024.10.21.alphax-2chan.721515457" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' #define TS_TEST_COMMAND_char t -#define TS_TOTAL_OUTPUT_SIZE 1752 +#define TS_TOTAL_OUTPUT_SIZE 1828 #define TS_TRIGGER_SCOPE_CHANNEL_1_NAME "Channel 1" #define TS_TRIGGER_SCOPE_CHANNEL_2_NAME "Channel 2" #define TS_TRIGGER_SCOPE_DISABLE 5 diff --git a/firmware/controllers/generated/rusefi_generated_alphax-4chan.h b/firmware/controllers/generated/rusefi_generated_alphax-4chan.h index 8865f21e7f..4bfd82120f 100644 --- a/firmware/controllers/generated/rusefi_generated_alphax-4chan.h +++ b/firmware/controllers/generated/rusefi_generated_alphax-4chan.h @@ -349,7 +349,7 @@ #define ego_sensor_e_ES_Innovate_MTX_L 1 #define ego_sensor_e_ES_PLX 4 #define EGT_CHANNEL_COUNT 8 -#define END_OF_CALIBRATION_PADDING 128 +#define END_OF_CALIBRATION_PADDING 116 #define engine_configuration_s_size 4024 #define engine_load_mode_e_auto_enum 0="LM_SPEED_DENSITY",2="LM_ALPHA_N",3="LM_LUA",100="LM_MOCK",1="LM_REAL_MAF" #define engine_load_mode_e_enum "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -1296,7 +1296,7 @@ #define show_4chan_presets true #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 669565915 +#define SIGNATURE_HASH 4223703332 #define SIMULATOR_TUNE_BIN_FILE_NAME "generated/simulator_tune_image.bin" #define SIMULATOR_TUNE_BIN_FILE_NAME_PREFIX "generated/simulator_tune_image" #define SIMULATOR_TUNE_BIN_FILE_NAME_SUFFIX ".bin" @@ -1760,14 +1760,14 @@ #define ts_show_wastegate_sensor true #define ts_show_wbo_canbus_index true #define ts_show_wbo_canbus_set_index true -#define TS_SIGNATURE "rusEFI master.2024.10.21.alphax-4chan.669565915" +#define TS_SIGNATURE "rusEFI master.2024.10.21.alphax-4chan.4223703332" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' #define TS_TEST_COMMAND_char t -#define TS_TOTAL_OUTPUT_SIZE 1752 +#define TS_TOTAL_OUTPUT_SIZE 1828 #define TS_TRIGGER_SCOPE_CHANNEL_1_NAME "C2/C3 Crank VR" #define TS_TRIGGER_SCOPE_CHANNEL_2_NAME "E5/E6 Cam VR" #define TS_TRIGGER_SCOPE_DISABLE 5 diff --git a/firmware/controllers/generated/rusefi_generated_alphax-4chan_f7.h b/firmware/controllers/generated/rusefi_generated_alphax-4chan_f7.h index d14f60c6e0..97b4c791c1 100644 --- a/firmware/controllers/generated/rusefi_generated_alphax-4chan_f7.h +++ b/firmware/controllers/generated/rusefi_generated_alphax-4chan_f7.h @@ -349,7 +349,7 @@ #define ego_sensor_e_ES_Innovate_MTX_L 1 #define ego_sensor_e_ES_PLX 4 #define EGT_CHANNEL_COUNT 8 -#define END_OF_CALIBRATION_PADDING 128 +#define END_OF_CALIBRATION_PADDING 116 #define engine_configuration_s_size 4024 #define engine_load_mode_e_auto_enum 0="LM_SPEED_DENSITY",2="LM_ALPHA_N",3="LM_LUA",100="LM_MOCK",1="LM_REAL_MAF" #define engine_load_mode_e_enum "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -1296,7 +1296,7 @@ #define show_4chan_presets true #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 669565915 +#define SIGNATURE_HASH 4223703332 #define SIMULATOR_TUNE_BIN_FILE_NAME "generated/simulator_tune_image.bin" #define SIMULATOR_TUNE_BIN_FILE_NAME_PREFIX "generated/simulator_tune_image" #define SIMULATOR_TUNE_BIN_FILE_NAME_SUFFIX ".bin" @@ -1760,14 +1760,14 @@ #define ts_show_wastegate_sensor true #define ts_show_wbo_canbus_index true #define ts_show_wbo_canbus_set_index true -#define TS_SIGNATURE "rusEFI master.2024.10.21.alphax-4chan_f7.669565915" +#define TS_SIGNATURE "rusEFI master.2024.10.21.alphax-4chan_f7.4223703332" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' #define TS_TEST_COMMAND_char t -#define TS_TOTAL_OUTPUT_SIZE 1752 +#define TS_TOTAL_OUTPUT_SIZE 1828 #define TS_TRIGGER_SCOPE_CHANNEL_1_NAME "C2/C3 Crank VR" #define TS_TRIGGER_SCOPE_CHANNEL_2_NAME "E5/E6 Cam VR" #define TS_TRIGGER_SCOPE_DISABLE 5 diff --git a/firmware/controllers/generated/rusefi_generated_alphax-4k-gdi.h b/firmware/controllers/generated/rusefi_generated_alphax-4k-gdi.h index f0c05d7169..aa335456fa 100644 --- a/firmware/controllers/generated/rusefi_generated_alphax-4k-gdi.h +++ b/firmware/controllers/generated/rusefi_generated_alphax-4k-gdi.h @@ -350,7 +350,7 @@ #define ego_sensor_e_ES_Innovate_MTX_L 1 #define ego_sensor_e_ES_PLX 4 #define EGT_CHANNEL_COUNT 8 -#define END_OF_CALIBRATION_PADDING 128 +#define END_OF_CALIBRATION_PADDING 116 #define engine_configuration_s_size 4024 #define engine_load_mode_e_auto_enum 0="LM_SPEED_DENSITY",2="LM_ALPHA_N",3="LM_LUA",100="LM_MOCK",1="LM_REAL_MAF" #define engine_load_mode_e_enum "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -1295,7 +1295,7 @@ #define SentEtbType_NONE 0 #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 1412969003 +#define SIGNATURE_HASH 2282776788 #define SIMULATOR_TUNE_BIN_FILE_NAME "generated/simulator_tune_image.bin" #define SIMULATOR_TUNE_BIN_FILE_NAME_PREFIX "generated/simulator_tune_image" #define SIMULATOR_TUNE_BIN_FILE_NAME_SUFFIX ".bin" @@ -1759,14 +1759,14 @@ #define ts_show_wastegate_sensor true #define ts_show_wbo_canbus_index true #define ts_show_wbo_canbus_set_index true -#define TS_SIGNATURE "rusEFI master.2024.10.21.alphax-4k-gdi.1412969003" +#define TS_SIGNATURE "rusEFI master.2024.10.21.alphax-4k-gdi.2282776788" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' #define TS_TEST_COMMAND_char t -#define TS_TOTAL_OUTPUT_SIZE 1752 +#define TS_TOTAL_OUTPUT_SIZE 1828 #define TS_TRIGGER_SCOPE_CHANNEL_1_NAME "Channel 1" #define TS_TRIGGER_SCOPE_CHANNEL_2_NAME "Channel 2" #define TS_TRIGGER_SCOPE_DISABLE 5 diff --git a/firmware/controllers/generated/rusefi_generated_alphax-8chan-revA.h b/firmware/controllers/generated/rusefi_generated_alphax-8chan-revA.h index 612d93a4db..3417cfd1c6 100644 --- a/firmware/controllers/generated/rusefi_generated_alphax-8chan-revA.h +++ b/firmware/controllers/generated/rusefi_generated_alphax-8chan-revA.h @@ -349,7 +349,7 @@ #define ego_sensor_e_ES_Innovate_MTX_L 1 #define ego_sensor_e_ES_PLX 4 #define EGT_CHANNEL_COUNT 8 -#define END_OF_CALIBRATION_PADDING 128 +#define END_OF_CALIBRATION_PADDING 116 #define engine_configuration_s_size 4024 #define engine_load_mode_e_auto_enum 0="LM_SPEED_DENSITY",2="LM_ALPHA_N",3="LM_LUA",100="LM_MOCK",1="LM_REAL_MAF" #define engine_load_mode_e_enum "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -1295,7 +1295,7 @@ #define show_8chan_presets true #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 2078698918 +#define SIGNATURE_HASH 2815309657 #define SIMULATOR_TUNE_BIN_FILE_NAME "generated/simulator_tune_image.bin" #define SIMULATOR_TUNE_BIN_FILE_NAME_PREFIX "generated/simulator_tune_image" #define SIMULATOR_TUNE_BIN_FILE_NAME_SUFFIX ".bin" @@ -1759,14 +1759,14 @@ #define ts_show_wastegate_sensor true #define ts_show_wbo_canbus_index true #define ts_show_wbo_canbus_set_index true -#define TS_SIGNATURE "rusEFI master.2024.10.21.alphax-8chan-revA.2078698918" +#define TS_SIGNATURE "rusEFI master.2024.10.21.alphax-8chan-revA.2815309657" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' #define TS_TEST_COMMAND_char t -#define TS_TOTAL_OUTPUT_SIZE 1752 +#define TS_TOTAL_OUTPUT_SIZE 1828 #define TS_TRIGGER_SCOPE_CHANNEL_1_NAME "Channel 1" #define TS_TRIGGER_SCOPE_CHANNEL_2_NAME "Channel 2" #define TS_TRIGGER_SCOPE_DISABLE 5 diff --git a/firmware/controllers/generated/rusefi_generated_alphax-8chan.h b/firmware/controllers/generated/rusefi_generated_alphax-8chan.h index 9092be818c..0ce3363027 100644 --- a/firmware/controllers/generated/rusefi_generated_alphax-8chan.h +++ b/firmware/controllers/generated/rusefi_generated_alphax-8chan.h @@ -349,7 +349,7 @@ #define ego_sensor_e_ES_Innovate_MTX_L 1 #define ego_sensor_e_ES_PLX 4 #define EGT_CHANNEL_COUNT 8 -#define END_OF_CALIBRATION_PADDING 128 +#define END_OF_CALIBRATION_PADDING 116 #define engine_configuration_s_size 4040 #define engine_load_mode_e_auto_enum 0="LM_SPEED_DENSITY",2="LM_ALPHA_N",3="LM_LUA",100="LM_MOCK",1="LM_REAL_MAF" #define engine_load_mode_e_enum "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -1295,7 +1295,7 @@ #define show_8chan_presets true #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 1545637850 +#define SIGNATURE_HASH 2148062501 #define SIMULATOR_TUNE_BIN_FILE_NAME "generated/simulator_tune_image.bin" #define SIMULATOR_TUNE_BIN_FILE_NAME_PREFIX "generated/simulator_tune_image" #define SIMULATOR_TUNE_BIN_FILE_NAME_SUFFIX ".bin" @@ -1759,14 +1759,14 @@ #define ts_show_wastegate_sensor true #define ts_show_wbo_canbus_index true #define ts_show_wbo_canbus_set_index true -#define TS_SIGNATURE "rusEFI master.2024.10.21.alphax-8chan.1545637850" +#define TS_SIGNATURE "rusEFI master.2024.10.21.alphax-8chan.2148062501" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' #define TS_TEST_COMMAND_char t -#define TS_TOTAL_OUTPUT_SIZE 1752 +#define TS_TOTAL_OUTPUT_SIZE 1828 #define TS_TRIGGER_SCOPE_CHANNEL_1_NAME "Channel 1" #define TS_TRIGGER_SCOPE_CHANNEL_2_NAME "Channel 2" #define TS_TRIGGER_SCOPE_DISABLE 5 diff --git a/firmware/controllers/generated/rusefi_generated_alphax-8chan_f7.h b/firmware/controllers/generated/rusefi_generated_alphax-8chan_f7.h index 4f798cd013..19068b5a59 100644 --- a/firmware/controllers/generated/rusefi_generated_alphax-8chan_f7.h +++ b/firmware/controllers/generated/rusefi_generated_alphax-8chan_f7.h @@ -349,7 +349,7 @@ #define ego_sensor_e_ES_Innovate_MTX_L 1 #define ego_sensor_e_ES_PLX 4 #define EGT_CHANNEL_COUNT 8 -#define END_OF_CALIBRATION_PADDING 128 +#define END_OF_CALIBRATION_PADDING 116 #define engine_configuration_s_size 4040 #define engine_load_mode_e_auto_enum 0="LM_SPEED_DENSITY",2="LM_ALPHA_N",3="LM_LUA",100="LM_MOCK",1="LM_REAL_MAF" #define engine_load_mode_e_enum "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -1295,7 +1295,7 @@ #define show_8chan_presets true #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 1545637850 +#define SIGNATURE_HASH 2148062501 #define SIMULATOR_TUNE_BIN_FILE_NAME "generated/simulator_tune_image.bin" #define SIMULATOR_TUNE_BIN_FILE_NAME_PREFIX "generated/simulator_tune_image" #define SIMULATOR_TUNE_BIN_FILE_NAME_SUFFIX ".bin" @@ -1759,14 +1759,14 @@ #define ts_show_wastegate_sensor true #define ts_show_wbo_canbus_index true #define ts_show_wbo_canbus_set_index true -#define TS_SIGNATURE "rusEFI master.2024.10.21.alphax-8chan_f7.1545637850" +#define TS_SIGNATURE "rusEFI master.2024.10.21.alphax-8chan_f7.2148062501" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' #define TS_TEST_COMMAND_char t -#define TS_TOTAL_OUTPUT_SIZE 1752 +#define TS_TOTAL_OUTPUT_SIZE 1828 #define TS_TRIGGER_SCOPE_CHANNEL_1_NAME "Channel 1" #define TS_TRIGGER_SCOPE_CHANNEL_2_NAME "Channel 2" #define TS_TRIGGER_SCOPE_DISABLE 5 diff --git a/firmware/controllers/generated/rusefi_generated_alphax-silver.h b/firmware/controllers/generated/rusefi_generated_alphax-silver.h index f9b6d39fea..7355a02930 100644 --- a/firmware/controllers/generated/rusefi_generated_alphax-silver.h +++ b/firmware/controllers/generated/rusefi_generated_alphax-silver.h @@ -349,7 +349,7 @@ #define ego_sensor_e_ES_Innovate_MTX_L 1 #define ego_sensor_e_ES_PLX 4 #define EGT_CHANNEL_COUNT 8 -#define END_OF_CALIBRATION_PADDING 128 +#define END_OF_CALIBRATION_PADDING 116 #define engine_configuration_s_size 4028 #define engine_load_mode_e_auto_enum 0="LM_SPEED_DENSITY",2="LM_ALPHA_N",3="LM_LUA",100="LM_MOCK",1="LM_REAL_MAF" #define engine_load_mode_e_enum "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -1294,7 +1294,7 @@ #define SentEtbType_NONE 0 #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 3143619007 +#define SIGNATURE_HASH 1735887680 #define SIMULATOR_TUNE_BIN_FILE_NAME "generated/simulator_tune_image.bin" #define SIMULATOR_TUNE_BIN_FILE_NAME_PREFIX "generated/simulator_tune_image" #define SIMULATOR_TUNE_BIN_FILE_NAME_SUFFIX ".bin" @@ -1758,14 +1758,14 @@ #define ts_show_wastegate_sensor true #define ts_show_wbo_canbus_index true #define ts_show_wbo_canbus_set_index true -#define TS_SIGNATURE "rusEFI master.2024.10.21.alphax-silver.3143619007" +#define TS_SIGNATURE "rusEFI master.2024.10.21.alphax-silver.1735887680" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' #define TS_TEST_COMMAND_char t -#define TS_TOTAL_OUTPUT_SIZE 1752 +#define TS_TOTAL_OUTPUT_SIZE 1828 #define TS_TRIGGER_SCOPE_CHANNEL_1_NAME "Channel 1" #define TS_TRIGGER_SCOPE_CHANNEL_2_NAME "Channel 2" #define TS_TRIGGER_SCOPE_DISABLE 5 diff --git a/firmware/controllers/generated/rusefi_generated_at_start_f435.h b/firmware/controllers/generated/rusefi_generated_at_start_f435.h index 1a62ce741a..8d41317a71 100644 --- a/firmware/controllers/generated/rusefi_generated_at_start_f435.h +++ b/firmware/controllers/generated/rusefi_generated_at_start_f435.h @@ -352,7 +352,7 @@ #define ego_sensor_e_ES_Innovate_MTX_L 1 #define ego_sensor_e_ES_PLX 4 #define EGT_CHANNEL_COUNT 8 -#define END_OF_CALIBRATION_PADDING 128 +#define END_OF_CALIBRATION_PADDING 116 #define engine_configuration_s_size 4024 #define engine_load_mode_e_auto_enum 0="LM_SPEED_DENSITY",2="LM_ALPHA_N",3="LM_LUA",100="LM_MOCK",1="LM_REAL_MAF" #define engine_load_mode_e_enum "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -1297,7 +1297,7 @@ #define SentEtbType_NONE 0 #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 2262948377 +#define SIGNATURE_HASH 1523155174 #define SIMULATOR_TUNE_BIN_FILE_NAME "generated/simulator_tune_image.bin" #define SIMULATOR_TUNE_BIN_FILE_NAME_PREFIX "generated/simulator_tune_image" #define SIMULATOR_TUNE_BIN_FILE_NAME_SUFFIX ".bin" @@ -1761,14 +1761,14 @@ #define ts_show_wastegate_sensor true #define ts_show_wbo_canbus_index true #define ts_show_wbo_canbus_set_index true -#define TS_SIGNATURE "rusEFI master.2024.10.21.at_start_f435.2262948377" +#define TS_SIGNATURE "rusEFI master.2024.10.21.at_start_f435.1523155174" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' #define TS_TEST_COMMAND_char t -#define TS_TOTAL_OUTPUT_SIZE 1752 +#define TS_TOTAL_OUTPUT_SIZE 1828 #define TS_TRIGGER_SCOPE_CHANNEL_1_NAME "Channel 1" #define TS_TRIGGER_SCOPE_CHANNEL_2_NAME "Channel 2" #define TS_TRIGGER_SCOPE_DISABLE 5 diff --git a/firmware/controllers/generated/rusefi_generated_atlas.h b/firmware/controllers/generated/rusefi_generated_atlas.h index bf60a0ede4..b7c12a88f0 100644 --- a/firmware/controllers/generated/rusefi_generated_atlas.h +++ b/firmware/controllers/generated/rusefi_generated_atlas.h @@ -352,7 +352,7 @@ #define ego_sensor_e_ES_Innovate_MTX_L 1 #define ego_sensor_e_ES_PLX 4 #define EGT_CHANNEL_COUNT 8 -#define END_OF_CALIBRATION_PADDING 128 +#define END_OF_CALIBRATION_PADDING 116 #define engine_configuration_s_size 3864 #define engine_load_mode_e_auto_enum 0="LM_SPEED_DENSITY",2="LM_ALPHA_N",3="LM_LUA",100="LM_MOCK",1="LM_REAL_MAF" #define engine_load_mode_e_enum "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -1297,7 +1297,7 @@ #define SentEtbType_NONE 0 #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 3269856855 +#define SIGNATURE_HASH 516838568 #define SIMULATOR_TUNE_BIN_FILE_NAME "generated/simulator_tune_image.bin" #define SIMULATOR_TUNE_BIN_FILE_NAME_PREFIX "generated/simulator_tune_image" #define SIMULATOR_TUNE_BIN_FILE_NAME_SUFFIX ".bin" @@ -1761,14 +1761,14 @@ #define ts_show_wastegate_sensor true #define ts_show_wbo_canbus_index true #define ts_show_wbo_canbus_set_index true -#define TS_SIGNATURE "rusEFI master.2024.10.21.atlas.3269856855" +#define TS_SIGNATURE "rusEFI master.2024.10.21.atlas.516838568" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' #define TS_TEST_COMMAND_char t -#define TS_TOTAL_OUTPUT_SIZE 1752 +#define TS_TOTAL_OUTPUT_SIZE 1828 #define TS_TRIGGER_SCOPE_CHANNEL_1_NAME "Channel 1" #define TS_TRIGGER_SCOPE_CHANNEL_2_NAME "Channel 2" #define TS_TRIGGER_SCOPE_DISABLE 5 diff --git a/firmware/controllers/generated/rusefi_generated_f407-discovery.h b/firmware/controllers/generated/rusefi_generated_f407-discovery.h index 0b670dd2df..7c80da0dc2 100644 --- a/firmware/controllers/generated/rusefi_generated_f407-discovery.h +++ b/firmware/controllers/generated/rusefi_generated_f407-discovery.h @@ -351,7 +351,7 @@ #define ego_sensor_e_ES_Innovate_MTX_L 1 #define ego_sensor_e_ES_PLX 4 #define EGT_CHANNEL_COUNT 8 -#define END_OF_CALIBRATION_PADDING 128 +#define END_OF_CALIBRATION_PADDING 116 #define engine_configuration_s_size 4024 #define engine_load_mode_e_auto_enum 0="LM_SPEED_DENSITY",2="LM_ALPHA_N",3="LM_LUA",100="LM_MOCK",1="LM_REAL_MAF" #define engine_load_mode_e_enum "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -1298,7 +1298,7 @@ #define show_tcu_gauges false #define show_test_presets true #define show_vvt_output_pin true -#define SIGNATURE_HASH 1717113764 +#define SIGNATURE_HASH 3127986523 #define SIMULATOR_TUNE_BIN_FILE_NAME "generated/simulator_tune_image.bin" #define SIMULATOR_TUNE_BIN_FILE_NAME_PREFIX "generated/simulator_tune_image" #define SIMULATOR_TUNE_BIN_FILE_NAME_SUFFIX ".bin" @@ -1762,14 +1762,14 @@ #define ts_show_wastegate_sensor true #define ts_show_wbo_canbus_index true #define ts_show_wbo_canbus_set_index true -#define TS_SIGNATURE "rusEFI master.2024.10.21.f407-discovery.1717113764" +#define TS_SIGNATURE "rusEFI master.2024.10.21.f407-discovery.3127986523" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' #define TS_TEST_COMMAND_char t -#define TS_TOTAL_OUTPUT_SIZE 1752 +#define TS_TOTAL_OUTPUT_SIZE 1828 #define TS_TRIGGER_SCOPE_CHANNEL_1_NAME "Channel 1" #define TS_TRIGGER_SCOPE_CHANNEL_2_NAME "Channel 2" #define TS_TRIGGER_SCOPE_DISABLE 5 diff --git a/firmware/controllers/generated/rusefi_generated_f429-discovery.h b/firmware/controllers/generated/rusefi_generated_f429-discovery.h index df0f6b3ec2..13dfa5d3b2 100644 --- a/firmware/controllers/generated/rusefi_generated_f429-discovery.h +++ b/firmware/controllers/generated/rusefi_generated_f429-discovery.h @@ -352,7 +352,7 @@ #define ego_sensor_e_ES_Innovate_MTX_L 1 #define ego_sensor_e_ES_PLX 4 #define EGT_CHANNEL_COUNT 8 -#define END_OF_CALIBRATION_PADDING 128 +#define END_OF_CALIBRATION_PADDING 116 #define engine_configuration_s_size 4024 #define engine_load_mode_e_auto_enum 0="LM_SPEED_DENSITY",2="LM_ALPHA_N",3="LM_LUA",100="LM_MOCK",1="LM_REAL_MAF" #define engine_load_mode_e_enum "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -1297,7 +1297,7 @@ #define SentEtbType_NONE 0 #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 2262948377 +#define SIGNATURE_HASH 1523155174 #define SIMULATOR_TUNE_BIN_FILE_NAME "generated/simulator_tune_image.bin" #define SIMULATOR_TUNE_BIN_FILE_NAME_PREFIX "generated/simulator_tune_image" #define SIMULATOR_TUNE_BIN_FILE_NAME_SUFFIX ".bin" @@ -1761,14 +1761,14 @@ #define ts_show_wastegate_sensor true #define ts_show_wbo_canbus_index true #define ts_show_wbo_canbus_set_index true -#define TS_SIGNATURE "rusEFI master.2024.10.21.f429-discovery.2262948377" +#define TS_SIGNATURE "rusEFI master.2024.10.21.f429-discovery.1523155174" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' #define TS_TEST_COMMAND_char t -#define TS_TOTAL_OUTPUT_SIZE 1752 +#define TS_TOTAL_OUTPUT_SIZE 1828 #define TS_TRIGGER_SCOPE_CHANNEL_1_NAME "Channel 1" #define TS_TRIGGER_SCOPE_CHANNEL_2_NAME "Channel 2" #define TS_TRIGGER_SCOPE_DISABLE 5 diff --git a/firmware/controllers/generated/rusefi_generated_f469-discovery.h b/firmware/controllers/generated/rusefi_generated_f469-discovery.h index 12efb78d64..570fbec5cc 100644 --- a/firmware/controllers/generated/rusefi_generated_f469-discovery.h +++ b/firmware/controllers/generated/rusefi_generated_f469-discovery.h @@ -352,7 +352,7 @@ #define ego_sensor_e_ES_Innovate_MTX_L 1 #define ego_sensor_e_ES_PLX 4 #define EGT_CHANNEL_COUNT 8 -#define END_OF_CALIBRATION_PADDING 128 +#define END_OF_CALIBRATION_PADDING 116 #define engine_configuration_s_size 4024 #define engine_load_mode_e_auto_enum 0="LM_SPEED_DENSITY",2="LM_ALPHA_N",3="LM_LUA",100="LM_MOCK",1="LM_REAL_MAF" #define engine_load_mode_e_enum "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -1297,7 +1297,7 @@ #define SentEtbType_NONE 0 #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 3023494282 +#define SIGNATURE_HASH 1746830965 #define SIMULATOR_TUNE_BIN_FILE_NAME "generated/simulator_tune_image.bin" #define SIMULATOR_TUNE_BIN_FILE_NAME_PREFIX "generated/simulator_tune_image" #define SIMULATOR_TUNE_BIN_FILE_NAME_SUFFIX ".bin" @@ -1761,14 +1761,14 @@ #define ts_show_wastegate_sensor true #define ts_show_wbo_canbus_index true #define ts_show_wbo_canbus_set_index true -#define TS_SIGNATURE "rusEFI master.2024.10.21.f469-discovery.3023494282" +#define TS_SIGNATURE "rusEFI master.2024.10.21.f469-discovery.1746830965" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' #define TS_TEST_COMMAND_char t -#define TS_TOTAL_OUTPUT_SIZE 1752 +#define TS_TOTAL_OUTPUT_SIZE 1828 #define TS_TRIGGER_SCOPE_CHANNEL_1_NAME "Channel 1" #define TS_TRIGGER_SCOPE_CHANNEL_2_NAME "Channel 2" #define TS_TRIGGER_SCOPE_DISABLE 5 diff --git a/firmware/controllers/generated/rusefi_generated_frankenso_na6.h b/firmware/controllers/generated/rusefi_generated_frankenso_na6.h index f79430b35a..c8de39f764 100644 --- a/firmware/controllers/generated/rusefi_generated_frankenso_na6.h +++ b/firmware/controllers/generated/rusefi_generated_frankenso_na6.h @@ -352,7 +352,7 @@ #define ego_sensor_e_ES_Innovate_MTX_L 1 #define ego_sensor_e_ES_PLX 4 #define EGT_CHANNEL_COUNT 8 -#define END_OF_CALIBRATION_PADDING 128 +#define END_OF_CALIBRATION_PADDING 116 #define engine_configuration_s_size 4024 #define engine_load_mode_e_auto_enum 0="LM_SPEED_DENSITY",2="LM_ALPHA_N",3="LM_LUA",100="LM_MOCK",1="LM_REAL_MAF" #define engine_load_mode_e_enum "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -1299,7 +1299,7 @@ #define show_tcu_gauges false #define show_test_presets true #define show_vvt_output_pin true -#define SIGNATURE_HASH 3496128002 +#define SIGNATURE_HASH 206238973 #define SIMULATOR_TUNE_BIN_FILE_NAME "generated/simulator_tune_image.bin" #define SIMULATOR_TUNE_BIN_FILE_NAME_PREFIX "generated/simulator_tune_image" #define SIMULATOR_TUNE_BIN_FILE_NAME_SUFFIX ".bin" @@ -1763,14 +1763,14 @@ #define ts_show_wastegate_sensor true #define ts_show_wbo_canbus_index true #define ts_show_wbo_canbus_set_index true -#define TS_SIGNATURE "rusEFI master.2024.10.21.frankenso_na6.3496128002" +#define TS_SIGNATURE "rusEFI master.2024.10.21.frankenso_na6.206238973" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' #define TS_TEST_COMMAND_char t -#define TS_TOTAL_OUTPUT_SIZE 1752 +#define TS_TOTAL_OUTPUT_SIZE 1828 #define TS_TRIGGER_SCOPE_CHANNEL_1_NAME "Channel 1" #define TS_TRIGGER_SCOPE_CHANNEL_2_NAME "Channel 2" #define TS_TRIGGER_SCOPE_DISABLE 5 diff --git a/firmware/controllers/generated/rusefi_generated_haba208.h b/firmware/controllers/generated/rusefi_generated_haba208.h index 2a9efa90d1..8a8c80399e 100644 --- a/firmware/controllers/generated/rusefi_generated_haba208.h +++ b/firmware/controllers/generated/rusefi_generated_haba208.h @@ -352,7 +352,7 @@ #define ego_sensor_e_ES_Innovate_MTX_L 1 #define ego_sensor_e_ES_PLX 4 #define EGT_CHANNEL_COUNT 8 -#define END_OF_CALIBRATION_PADDING 128 +#define END_OF_CALIBRATION_PADDING 116 #define engine_configuration_s_size 4024 #define engine_load_mode_e_auto_enum 0="LM_SPEED_DENSITY",2="LM_ALPHA_N",3="LM_LUA",100="LM_MOCK",1="LM_REAL_MAF" #define engine_load_mode_e_enum "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -1297,7 +1297,7 @@ #define SentEtbType_NONE 0 #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 2262948377 +#define SIGNATURE_HASH 1523155174 #define SIMULATOR_TUNE_BIN_FILE_NAME "generated/simulator_tune_image.bin" #define SIMULATOR_TUNE_BIN_FILE_NAME_PREFIX "generated/simulator_tune_image" #define SIMULATOR_TUNE_BIN_FILE_NAME_SUFFIX ".bin" @@ -1761,14 +1761,14 @@ #define ts_show_wastegate_sensor true #define ts_show_wbo_canbus_index true #define ts_show_wbo_canbus_set_index true -#define TS_SIGNATURE "rusEFI master.2024.10.21.haba208.2262948377" +#define TS_SIGNATURE "rusEFI master.2024.10.21.haba208.1523155174" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' #define TS_TEST_COMMAND_char t -#define TS_TOTAL_OUTPUT_SIZE 1752 +#define TS_TOTAL_OUTPUT_SIZE 1828 #define TS_TRIGGER_SCOPE_CHANNEL_1_NAME "Channel 1" #define TS_TRIGGER_SCOPE_CHANNEL_2_NAME "Channel 2" #define TS_TRIGGER_SCOPE_DISABLE 5 diff --git a/firmware/controllers/generated/rusefi_generated_hellen-112-17.h b/firmware/controllers/generated/rusefi_generated_hellen-112-17.h index 446537227c..76f5d294df 100644 --- a/firmware/controllers/generated/rusefi_generated_hellen-112-17.h +++ b/firmware/controllers/generated/rusefi_generated_hellen-112-17.h @@ -352,7 +352,7 @@ #define ego_sensor_e_ES_Innovate_MTX_L 1 #define ego_sensor_e_ES_PLX 4 #define EGT_CHANNEL_COUNT 8 -#define END_OF_CALIBRATION_PADDING 128 +#define END_OF_CALIBRATION_PADDING 116 #define engine_configuration_s_size 4024 #define engine_load_mode_e_auto_enum 0="LM_SPEED_DENSITY",2="LM_ALPHA_N",3="LM_LUA",100="LM_MOCK",1="LM_REAL_MAF" #define engine_load_mode_e_enum "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -1298,7 +1298,7 @@ #define show_8chan_presets false #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 266945181 +#define SIGNATURE_HASH 3552647266 #define SIMULATOR_TUNE_BIN_FILE_NAME "generated/simulator_tune_image.bin" #define SIMULATOR_TUNE_BIN_FILE_NAME_PREFIX "generated/simulator_tune_image" #define SIMULATOR_TUNE_BIN_FILE_NAME_SUFFIX ".bin" @@ -1762,14 +1762,14 @@ #define ts_show_wastegate_sensor true #define ts_show_wbo_canbus_index true #define ts_show_wbo_canbus_set_index true -#define TS_SIGNATURE "rusEFI master.2024.10.21.hellen-112-17.266945181" +#define TS_SIGNATURE "rusEFI master.2024.10.21.hellen-112-17.3552647266" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' #define TS_TEST_COMMAND_char t -#define TS_TOTAL_OUTPUT_SIZE 1752 +#define TS_TOTAL_OUTPUT_SIZE 1828 #define TS_TRIGGER_SCOPE_CHANNEL_1_NAME "Channel 1" #define TS_TRIGGER_SCOPE_CHANNEL_2_NAME "Channel 2" #define TS_TRIGGER_SCOPE_DISABLE 5 diff --git a/firmware/controllers/generated/rusefi_generated_hellen-gm-e67.h b/firmware/controllers/generated/rusefi_generated_hellen-gm-e67.h index 286ab11cd6..a72ff0173b 100644 --- a/firmware/controllers/generated/rusefi_generated_hellen-gm-e67.h +++ b/firmware/controllers/generated/rusefi_generated_hellen-gm-e67.h @@ -352,7 +352,7 @@ #define ego_sensor_e_ES_Innovate_MTX_L 1 #define ego_sensor_e_ES_PLX 4 #define EGT_CHANNEL_COUNT 8 -#define END_OF_CALIBRATION_PADDING 128 +#define END_OF_CALIBRATION_PADDING 116 #define engine_configuration_s_size 4024 #define engine_load_mode_e_auto_enum 0="LM_SPEED_DENSITY",2="LM_ALPHA_N",3="LM_LUA",100="LM_MOCK",1="LM_REAL_MAF" #define engine_load_mode_e_enum "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -1297,7 +1297,7 @@ #define SentEtbType_NONE 0 #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 1251524001 +#define SIGNATURE_HASH 2528175966 #define SIMULATOR_TUNE_BIN_FILE_NAME "generated/simulator_tune_image.bin" #define SIMULATOR_TUNE_BIN_FILE_NAME_PREFIX "generated/simulator_tune_image" #define SIMULATOR_TUNE_BIN_FILE_NAME_SUFFIX ".bin" @@ -1761,14 +1761,14 @@ #define ts_show_wastegate_sensor true #define ts_show_wbo_canbus_index true #define ts_show_wbo_canbus_set_index true -#define TS_SIGNATURE "rusEFI master.2024.10.21.hellen-gm-e67.1251524001" +#define TS_SIGNATURE "rusEFI master.2024.10.21.hellen-gm-e67.2528175966" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' #define TS_TEST_COMMAND_char t -#define TS_TOTAL_OUTPUT_SIZE 1752 +#define TS_TOTAL_OUTPUT_SIZE 1828 #define TS_TRIGGER_SCOPE_CHANNEL_1_NAME "Channel 1" #define TS_TRIGGER_SCOPE_CHANNEL_2_NAME "Channel 2" #define TS_TRIGGER_SCOPE_DISABLE 5 diff --git a/firmware/controllers/generated/rusefi_generated_hellen-honda-k.h b/firmware/controllers/generated/rusefi_generated_hellen-honda-k.h index e9ec9d365f..f32e88523e 100644 --- a/firmware/controllers/generated/rusefi_generated_hellen-honda-k.h +++ b/firmware/controllers/generated/rusefi_generated_hellen-honda-k.h @@ -350,7 +350,7 @@ #define ego_sensor_e_ES_Innovate_MTX_L 1 #define ego_sensor_e_ES_PLX 4 #define EGT_CHANNEL_COUNT 8 -#define END_OF_CALIBRATION_PADDING 128 +#define END_OF_CALIBRATION_PADDING 116 #define engine_configuration_s_size 4024 #define engine_load_mode_e_auto_enum 0="LM_SPEED_DENSITY",2="LM_ALPHA_N",3="LM_LUA",100="LM_MOCK",1="LM_REAL_MAF" #define engine_load_mode_e_enum "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -1295,7 +1295,7 @@ #define SentEtbType_NONE 0 #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 3537414255 +#define SIGNATURE_HASH 250671760 #define SIMULATOR_TUNE_BIN_FILE_NAME "generated/simulator_tune_image.bin" #define SIMULATOR_TUNE_BIN_FILE_NAME_PREFIX "generated/simulator_tune_image" #define SIMULATOR_TUNE_BIN_FILE_NAME_SUFFIX ".bin" @@ -1761,14 +1761,14 @@ #define ts_show_wastegate_sensor true #define ts_show_wbo_canbus_index true #define ts_show_wbo_canbus_set_index true -#define TS_SIGNATURE "rusEFI master.2024.10.21.hellen-honda-k.3537414255" +#define TS_SIGNATURE "rusEFI master.2024.10.21.hellen-honda-k.250671760" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' #define TS_TEST_COMMAND_char t -#define TS_TOTAL_OUTPUT_SIZE 1752 +#define TS_TOTAL_OUTPUT_SIZE 1828 #define TS_TRIGGER_SCOPE_CHANNEL_1_NAME "Channel 1" #define TS_TRIGGER_SCOPE_CHANNEL_2_NAME "Channel 2" #define TS_TRIGGER_SCOPE_DISABLE 5 diff --git a/firmware/controllers/generated/rusefi_generated_hellen-nb1.h b/firmware/controllers/generated/rusefi_generated_hellen-nb1.h index 0ab0803d2d..9f5a02c53c 100644 --- a/firmware/controllers/generated/rusefi_generated_hellen-nb1.h +++ b/firmware/controllers/generated/rusefi_generated_hellen-nb1.h @@ -352,7 +352,7 @@ #define ego_sensor_e_ES_Innovate_MTX_L 1 #define ego_sensor_e_ES_PLX 4 #define EGT_CHANNEL_COUNT 8 -#define END_OF_CALIBRATION_PADDING 128 +#define END_OF_CALIBRATION_PADDING 116 #define engine_configuration_s_size 4024 #define engine_load_mode_e_auto_enum 0="LM_SPEED_DENSITY",2="LM_ALPHA_N",3="LM_LUA",100="LM_MOCK",1="LM_REAL_MAF" #define engine_load_mode_e_enum "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -1298,7 +1298,7 @@ #define show_HellenNB1_presets true #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 88542982 +#define SIGNATURE_HASH 3647952377 #define SIMULATOR_TUNE_BIN_FILE_NAME "generated/simulator_tune_image.bin" #define SIMULATOR_TUNE_BIN_FILE_NAME_PREFIX "generated/simulator_tune_image" #define SIMULATOR_TUNE_BIN_FILE_NAME_SUFFIX ".bin" @@ -1762,14 +1762,14 @@ #define ts_show_wastegate_sensor true #define ts_show_wbo_canbus_index true #define ts_show_wbo_canbus_set_index true -#define TS_SIGNATURE "rusEFI master.2024.10.21.hellen-nb1.88542982" +#define TS_SIGNATURE "rusEFI master.2024.10.21.hellen-nb1.3647952377" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' #define TS_TEST_COMMAND_char t -#define TS_TOTAL_OUTPUT_SIZE 1752 +#define TS_TOTAL_OUTPUT_SIZE 1828 #define TS_TRIGGER_SCOPE_CHANNEL_1_NAME "Channel 1" #define TS_TRIGGER_SCOPE_CHANNEL_2_NAME "Channel 2" #define TS_TRIGGER_SCOPE_DISABLE 5 diff --git a/firmware/controllers/generated/rusefi_generated_hellen121nissan.h b/firmware/controllers/generated/rusefi_generated_hellen121nissan.h index e7c92e67eb..bc1dadee01 100644 --- a/firmware/controllers/generated/rusefi_generated_hellen121nissan.h +++ b/firmware/controllers/generated/rusefi_generated_hellen121nissan.h @@ -352,7 +352,7 @@ #define ego_sensor_e_ES_Innovate_MTX_L 1 #define ego_sensor_e_ES_PLX 4 #define EGT_CHANNEL_COUNT 8 -#define END_OF_CALIBRATION_PADDING 128 +#define END_OF_CALIBRATION_PADDING 116 #define engine_configuration_s_size 4024 #define engine_load_mode_e_auto_enum 0="LM_SPEED_DENSITY",2="LM_ALPHA_N",3="LM_LUA",100="LM_MOCK",1="LM_REAL_MAF" #define engine_load_mode_e_enum "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -1298,7 +1298,7 @@ #define show_Hellen121nissan_presets true #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 1450854553 +#define SIGNATURE_HASH 2320634470 #define SIMULATOR_TUNE_BIN_FILE_NAME "generated/simulator_tune_image.bin" #define SIMULATOR_TUNE_BIN_FILE_NAME_PREFIX "generated/simulator_tune_image" #define SIMULATOR_TUNE_BIN_FILE_NAME_SUFFIX ".bin" @@ -1762,14 +1762,14 @@ #define ts_show_wastegate_sensor true #define ts_show_wbo_canbus_index true #define ts_show_wbo_canbus_set_index true -#define TS_SIGNATURE "rusEFI master.2024.10.21.hellen121nissan.1450854553" +#define TS_SIGNATURE "rusEFI master.2024.10.21.hellen121nissan.2320634470" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' #define TS_TEST_COMMAND_char t -#define TS_TOTAL_OUTPUT_SIZE 1752 +#define TS_TOTAL_OUTPUT_SIZE 1828 #define TS_TRIGGER_SCOPE_CHANNEL_1_NAME "Channel 1" #define TS_TRIGGER_SCOPE_CHANNEL_2_NAME "Channel 2" #define TS_TRIGGER_SCOPE_DISABLE 5 diff --git a/firmware/controllers/generated/rusefi_generated_hellen121vag.h b/firmware/controllers/generated/rusefi_generated_hellen121vag.h index 9348135d88..6badce7769 100644 --- a/firmware/controllers/generated/rusefi_generated_hellen121vag.h +++ b/firmware/controllers/generated/rusefi_generated_hellen121vag.h @@ -352,7 +352,7 @@ #define ego_sensor_e_ES_Innovate_MTX_L 1 #define ego_sensor_e_ES_PLX 4 #define EGT_CHANNEL_COUNT 8 -#define END_OF_CALIBRATION_PADDING 128 +#define END_OF_CALIBRATION_PADDING 116 #define engine_configuration_s_size 4024 #define engine_load_mode_e_auto_enum 0="LM_SPEED_DENSITY",2="LM_ALPHA_N",3="LM_LUA",100="LM_MOCK",1="LM_REAL_MAF" #define engine_load_mode_e_enum "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -1298,7 +1298,7 @@ #define show_Hellen121vag_presets true #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 236149470 +#define SIGNATURE_HASH 3527082017 #define SIMULATOR_TUNE_BIN_FILE_NAME "generated/simulator_tune_image.bin" #define SIMULATOR_TUNE_BIN_FILE_NAME_PREFIX "generated/simulator_tune_image" #define SIMULATOR_TUNE_BIN_FILE_NAME_SUFFIX ".bin" @@ -1762,14 +1762,14 @@ #define ts_show_wastegate_sensor true #define ts_show_wbo_canbus_index true #define ts_show_wbo_canbus_set_index true -#define TS_SIGNATURE "rusEFI master.2024.10.21.hellen121vag.236149470" +#define TS_SIGNATURE "rusEFI master.2024.10.21.hellen121vag.3527082017" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' #define TS_TEST_COMMAND_char t -#define TS_TOTAL_OUTPUT_SIZE 1752 +#define TS_TOTAL_OUTPUT_SIZE 1828 #define TS_TRIGGER_SCOPE_CHANNEL_1_NAME "Channel 1" #define TS_TRIGGER_SCOPE_CHANNEL_2_NAME "Channel 2" #define TS_TRIGGER_SCOPE_DISABLE 5 diff --git a/firmware/controllers/generated/rusefi_generated_hellen128.h b/firmware/controllers/generated/rusefi_generated_hellen128.h index 9cd3675255..e50fb504fe 100644 --- a/firmware/controllers/generated/rusefi_generated_hellen128.h +++ b/firmware/controllers/generated/rusefi_generated_hellen128.h @@ -352,7 +352,7 @@ #define ego_sensor_e_ES_Innovate_MTX_L 1 #define ego_sensor_e_ES_PLX 4 #define EGT_CHANNEL_COUNT 8 -#define END_OF_CALIBRATION_PADDING 128 +#define END_OF_CALIBRATION_PADDING 116 #define engine_configuration_s_size 4024 #define engine_load_mode_e_auto_enum 0="LM_SPEED_DENSITY",2="LM_ALPHA_N",3="LM_LUA",100="LM_MOCK",1="LM_REAL_MAF" #define engine_load_mode_e_enum "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -1298,7 +1298,7 @@ #define show_Hellen128merc_presets true #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 1802760430 +#define SIGNATURE_HASH 3076237841 #define SIMULATOR_TUNE_BIN_FILE_NAME "generated/simulator_tune_image.bin" #define SIMULATOR_TUNE_BIN_FILE_NAME_PREFIX "generated/simulator_tune_image" #define SIMULATOR_TUNE_BIN_FILE_NAME_SUFFIX ".bin" @@ -1762,14 +1762,14 @@ #define ts_show_wastegate_sensor true #define ts_show_wbo_canbus_index true #define ts_show_wbo_canbus_set_index true -#define TS_SIGNATURE "rusEFI master.2024.10.21.hellen128.1802760430" +#define TS_SIGNATURE "rusEFI master.2024.10.21.hellen128.3076237841" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' #define TS_TEST_COMMAND_char t -#define TS_TOTAL_OUTPUT_SIZE 1752 +#define TS_TOTAL_OUTPUT_SIZE 1828 #define TS_TRIGGER_SCOPE_CHANNEL_1_NAME "Channel 1" #define TS_TRIGGER_SCOPE_CHANNEL_2_NAME "Channel 2" #define TS_TRIGGER_SCOPE_DISABLE 5 diff --git a/firmware/controllers/generated/rusefi_generated_hellen154hyundai.h b/firmware/controllers/generated/rusefi_generated_hellen154hyundai.h index 99ed33bbae..1244880a7f 100644 --- a/firmware/controllers/generated/rusefi_generated_hellen154hyundai.h +++ b/firmware/controllers/generated/rusefi_generated_hellen154hyundai.h @@ -350,7 +350,7 @@ #define ego_sensor_e_ES_Innovate_MTX_L 1 #define ego_sensor_e_ES_PLX 4 #define EGT_CHANNEL_COUNT 8 -#define END_OF_CALIBRATION_PADDING 128 +#define END_OF_CALIBRATION_PADDING 116 #define engine_configuration_s_size 4024 #define engine_load_mode_e_auto_enum 0="LM_SPEED_DENSITY",2="LM_ALPHA_N",3="LM_LUA",100="LM_MOCK",1="LM_REAL_MAF" #define engine_load_mode_e_enum "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -1295,7 +1295,7 @@ #define SentEtbType_NONE 0 #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 2696209283 +#define SIGNATURE_HASH 2090645884 #define SIMULATOR_TUNE_BIN_FILE_NAME "generated/simulator_tune_image.bin" #define SIMULATOR_TUNE_BIN_FILE_NAME_PREFIX "generated/simulator_tune_image" #define SIMULATOR_TUNE_BIN_FILE_NAME_SUFFIX ".bin" @@ -1759,14 +1759,14 @@ #define ts_show_wastegate_sensor true #define ts_show_wbo_canbus_index true #define ts_show_wbo_canbus_set_index true -#define TS_SIGNATURE "rusEFI master.2024.10.21.hellen154hyundai.2696209283" +#define TS_SIGNATURE "rusEFI master.2024.10.21.hellen154hyundai.2090645884" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' #define TS_TEST_COMMAND_char t -#define TS_TOTAL_OUTPUT_SIZE 1752 +#define TS_TOTAL_OUTPUT_SIZE 1828 #define TS_TRIGGER_SCOPE_CHANNEL_1_NAME "Channel 1" #define TS_TRIGGER_SCOPE_CHANNEL_2_NAME "Channel 2" #define TS_TRIGGER_SCOPE_DISABLE 5 diff --git a/firmware/controllers/generated/rusefi_generated_hellen154hyundai_f7.h b/firmware/controllers/generated/rusefi_generated_hellen154hyundai_f7.h index 33239cfbe0..c03262083b 100644 --- a/firmware/controllers/generated/rusefi_generated_hellen154hyundai_f7.h +++ b/firmware/controllers/generated/rusefi_generated_hellen154hyundai_f7.h @@ -350,7 +350,7 @@ #define ego_sensor_e_ES_Innovate_MTX_L 1 #define ego_sensor_e_ES_PLX 4 #define EGT_CHANNEL_COUNT 8 -#define END_OF_CALIBRATION_PADDING 128 +#define END_OF_CALIBRATION_PADDING 116 #define engine_configuration_s_size 4024 #define engine_load_mode_e_auto_enum 0="LM_SPEED_DENSITY",2="LM_ALPHA_N",3="LM_LUA",100="LM_MOCK",1="LM_REAL_MAF" #define engine_load_mode_e_enum "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -1295,7 +1295,7 @@ #define SentEtbType_NONE 0 #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 4005727744 +#define SIGNATURE_HASH 854250751 #define SIMULATOR_TUNE_BIN_FILE_NAME "generated/simulator_tune_image.bin" #define SIMULATOR_TUNE_BIN_FILE_NAME_PREFIX "generated/simulator_tune_image" #define SIMULATOR_TUNE_BIN_FILE_NAME_SUFFIX ".bin" @@ -1759,14 +1759,14 @@ #define ts_show_wastegate_sensor true #define ts_show_wbo_canbus_index true #define ts_show_wbo_canbus_set_index true -#define TS_SIGNATURE "rusEFI master.2024.10.21.hellen154hyundai_f7.4005727744" +#define TS_SIGNATURE "rusEFI master.2024.10.21.hellen154hyundai_f7.854250751" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' #define TS_TEST_COMMAND_char t -#define TS_TOTAL_OUTPUT_SIZE 1752 +#define TS_TOTAL_OUTPUT_SIZE 1828 #define TS_TRIGGER_SCOPE_CHANNEL_1_NAME "Channel 1" #define TS_TRIGGER_SCOPE_CHANNEL_2_NAME "Channel 2" #define TS_TRIGGER_SCOPE_DISABLE 5 diff --git a/firmware/controllers/generated/rusefi_generated_hellen72.h b/firmware/controllers/generated/rusefi_generated_hellen72.h index bd3de25814..a7c779c84b 100644 --- a/firmware/controllers/generated/rusefi_generated_hellen72.h +++ b/firmware/controllers/generated/rusefi_generated_hellen72.h @@ -352,7 +352,7 @@ #define ego_sensor_e_ES_Innovate_MTX_L 1 #define ego_sensor_e_ES_PLX 4 #define EGT_CHANNEL_COUNT 8 -#define END_OF_CALIBRATION_PADDING 128 +#define END_OF_CALIBRATION_PADDING 116 #define engine_configuration_s_size 4024 #define engine_load_mode_e_auto_enum 0="LM_SPEED_DENSITY",2="LM_ALPHA_N",3="LM_LUA",100="LM_MOCK",1="LM_REAL_MAF" #define engine_load_mode_e_enum "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -1298,7 +1298,7 @@ #define show_HellenNB2_presets true #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 2076784591 +#define SIGNATURE_HASH 2816568624 #define SIMULATOR_TUNE_BIN_FILE_NAME "generated/simulator_tune_image.bin" #define SIMULATOR_TUNE_BIN_FILE_NAME_PREFIX "generated/simulator_tune_image" #define SIMULATOR_TUNE_BIN_FILE_NAME_SUFFIX ".bin" @@ -1762,14 +1762,14 @@ #define ts_show_wastegate_sensor true #define ts_show_wbo_canbus_index true #define ts_show_wbo_canbus_set_index true -#define TS_SIGNATURE "rusEFI master.2024.10.21.hellen72.2076784591" +#define TS_SIGNATURE "rusEFI master.2024.10.21.hellen72.2816568624" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' #define TS_TEST_COMMAND_char t -#define TS_TOTAL_OUTPUT_SIZE 1752 +#define TS_TOTAL_OUTPUT_SIZE 1828 #define TS_TRIGGER_SCOPE_CHANNEL_1_NAME "Channel 1" #define TS_TRIGGER_SCOPE_CHANNEL_2_NAME "Channel 2" #define TS_TRIGGER_SCOPE_DISABLE 5 diff --git a/firmware/controllers/generated/rusefi_generated_hellen81.h b/firmware/controllers/generated/rusefi_generated_hellen81.h index d4e033b9f4..728bbbceba 100644 --- a/firmware/controllers/generated/rusefi_generated_hellen81.h +++ b/firmware/controllers/generated/rusefi_generated_hellen81.h @@ -352,7 +352,7 @@ #define ego_sensor_e_ES_Innovate_MTX_L 1 #define ego_sensor_e_ES_PLX 4 #define EGT_CHANNEL_COUNT 8 -#define END_OF_CALIBRATION_PADDING 128 +#define END_OF_CALIBRATION_PADDING 116 #define engine_configuration_s_size 4024 #define engine_load_mode_e_auto_enum 0="LM_SPEED_DENSITY",2="LM_ALPHA_N",3="LM_LUA",100="LM_MOCK",1="LM_REAL_MAF" #define engine_load_mode_e_enum "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -1297,7 +1297,7 @@ #define SentEtbType_NONE 0 #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 3815852799 +#define SIGNATURE_HASH 1062801408 #define SIMULATOR_TUNE_BIN_FILE_NAME "generated/simulator_tune_image.bin" #define SIMULATOR_TUNE_BIN_FILE_NAME_PREFIX "generated/simulator_tune_image" #define SIMULATOR_TUNE_BIN_FILE_NAME_SUFFIX ".bin" @@ -1761,14 +1761,14 @@ #define ts_show_wastegate_sensor true #define ts_show_wbo_canbus_index true #define ts_show_wbo_canbus_set_index true -#define TS_SIGNATURE "rusEFI master.2024.10.21.hellen81.3815852799" +#define TS_SIGNATURE "rusEFI master.2024.10.21.hellen81.1062801408" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' #define TS_TEST_COMMAND_char t -#define TS_TOTAL_OUTPUT_SIZE 1752 +#define TS_TOTAL_OUTPUT_SIZE 1828 #define TS_TRIGGER_SCOPE_CHANNEL_1_NAME "Channel 1" #define TS_TRIGGER_SCOPE_CHANNEL_2_NAME "Channel 2" #define TS_TRIGGER_SCOPE_DISABLE 5 diff --git a/firmware/controllers/generated/rusefi_generated_hellen88bmw.h b/firmware/controllers/generated/rusefi_generated_hellen88bmw.h index 6bb57315c2..293e1617c1 100644 --- a/firmware/controllers/generated/rusefi_generated_hellen88bmw.h +++ b/firmware/controllers/generated/rusefi_generated_hellen88bmw.h @@ -352,7 +352,7 @@ #define ego_sensor_e_ES_Innovate_MTX_L 1 #define ego_sensor_e_ES_PLX 4 #define EGT_CHANNEL_COUNT 8 -#define END_OF_CALIBRATION_PADDING 128 +#define END_OF_CALIBRATION_PADDING 116 #define engine_configuration_s_size 4024 #define engine_load_mode_e_auto_enum 0="LM_SPEED_DENSITY",2="LM_ALPHA_N",3="LM_LUA",100="LM_MOCK",1="LM_REAL_MAF" #define engine_load_mode_e_enum "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -1298,7 +1298,7 @@ #define show_Hellen88bmw_presets true #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 4099039164 +#define SIGNATURE_HASH 679085379 #define SIMULATOR_TUNE_BIN_FILE_NAME "generated/simulator_tune_image.bin" #define SIMULATOR_TUNE_BIN_FILE_NAME_PREFIX "generated/simulator_tune_image" #define SIMULATOR_TUNE_BIN_FILE_NAME_SUFFIX ".bin" @@ -1762,14 +1762,14 @@ #define ts_show_wastegate_sensor true #define ts_show_wbo_canbus_index true #define ts_show_wbo_canbus_set_index true -#define TS_SIGNATURE "rusEFI master.2024.10.21.hellen88bmw.4099039164" +#define TS_SIGNATURE "rusEFI master.2024.10.21.hellen88bmw.679085379" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' #define TS_TEST_COMMAND_char t -#define TS_TOTAL_OUTPUT_SIZE 1752 +#define TS_TOTAL_OUTPUT_SIZE 1828 #define TS_TRIGGER_SCOPE_CHANNEL_1_NAME "Channel 1" #define TS_TRIGGER_SCOPE_CHANNEL_2_NAME "Channel 2" #define TS_TRIGGER_SCOPE_DISABLE 5 diff --git a/firmware/controllers/generated/rusefi_generated_hellenNA6.h b/firmware/controllers/generated/rusefi_generated_hellenNA6.h index e7c40214ef..cdfa167886 100644 --- a/firmware/controllers/generated/rusefi_generated_hellenNA6.h +++ b/firmware/controllers/generated/rusefi_generated_hellenNA6.h @@ -352,7 +352,7 @@ #define ego_sensor_e_ES_Innovate_MTX_L 1 #define ego_sensor_e_ES_PLX 4 #define EGT_CHANNEL_COUNT 8 -#define END_OF_CALIBRATION_PADDING 128 +#define END_OF_CALIBRATION_PADDING 116 #define engine_configuration_s_size 4024 #define engine_load_mode_e_auto_enum 0="LM_SPEED_DENSITY",2="LM_ALPHA_N",3="LM_LUA",100="LM_MOCK",1="LM_REAL_MAF" #define engine_load_mode_e_enum "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -1298,7 +1298,7 @@ #define show_HellenNA6_presets true #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 306461177 +#define SIGNATURE_HASH 3463209734 #define SIMULATOR_TUNE_BIN_FILE_NAME "generated/simulator_tune_image.bin" #define SIMULATOR_TUNE_BIN_FILE_NAME_PREFIX "generated/simulator_tune_image" #define SIMULATOR_TUNE_BIN_FILE_NAME_SUFFIX ".bin" @@ -1762,14 +1762,14 @@ #define ts_show_wastegate_sensor true #define ts_show_wbo_canbus_index true #define ts_show_wbo_canbus_set_index true -#define TS_SIGNATURE "rusEFI master.2024.10.21.hellenNA6.306461177" +#define TS_SIGNATURE "rusEFI master.2024.10.21.hellenNA6.3463209734" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' #define TS_TEST_COMMAND_char t -#define TS_TOTAL_OUTPUT_SIZE 1752 +#define TS_TOTAL_OUTPUT_SIZE 1828 #define TS_TRIGGER_SCOPE_CHANNEL_1_NAME "Channel 1" #define TS_TRIGGER_SCOPE_CHANNEL_2_NAME "Channel 2" #define TS_TRIGGER_SCOPE_DISABLE 5 diff --git a/firmware/controllers/generated/rusefi_generated_hellenNA8_96.h b/firmware/controllers/generated/rusefi_generated_hellenNA8_96.h index 3fd154da74..ca69e10291 100644 --- a/firmware/controllers/generated/rusefi_generated_hellenNA8_96.h +++ b/firmware/controllers/generated/rusefi_generated_hellenNA8_96.h @@ -352,7 +352,7 @@ #define ego_sensor_e_ES_Innovate_MTX_L 1 #define ego_sensor_e_ES_PLX 4 #define EGT_CHANNEL_COUNT 8 -#define END_OF_CALIBRATION_PADDING 128 +#define END_OF_CALIBRATION_PADDING 116 #define engine_configuration_s_size 4024 #define engine_load_mode_e_auto_enum 0="LM_SPEED_DENSITY",2="LM_ALPHA_N",3="LM_LUA",100="LM_MOCK",1="LM_REAL_MAF" #define engine_load_mode_e_enum "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -1299,7 +1299,7 @@ #define show_HellenNB1_presets false #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 3986586423 +#define SIGNATURE_HASH 834019784 #define SIMULATOR_TUNE_BIN_FILE_NAME "generated/simulator_tune_image.bin" #define SIMULATOR_TUNE_BIN_FILE_NAME_PREFIX "generated/simulator_tune_image" #define SIMULATOR_TUNE_BIN_FILE_NAME_SUFFIX ".bin" @@ -1763,14 +1763,14 @@ #define ts_show_wastegate_sensor true #define ts_show_wbo_canbus_index true #define ts_show_wbo_canbus_set_index true -#define TS_SIGNATURE "rusEFI master.2024.10.21.hellenNA8_96.3986586423" +#define TS_SIGNATURE "rusEFI master.2024.10.21.hellenNA8_96.834019784" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' #define TS_TEST_COMMAND_char t -#define TS_TOTAL_OUTPUT_SIZE 1752 +#define TS_TOTAL_OUTPUT_SIZE 1828 #define TS_TRIGGER_SCOPE_CHANNEL_1_NAME "Channel 1" #define TS_TRIGGER_SCOPE_CHANNEL_2_NAME "Channel 2" #define TS_TRIGGER_SCOPE_DISABLE 5 diff --git a/firmware/controllers/generated/rusefi_generated_m74_9.h b/firmware/controllers/generated/rusefi_generated_m74_9.h index 97261d15ba..3927de87b0 100644 --- a/firmware/controllers/generated/rusefi_generated_m74_9.h +++ b/firmware/controllers/generated/rusefi_generated_m74_9.h @@ -352,7 +352,7 @@ #define ego_sensor_e_ES_Innovate_MTX_L 1 #define ego_sensor_e_ES_PLX 4 #define EGT_CHANNEL_COUNT 8 -#define END_OF_CALIBRATION_PADDING 128 +#define END_OF_CALIBRATION_PADDING 116 #define engine_configuration_s_size 4024 #define engine_load_mode_e_auto_enum 0="LM_SPEED_DENSITY",2="LM_ALPHA_N",3="LM_LUA",100="LM_MOCK",1="LM_REAL_MAF" #define engine_load_mode_e_enum "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -1297,7 +1297,7 @@ #define SentEtbType_NONE 0 #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 844882630 +#define SIGNATURE_HASH 4000561209 #define SIMULATOR_TUNE_BIN_FILE_NAME "generated/simulator_tune_image.bin" #define SIMULATOR_TUNE_BIN_FILE_NAME_PREFIX "generated/simulator_tune_image" #define SIMULATOR_TUNE_BIN_FILE_NAME_SUFFIX ".bin" @@ -1762,14 +1762,14 @@ #define ts_show_wastegate_sensor true #define ts_show_wbo_canbus_index true #define ts_show_wbo_canbus_set_index true -#define TS_SIGNATURE "rusEFI master.2024.10.21.m74_9.844882630" +#define TS_SIGNATURE "rusEFI master.2024.10.21.m74_9.4000561209" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' #define TS_TEST_COMMAND_char t -#define TS_TOTAL_OUTPUT_SIZE 1752 +#define TS_TOTAL_OUTPUT_SIZE 1828 #define TS_TRIGGER_SCOPE_CHANNEL_1_NAME "Channel 1" #define TS_TRIGGER_SCOPE_CHANNEL_2_NAME "Channel 2" #define TS_TRIGGER_SCOPE_DISABLE 5 diff --git a/firmware/controllers/generated/rusefi_generated_mre-legacy_f4.h b/firmware/controllers/generated/rusefi_generated_mre-legacy_f4.h index c25b3becb5..6f013f421d 100644 --- a/firmware/controllers/generated/rusefi_generated_mre-legacy_f4.h +++ b/firmware/controllers/generated/rusefi_generated_mre-legacy_f4.h @@ -350,7 +350,7 @@ #define ego_sensor_e_ES_Innovate_MTX_L 1 #define ego_sensor_e_ES_PLX 4 #define EGT_CHANNEL_COUNT 8 -#define END_OF_CALIBRATION_PADDING 128 +#define END_OF_CALIBRATION_PADDING 116 #define engine_configuration_s_size 4024 #define engine_load_mode_e_auto_enum 0="LM_SPEED_DENSITY",2="LM_ALPHA_N",3="LM_LUA",100="LM_MOCK",1="LM_REAL_MAF" #define engine_load_mode_e_enum "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -1296,7 +1296,7 @@ #define SentEtbType_NONE 0 #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 3945640004 +#define SIGNATURE_HASH 923134651 #define SIMULATOR_TUNE_BIN_FILE_NAME "generated/simulator_tune_image.bin" #define SIMULATOR_TUNE_BIN_FILE_NAME_PREFIX "generated/simulator_tune_image" #define SIMULATOR_TUNE_BIN_FILE_NAME_SUFFIX ".bin" @@ -1760,14 +1760,14 @@ #define ts_show_wastegate_sensor true #define ts_show_wbo_canbus_index true #define ts_show_wbo_canbus_set_index true -#define TS_SIGNATURE "rusEFI master.2024.10.21.mre-legacy_f4.3945640004" +#define TS_SIGNATURE "rusEFI master.2024.10.21.mre-legacy_f4.923134651" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' #define TS_TEST_COMMAND_char t -#define TS_TOTAL_OUTPUT_SIZE 1752 +#define TS_TOTAL_OUTPUT_SIZE 1828 #define TS_TRIGGER_SCOPE_CHANNEL_1_NAME "Channel 1" #define TS_TRIGGER_SCOPE_CHANNEL_2_NAME "Channel 2" #define TS_TRIGGER_SCOPE_DISABLE 5 diff --git a/firmware/controllers/generated/rusefi_generated_mre_f4.h b/firmware/controllers/generated/rusefi_generated_mre_f4.h index d6d2748dea..be662187f2 100644 --- a/firmware/controllers/generated/rusefi_generated_mre_f4.h +++ b/firmware/controllers/generated/rusefi_generated_mre_f4.h @@ -350,7 +350,7 @@ #define ego_sensor_e_ES_Innovate_MTX_L 1 #define ego_sensor_e_ES_PLX 4 #define EGT_CHANNEL_COUNT 8 -#define END_OF_CALIBRATION_PADDING 128 +#define END_OF_CALIBRATION_PADDING 116 #define engine_configuration_s_size 4024 #define engine_load_mode_e_auto_enum 0="LM_SPEED_DENSITY",2="LM_ALPHA_N",3="LM_LUA",100="LM_MOCK",1="LM_REAL_MAF" #define engine_load_mode_e_enum "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -1296,7 +1296,7 @@ #define SentEtbType_NONE 0 #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 3945640004 +#define SIGNATURE_HASH 923134651 #define SIMULATOR_TUNE_BIN_FILE_NAME "generated/simulator_tune_image.bin" #define SIMULATOR_TUNE_BIN_FILE_NAME_PREFIX "generated/simulator_tune_image" #define SIMULATOR_TUNE_BIN_FILE_NAME_SUFFIX ".bin" @@ -1760,14 +1760,14 @@ #define ts_show_wastegate_sensor true #define ts_show_wbo_canbus_index true #define ts_show_wbo_canbus_set_index true -#define TS_SIGNATURE "rusEFI master.2024.10.21.mre_f4.3945640004" +#define TS_SIGNATURE "rusEFI master.2024.10.21.mre_f4.923134651" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' #define TS_TEST_COMMAND_char t -#define TS_TOTAL_OUTPUT_SIZE 1752 +#define TS_TOTAL_OUTPUT_SIZE 1828 #define TS_TRIGGER_SCOPE_CHANNEL_1_NAME "Channel 1" #define TS_TRIGGER_SCOPE_CHANNEL_2_NAME "Channel 2" #define TS_TRIGGER_SCOPE_DISABLE 5 diff --git a/firmware/controllers/generated/rusefi_generated_mre_f7.h b/firmware/controllers/generated/rusefi_generated_mre_f7.h index 89f276821a..ebdbeb6ff6 100644 --- a/firmware/controllers/generated/rusefi_generated_mre_f7.h +++ b/firmware/controllers/generated/rusefi_generated_mre_f7.h @@ -350,7 +350,7 @@ #define ego_sensor_e_ES_Innovate_MTX_L 1 #define ego_sensor_e_ES_PLX 4 #define EGT_CHANNEL_COUNT 8 -#define END_OF_CALIBRATION_PADDING 128 +#define END_OF_CALIBRATION_PADDING 116 #define engine_configuration_s_size 4024 #define engine_load_mode_e_auto_enum 0="LM_SPEED_DENSITY",2="LM_ALPHA_N",3="LM_LUA",100="LM_MOCK",1="LM_REAL_MAF" #define engine_load_mode_e_enum "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -1296,7 +1296,7 @@ #define SentEtbType_NONE 0 #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 3945640004 +#define SIGNATURE_HASH 923134651 #define SIMULATOR_TUNE_BIN_FILE_NAME "generated/simulator_tune_image.bin" #define SIMULATOR_TUNE_BIN_FILE_NAME_PREFIX "generated/simulator_tune_image" #define SIMULATOR_TUNE_BIN_FILE_NAME_SUFFIX ".bin" @@ -1760,14 +1760,14 @@ #define ts_show_wastegate_sensor true #define ts_show_wbo_canbus_index true #define ts_show_wbo_canbus_set_index true -#define TS_SIGNATURE "rusEFI master.2024.10.21.mre_f7.3945640004" +#define TS_SIGNATURE "rusEFI master.2024.10.21.mre_f7.923134651" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' #define TS_TEST_COMMAND_char t -#define TS_TOTAL_OUTPUT_SIZE 1752 +#define TS_TOTAL_OUTPUT_SIZE 1828 #define TS_TRIGGER_SCOPE_CHANNEL_1_NAME "Channel 1" #define TS_TRIGGER_SCOPE_CHANNEL_2_NAME "Channel 2" #define TS_TRIGGER_SCOPE_DISABLE 5 diff --git a/firmware/controllers/generated/rusefi_generated_nucleo_f413.h b/firmware/controllers/generated/rusefi_generated_nucleo_f413.h index 7850323bcf..0ae673da05 100644 --- a/firmware/controllers/generated/rusefi_generated_nucleo_f413.h +++ b/firmware/controllers/generated/rusefi_generated_nucleo_f413.h @@ -352,7 +352,7 @@ #define ego_sensor_e_ES_Innovate_MTX_L 1 #define ego_sensor_e_ES_PLX 4 #define EGT_CHANNEL_COUNT 8 -#define END_OF_CALIBRATION_PADDING 128 +#define END_OF_CALIBRATION_PADDING 116 #define engine_configuration_s_size 4024 #define engine_load_mode_e_auto_enum 0="LM_SPEED_DENSITY",2="LM_ALPHA_N",3="LM_LUA",100="LM_MOCK",1="LM_REAL_MAF" #define engine_load_mode_e_enum "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -1297,7 +1297,7 @@ #define SentEtbType_NONE 0 #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 2262948377 +#define SIGNATURE_HASH 1523155174 #define SIMULATOR_TUNE_BIN_FILE_NAME "generated/simulator_tune_image.bin" #define SIMULATOR_TUNE_BIN_FILE_NAME_PREFIX "generated/simulator_tune_image" #define SIMULATOR_TUNE_BIN_FILE_NAME_SUFFIX ".bin" @@ -1761,14 +1761,14 @@ #define ts_show_wastegate_sensor true #define ts_show_wbo_canbus_index true #define ts_show_wbo_canbus_set_index true -#define TS_SIGNATURE "rusEFI master.2024.10.21.nucleo_f413.2262948377" +#define TS_SIGNATURE "rusEFI master.2024.10.21.nucleo_f413.1523155174" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' #define TS_TEST_COMMAND_char t -#define TS_TOTAL_OUTPUT_SIZE 1752 +#define TS_TOTAL_OUTPUT_SIZE 1828 #define TS_TRIGGER_SCOPE_CHANNEL_1_NAME "Channel 1" #define TS_TRIGGER_SCOPE_CHANNEL_2_NAME "Channel 2" #define TS_TRIGGER_SCOPE_DISABLE 5 diff --git a/firmware/controllers/generated/rusefi_generated_proteus_f4.h b/firmware/controllers/generated/rusefi_generated_proteus_f4.h index 0ad8976345..57c240e380 100644 --- a/firmware/controllers/generated/rusefi_generated_proteus_f4.h +++ b/firmware/controllers/generated/rusefi_generated_proteus_f4.h @@ -350,7 +350,7 @@ #define ego_sensor_e_ES_Innovate_MTX_L 1 #define ego_sensor_e_ES_PLX 4 #define EGT_CHANNEL_COUNT 8 -#define END_OF_CALIBRATION_PADDING 128 +#define END_OF_CALIBRATION_PADDING 116 #define engine_configuration_s_size 4024 #define engine_load_mode_e_auto_enum 0="LM_SPEED_DENSITY",2="LM_ALPHA_N",3="LM_LUA",100="LM_MOCK",1="LM_REAL_MAF" #define engine_load_mode_e_enum "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -1295,7 +1295,7 @@ #define SentEtbType_NONE 0 #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 3780242052 +#define SIGNATURE_HASH 1031385211 #define SIMULATOR_TUNE_BIN_FILE_NAME "generated/simulator_tune_image.bin" #define SIMULATOR_TUNE_BIN_FILE_NAME_PREFIX "generated/simulator_tune_image" #define SIMULATOR_TUNE_BIN_FILE_NAME_SUFFIX ".bin" @@ -1759,14 +1759,14 @@ #define ts_show_wastegate_sensor true #define ts_show_wbo_canbus_index true #define ts_show_wbo_canbus_set_index true -#define TS_SIGNATURE "rusEFI master.2024.10.21.proteus_f4.3780242052" +#define TS_SIGNATURE "rusEFI master.2024.10.21.proteus_f4.1031385211" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' #define TS_TEST_COMMAND_char t -#define TS_TOTAL_OUTPUT_SIZE 1752 +#define TS_TOTAL_OUTPUT_SIZE 1828 #define TS_TRIGGER_SCOPE_CHANNEL_1_NAME "Channel 1" #define TS_TRIGGER_SCOPE_CHANNEL_2_NAME "Channel 2" #define TS_TRIGGER_SCOPE_DISABLE 5 diff --git a/firmware/controllers/generated/rusefi_generated_proteus_f7.h b/firmware/controllers/generated/rusefi_generated_proteus_f7.h index b915810793..02c0adef0a 100644 --- a/firmware/controllers/generated/rusefi_generated_proteus_f7.h +++ b/firmware/controllers/generated/rusefi_generated_proteus_f7.h @@ -350,7 +350,7 @@ #define ego_sensor_e_ES_Innovate_MTX_L 1 #define ego_sensor_e_ES_PLX 4 #define EGT_CHANNEL_COUNT 8 -#define END_OF_CALIBRATION_PADDING 128 +#define END_OF_CALIBRATION_PADDING 116 #define engine_configuration_s_size 4024 #define engine_load_mode_e_auto_enum 0="LM_SPEED_DENSITY",2="LM_ALPHA_N",3="LM_LUA",100="LM_MOCK",1="LM_REAL_MAF" #define engine_load_mode_e_enum "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -1295,7 +1295,7 @@ #define SentEtbType_NONE 0 #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 3780242052 +#define SIGNATURE_HASH 1031385211 #define SIMULATOR_TUNE_BIN_FILE_NAME "generated/simulator_tune_image.bin" #define SIMULATOR_TUNE_BIN_FILE_NAME_PREFIX "generated/simulator_tune_image" #define SIMULATOR_TUNE_BIN_FILE_NAME_SUFFIX ".bin" @@ -1759,14 +1759,14 @@ #define ts_show_wastegate_sensor true #define ts_show_wbo_canbus_index true #define ts_show_wbo_canbus_set_index true -#define TS_SIGNATURE "rusEFI master.2024.10.21.proteus_f7.3780242052" +#define TS_SIGNATURE "rusEFI master.2024.10.21.proteus_f7.1031385211" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' #define TS_TEST_COMMAND_char t -#define TS_TOTAL_OUTPUT_SIZE 1752 +#define TS_TOTAL_OUTPUT_SIZE 1828 #define TS_TRIGGER_SCOPE_CHANNEL_1_NAME "Channel 1" #define TS_TRIGGER_SCOPE_CHANNEL_2_NAME "Channel 2" #define TS_TRIGGER_SCOPE_DISABLE 5 diff --git a/firmware/controllers/generated/rusefi_generated_proteus_h7.h b/firmware/controllers/generated/rusefi_generated_proteus_h7.h index c643795ad4..34341bda21 100644 --- a/firmware/controllers/generated/rusefi_generated_proteus_h7.h +++ b/firmware/controllers/generated/rusefi_generated_proteus_h7.h @@ -350,7 +350,7 @@ #define ego_sensor_e_ES_Innovate_MTX_L 1 #define ego_sensor_e_ES_PLX 4 #define EGT_CHANNEL_COUNT 8 -#define END_OF_CALIBRATION_PADDING 128 +#define END_OF_CALIBRATION_PADDING 116 #define engine_configuration_s_size 4024 #define engine_load_mode_e_auto_enum 0="LM_SPEED_DENSITY",2="LM_ALPHA_N",3="LM_LUA",100="LM_MOCK",1="LM_REAL_MAF" #define engine_load_mode_e_enum "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -1295,7 +1295,7 @@ #define SentEtbType_NONE 0 #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 3780242052 +#define SIGNATURE_HASH 1031385211 #define SIMULATOR_TUNE_BIN_FILE_NAME "generated/simulator_tune_image.bin" #define SIMULATOR_TUNE_BIN_FILE_NAME_PREFIX "generated/simulator_tune_image" #define SIMULATOR_TUNE_BIN_FILE_NAME_SUFFIX ".bin" @@ -1759,14 +1759,14 @@ #define ts_show_wastegate_sensor true #define ts_show_wbo_canbus_index true #define ts_show_wbo_canbus_set_index true -#define TS_SIGNATURE "rusEFI master.2024.10.21.proteus_h7.3780242052" +#define TS_SIGNATURE "rusEFI master.2024.10.21.proteus_h7.1031385211" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' #define TS_TEST_COMMAND_char t -#define TS_TOTAL_OUTPUT_SIZE 1752 +#define TS_TOTAL_OUTPUT_SIZE 1828 #define TS_TRIGGER_SCOPE_CHANNEL_1_NAME "Channel 1" #define TS_TRIGGER_SCOPE_CHANNEL_2_NAME "Channel 2" #define TS_TRIGGER_SCOPE_DISABLE 5 diff --git a/firmware/controllers/generated/rusefi_generated_s105.h b/firmware/controllers/generated/rusefi_generated_s105.h index d0b72b393a..7d3f88bf76 100644 --- a/firmware/controllers/generated/rusefi_generated_s105.h +++ b/firmware/controllers/generated/rusefi_generated_s105.h @@ -352,7 +352,7 @@ #define ego_sensor_e_ES_Innovate_MTX_L 1 #define ego_sensor_e_ES_PLX 4 #define EGT_CHANNEL_COUNT 8 -#define END_OF_CALIBRATION_PADDING 128 +#define END_OF_CALIBRATION_PADDING 116 #define engine_configuration_s_size 4024 #define engine_load_mode_e_auto_enum 0="LM_SPEED_DENSITY",2="LM_ALPHA_N",3="LM_LUA",100="LM_MOCK",1="LM_REAL_MAF" #define engine_load_mode_e_enum "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -1297,7 +1297,7 @@ #define SentEtbType_NONE 0 #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 963271387 +#define SIGNATURE_HASH 3846307876 #define SIMULATOR_TUNE_BIN_FILE_NAME "generated/simulator_tune_image.bin" #define SIMULATOR_TUNE_BIN_FILE_NAME_PREFIX "generated/simulator_tune_image" #define SIMULATOR_TUNE_BIN_FILE_NAME_SUFFIX ".bin" @@ -1762,14 +1762,14 @@ #define ts_show_wastegate_sensor true #define ts_show_wbo_canbus_index true #define ts_show_wbo_canbus_set_index true -#define TS_SIGNATURE "rusEFI master.2024.10.21.s105.963271387" +#define TS_SIGNATURE "rusEFI master.2024.10.21.s105.3846307876" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' #define TS_TEST_COMMAND_char t -#define TS_TOTAL_OUTPUT_SIZE 1752 +#define TS_TOTAL_OUTPUT_SIZE 1828 #define TS_TRIGGER_SCOPE_CHANNEL_1_NAME "Channel 1" #define TS_TRIGGER_SCOPE_CHANNEL_2_NAME "Channel 2" #define TS_TRIGGER_SCOPE_DISABLE 5 diff --git a/firmware/controllers/generated/rusefi_generated_small-can-board.h b/firmware/controllers/generated/rusefi_generated_small-can-board.h index acc5282afe..ccc9dbd070 100644 --- a/firmware/controllers/generated/rusefi_generated_small-can-board.h +++ b/firmware/controllers/generated/rusefi_generated_small-can-board.h @@ -350,7 +350,7 @@ #define ego_sensor_e_ES_Innovate_MTX_L 1 #define ego_sensor_e_ES_PLX 4 #define EGT_CHANNEL_COUNT 8 -#define END_OF_CALIBRATION_PADDING 128 +#define END_OF_CALIBRATION_PADDING 116 #define engine_configuration_s_size 4024 #define engine_load_mode_e_auto_enum 0="LM_SPEED_DENSITY",2="LM_ALPHA_N",3="LM_LUA",100="LM_MOCK",1="LM_REAL_MAF" #define engine_load_mode_e_enum "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -1295,7 +1295,7 @@ #define SentEtbType_NONE 0 #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 3659200308 +#define SIGNATURE_HASH 103984587 #define SIMULATOR_TUNE_BIN_FILE_NAME "generated/simulator_tune_image.bin" #define SIMULATOR_TUNE_BIN_FILE_NAME_PREFIX "generated/simulator_tune_image" #define SIMULATOR_TUNE_BIN_FILE_NAME_SUFFIX ".bin" @@ -1760,14 +1760,14 @@ #define ts_show_wastegate_sensor true #define ts_show_wbo_canbus_index true #define ts_show_wbo_canbus_set_index true -#define TS_SIGNATURE "rusEFI master.2024.10.21.small-can-board.3659200308" +#define TS_SIGNATURE "rusEFI master.2024.10.21.small-can-board.103984587" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' #define TS_TEST_COMMAND_char t -#define TS_TOTAL_OUTPUT_SIZE 1752 +#define TS_TOTAL_OUTPUT_SIZE 1828 #define TS_TRIGGER_SCOPE_CHANNEL_1_NAME "Channel 1" #define TS_TRIGGER_SCOPE_CHANNEL_2_NAME "Channel 2" #define TS_TRIGGER_SCOPE_DISABLE 5 diff --git a/firmware/controllers/generated/rusefi_generated_stm32f429_nucleo.h b/firmware/controllers/generated/rusefi_generated_stm32f429_nucleo.h index 9ad299823c..98a1dc222a 100644 --- a/firmware/controllers/generated/rusefi_generated_stm32f429_nucleo.h +++ b/firmware/controllers/generated/rusefi_generated_stm32f429_nucleo.h @@ -352,7 +352,7 @@ #define ego_sensor_e_ES_Innovate_MTX_L 1 #define ego_sensor_e_ES_PLX 4 #define EGT_CHANNEL_COUNT 8 -#define END_OF_CALIBRATION_PADDING 128 +#define END_OF_CALIBRATION_PADDING 116 #define engine_configuration_s_size 4024 #define engine_load_mode_e_auto_enum 0="LM_SPEED_DENSITY",2="LM_ALPHA_N",3="LM_LUA",100="LM_MOCK",1="LM_REAL_MAF" #define engine_load_mode_e_enum "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -1297,7 +1297,7 @@ #define SentEtbType_NONE 0 #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 2262948377 +#define SIGNATURE_HASH 1523155174 #define SIMULATOR_TUNE_BIN_FILE_NAME "generated/simulator_tune_image.bin" #define SIMULATOR_TUNE_BIN_FILE_NAME_PREFIX "generated/simulator_tune_image" #define SIMULATOR_TUNE_BIN_FILE_NAME_SUFFIX ".bin" @@ -1761,14 +1761,14 @@ #define ts_show_wastegate_sensor true #define ts_show_wbo_canbus_index true #define ts_show_wbo_canbus_set_index true -#define TS_SIGNATURE "rusEFI master.2024.10.21.stm32f429_nucleo.2262948377" +#define TS_SIGNATURE "rusEFI master.2024.10.21.stm32f429_nucleo.1523155174" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' #define TS_TEST_COMMAND_char t -#define TS_TOTAL_OUTPUT_SIZE 1752 +#define TS_TOTAL_OUTPUT_SIZE 1828 #define TS_TRIGGER_SCOPE_CHANNEL_1_NAME "Channel 1" #define TS_TRIGGER_SCOPE_CHANNEL_2_NAME "Channel 2" #define TS_TRIGGER_SCOPE_DISABLE 5 diff --git a/firmware/controllers/generated/rusefi_generated_stm32f767_nucleo.h b/firmware/controllers/generated/rusefi_generated_stm32f767_nucleo.h index 1631ab5fe3..3c2cbc5f3a 100644 --- a/firmware/controllers/generated/rusefi_generated_stm32f767_nucleo.h +++ b/firmware/controllers/generated/rusefi_generated_stm32f767_nucleo.h @@ -352,7 +352,7 @@ #define ego_sensor_e_ES_Innovate_MTX_L 1 #define ego_sensor_e_ES_PLX 4 #define EGT_CHANNEL_COUNT 8 -#define END_OF_CALIBRATION_PADDING 128 +#define END_OF_CALIBRATION_PADDING 116 #define engine_configuration_s_size 4024 #define engine_load_mode_e_auto_enum 0="LM_SPEED_DENSITY",2="LM_ALPHA_N",3="LM_LUA",100="LM_MOCK",1="LM_REAL_MAF" #define engine_load_mode_e_enum "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -1297,7 +1297,7 @@ #define SentEtbType_NONE 0 #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 2262948377 +#define SIGNATURE_HASH 1523155174 #define SIMULATOR_TUNE_BIN_FILE_NAME "generated/simulator_tune_image.bin" #define SIMULATOR_TUNE_BIN_FILE_NAME_PREFIX "generated/simulator_tune_image" #define SIMULATOR_TUNE_BIN_FILE_NAME_SUFFIX ".bin" @@ -1761,14 +1761,14 @@ #define ts_show_wastegate_sensor true #define ts_show_wbo_canbus_index true #define ts_show_wbo_canbus_set_index true -#define TS_SIGNATURE "rusEFI master.2024.10.21.stm32f767_nucleo.2262948377" +#define TS_SIGNATURE "rusEFI master.2024.10.21.stm32f767_nucleo.1523155174" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' #define TS_TEST_COMMAND_char t -#define TS_TOTAL_OUTPUT_SIZE 1752 +#define TS_TOTAL_OUTPUT_SIZE 1828 #define TS_TRIGGER_SCOPE_CHANNEL_1_NAME "Channel 1" #define TS_TRIGGER_SCOPE_CHANNEL_2_NAME "Channel 2" #define TS_TRIGGER_SCOPE_DISABLE 5 diff --git a/firmware/controllers/generated/rusefi_generated_stm32h743_nucleo.h b/firmware/controllers/generated/rusefi_generated_stm32h743_nucleo.h index 974c1375d2..4932a18ccd 100644 --- a/firmware/controllers/generated/rusefi_generated_stm32h743_nucleo.h +++ b/firmware/controllers/generated/rusefi_generated_stm32h743_nucleo.h @@ -352,7 +352,7 @@ #define ego_sensor_e_ES_Innovate_MTX_L 1 #define ego_sensor_e_ES_PLX 4 #define EGT_CHANNEL_COUNT 8 -#define END_OF_CALIBRATION_PADDING 128 +#define END_OF_CALIBRATION_PADDING 116 #define engine_configuration_s_size 4024 #define engine_load_mode_e_auto_enum 0="LM_SPEED_DENSITY",2="LM_ALPHA_N",3="LM_LUA",100="LM_MOCK",1="LM_REAL_MAF" #define engine_load_mode_e_enum "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -1297,7 +1297,7 @@ #define SentEtbType_NONE 0 #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 2262948377 +#define SIGNATURE_HASH 1523155174 #define SIMULATOR_TUNE_BIN_FILE_NAME "generated/simulator_tune_image.bin" #define SIMULATOR_TUNE_BIN_FILE_NAME_PREFIX "generated/simulator_tune_image" #define SIMULATOR_TUNE_BIN_FILE_NAME_SUFFIX ".bin" @@ -1761,14 +1761,14 @@ #define ts_show_wastegate_sensor true #define ts_show_wbo_canbus_index true #define ts_show_wbo_canbus_set_index true -#define TS_SIGNATURE "rusEFI master.2024.10.21.stm32h743_nucleo.2262948377" +#define TS_SIGNATURE "rusEFI master.2024.10.21.stm32h743_nucleo.1523155174" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' #define TS_TEST_COMMAND_char t -#define TS_TOTAL_OUTPUT_SIZE 1752 +#define TS_TOTAL_OUTPUT_SIZE 1828 #define TS_TRIGGER_SCOPE_CHANNEL_1_NAME "Channel 1" #define TS_TRIGGER_SCOPE_CHANNEL_2_NAME "Channel 2" #define TS_TRIGGER_SCOPE_DISABLE 5 diff --git a/firmware/controllers/generated/rusefi_generated_subaru_eg33_f7.h b/firmware/controllers/generated/rusefi_generated_subaru_eg33_f7.h index 19b9a91b69..c16e64b594 100644 --- a/firmware/controllers/generated/rusefi_generated_subaru_eg33_f7.h +++ b/firmware/controllers/generated/rusefi_generated_subaru_eg33_f7.h @@ -352,7 +352,7 @@ #define ego_sensor_e_ES_Innovate_MTX_L 1 #define ego_sensor_e_ES_PLX 4 #define EGT_CHANNEL_COUNT 8 -#define END_OF_CALIBRATION_PADDING 128 +#define END_OF_CALIBRATION_PADDING 116 #define engine_configuration_s_size 4024 #define engine_load_mode_e_auto_enum 0="LM_SPEED_DENSITY",2="LM_ALPHA_N",3="LM_LUA",100="LM_MOCK",1="LM_REAL_MAF" #define engine_load_mode_e_enum "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -1297,7 +1297,7 @@ #define SentEtbType_NONE 0 #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 3653296711 +#define SIGNATURE_HASH 99137720 #define SIMULATOR_TUNE_BIN_FILE_NAME "generated/simulator_tune_image.bin" #define SIMULATOR_TUNE_BIN_FILE_NAME_PREFIX "generated/simulator_tune_image" #define SIMULATOR_TUNE_BIN_FILE_NAME_SUFFIX ".bin" @@ -1762,14 +1762,14 @@ #define ts_show_wastegate_sensor true #define ts_show_wbo_canbus_index true #define ts_show_wbo_canbus_set_index true -#define TS_SIGNATURE "rusEFI master.2024.10.21.subaru_eg33_f7.3653296711" +#define TS_SIGNATURE "rusEFI master.2024.10.21.subaru_eg33_f7.99137720" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' #define TS_TEST_COMMAND_char t -#define TS_TOTAL_OUTPUT_SIZE 1752 +#define TS_TOTAL_OUTPUT_SIZE 1828 #define TS_TRIGGER_SCOPE_CHANNEL_1_NAME "Channel 1" #define TS_TRIGGER_SCOPE_CHANNEL_2_NAME "Channel 2" #define TS_TRIGGER_SCOPE_DISABLE 5 diff --git a/firmware/controllers/generated/rusefi_generated_t-b-g.h b/firmware/controllers/generated/rusefi_generated_t-b-g.h index 1e1c8e511e..b8717bbe65 100644 --- a/firmware/controllers/generated/rusefi_generated_t-b-g.h +++ b/firmware/controllers/generated/rusefi_generated_t-b-g.h @@ -352,7 +352,7 @@ #define ego_sensor_e_ES_Innovate_MTX_L 1 #define ego_sensor_e_ES_PLX 4 #define EGT_CHANNEL_COUNT 8 -#define END_OF_CALIBRATION_PADDING 128 +#define END_OF_CALIBRATION_PADDING 116 #define engine_configuration_s_size 4024 #define engine_load_mode_e_auto_enum 0="LM_SPEED_DENSITY",2="LM_ALPHA_N",3="LM_LUA",100="LM_MOCK",1="LM_REAL_MAF" #define engine_load_mode_e_enum "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -1297,7 +1297,7 @@ #define SentEtbType_NONE 0 #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 2262948377 +#define SIGNATURE_HASH 1523155174 #define SIMULATOR_TUNE_BIN_FILE_NAME "generated/simulator_tune_image.bin" #define SIMULATOR_TUNE_BIN_FILE_NAME_PREFIX "generated/simulator_tune_image" #define SIMULATOR_TUNE_BIN_FILE_NAME_SUFFIX ".bin" @@ -1761,14 +1761,14 @@ #define ts_show_wastegate_sensor true #define ts_show_wbo_canbus_index true #define ts_show_wbo_canbus_set_index true -#define TS_SIGNATURE "rusEFI master.2024.10.21.t-b-g.2262948377" +#define TS_SIGNATURE "rusEFI master.2024.10.21.t-b-g.1523155174" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' #define TS_TEST_COMMAND_char t -#define TS_TOTAL_OUTPUT_SIZE 1752 +#define TS_TOTAL_OUTPUT_SIZE 1828 #define TS_TRIGGER_SCOPE_CHANNEL_1_NAME "Channel 1" #define TS_TRIGGER_SCOPE_CHANNEL_2_NAME "Channel 2" #define TS_TRIGGER_SCOPE_DISABLE 5 diff --git a/firmware/controllers/generated/rusefi_generated_tdg-pdm8.h b/firmware/controllers/generated/rusefi_generated_tdg-pdm8.h index eb5a88a5fd..ff9f53af64 100644 --- a/firmware/controllers/generated/rusefi_generated_tdg-pdm8.h +++ b/firmware/controllers/generated/rusefi_generated_tdg-pdm8.h @@ -352,7 +352,7 @@ #define ego_sensor_e_ES_Innovate_MTX_L 1 #define ego_sensor_e_ES_PLX 4 #define EGT_CHANNEL_COUNT 8 -#define END_OF_CALIBRATION_PADDING 128 +#define END_OF_CALIBRATION_PADDING 116 #define engine_configuration_s_size 4024 #define engine_load_mode_e_auto_enum 0="LM_SPEED_DENSITY",2="LM_ALPHA_N",3="LM_LUA",100="LM_MOCK",1="LM_REAL_MAF" #define engine_load_mode_e_enum "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -1297,7 +1297,7 @@ #define SentEtbType_NONE 0 #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 3167512209 +#define SIGNATURE_HASH 1625570414 #define SIMULATOR_TUNE_BIN_FILE_NAME "generated/simulator_tune_image.bin" #define SIMULATOR_TUNE_BIN_FILE_NAME_PREFIX "generated/simulator_tune_image" #define SIMULATOR_TUNE_BIN_FILE_NAME_SUFFIX ".bin" @@ -1761,14 +1761,14 @@ #define ts_show_wastegate_sensor true #define ts_show_wbo_canbus_index true #define ts_show_wbo_canbus_set_index true -#define TS_SIGNATURE "rusEFI master.2024.10.21.tdg-pdm8.3167512209" +#define TS_SIGNATURE "rusEFI master.2024.10.21.tdg-pdm8.1625570414" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' #define TS_TEST_COMMAND_char t -#define TS_TOTAL_OUTPUT_SIZE 1752 +#define TS_TOTAL_OUTPUT_SIZE 1828 #define TS_TRIGGER_SCOPE_CHANNEL_1_NAME "Channel 1" #define TS_TRIGGER_SCOPE_CHANNEL_2_NAME "Channel 2" #define TS_TRIGGER_SCOPE_DISABLE 5 diff --git a/firmware/controllers/generated/rusefi_generated_uaefi.h b/firmware/controllers/generated/rusefi_generated_uaefi.h index e280315506..57a85e29a2 100644 --- a/firmware/controllers/generated/rusefi_generated_uaefi.h +++ b/firmware/controllers/generated/rusefi_generated_uaefi.h @@ -350,7 +350,7 @@ #define ego_sensor_e_ES_Innovate_MTX_L 1 #define ego_sensor_e_ES_PLX 4 #define EGT_CHANNEL_COUNT 8 -#define END_OF_CALIBRATION_PADDING 128 +#define END_OF_CALIBRATION_PADDING 116 #define engine_configuration_s_size 4024 #define engine_load_mode_e_auto_enum 0="LM_SPEED_DENSITY",2="LM_ALPHA_N",3="LM_LUA",100="LM_MOCK",1="LM_REAL_MAF" #define engine_load_mode_e_enum "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -1295,7 +1295,7 @@ #define SentEtbType_NONE 0 #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 543625896 +#define SIGNATURE_HASH 4233054295 #define SIMULATOR_TUNE_BIN_FILE_NAME "generated/simulator_tune_image.bin" #define SIMULATOR_TUNE_BIN_FILE_NAME_PREFIX "generated/simulator_tune_image" #define SIMULATOR_TUNE_BIN_FILE_NAME_SUFFIX ".bin" @@ -1759,14 +1759,14 @@ #define ts_show_wastegate_sensor true #define ts_show_wbo_canbus_index true #define ts_show_wbo_canbus_set_index true -#define TS_SIGNATURE "rusEFI master.2024.10.21.uaefi.543625896" +#define TS_SIGNATURE "rusEFI master.2024.10.21.uaefi.4233054295" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' #define TS_TEST_COMMAND_char t -#define TS_TOTAL_OUTPUT_SIZE 1752 +#define TS_TOTAL_OUTPUT_SIZE 1828 #define TS_TRIGGER_SCOPE_CHANNEL_1_NAME "Channel 1" #define TS_TRIGGER_SCOPE_CHANNEL_2_NAME "Channel 2" #define TS_TRIGGER_SCOPE_DISABLE 5 diff --git a/firmware/controllers/generated/rusefi_generated_uaefi121.h b/firmware/controllers/generated/rusefi_generated_uaefi121.h index be8dfb2eb8..e1d8e25a37 100644 --- a/firmware/controllers/generated/rusefi_generated_uaefi121.h +++ b/firmware/controllers/generated/rusefi_generated_uaefi121.h @@ -54,8 +54,8 @@ #define adc_channel_e_EFI_ADC_ERROR 50 #define adc_channel_e_EFI_ADC_NONE 0 #define adc_channel_e_EFI_ADC_TOTAL_CHANNELS 49 -#define adc_channel_e_enum 0="NONE",6="108a Voltage From Key",5="38a TPS1",9="39a TPS2",14="63a IAT",13="65a CLT Coolant",4="90a PPS1",15="91a PPS2" -#define adc_channel_e_fullenum "NONE","INVALID","INVALID","INVALID","90a PPS1","38a TPS1","108a Voltage From Key","INVALID","INVALID","39a TPS2","INVALID","INVALID","INVALID","65a CLT Coolant","63a IAT","91a PPS2" +#define adc_channel_e_enum 0="NONE",6="108a Voltage From Key",5="38a TPS1",9="39a TPS2",14="63a IAT",13="65a CLT Coolant",4="90a PPS1",15="91a PPS2",1="AIN 1",2="AIN 2",11="MAP",12="On-board MAP" +#define adc_channel_e_fullenum "NONE","AIN 1","AIN 2","INVALID","90a PPS1","38a TPS1","108a Voltage From Key","INVALID","INVALID","39a TPS2","INVALID","MAP","On-board MAP","65a CLT Coolant","63a IAT","91a PPS2" #define ADC_CHANNEL_NONE 0 #define afr_sensor_s_size 20 #define air_pressure_sensor_config_s_size 12 @@ -145,8 +145,8 @@ #define boostType_e_auto_enum 0="OPEN_LOOP",1="CLOSED_LOOP" #define boostType_e_CLOSED_LOOP 1 #define boostType_e_OPEN_LOOP 0 -#define brain_input_pin_e_enum 0="NONE",80="34a HALL3",79="35a HALL2",78="36a HALL1 / VSS",67="VR_9924+",66="VR_DISCRETE+" -#define brain_input_pin_e_fullenum "NONE","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","VR_DISCRETE+","VR_9924+","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","36a HALL1 / VSS","35a HALL2","34a HALL3" +#define brain_input_pin_e_enum 0="NONE",80="34a HALL3",79="35a HALL2",78="36a HALL1 / VSS",77="FLEX",67="VR_9924+",66="VR_DISCRETE+" +#define brain_input_pin_e_fullenum "NONE","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","VR_DISCRETE+","VR_9924+","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","FLEX","36a HALL1 / VSS","35a HALL2","34a HALL3" #define brain_pin_diag_e_PIN_DRIVER_OFF 0x20 #define brain_pin_diag_e_PIN_DRIVER_OVERTEMP 0x10 #define brain_pin_diag_e_PIN_OK 0 @@ -350,7 +350,7 @@ #define ego_sensor_e_ES_Innovate_MTX_L 1 #define ego_sensor_e_ES_PLX 4 #define EGT_CHANNEL_COUNT 8 -#define END_OF_CALIBRATION_PADDING 128 +#define END_OF_CALIBRATION_PADDING 116 #define engine_configuration_s_size 4024 #define engine_load_mode_e_auto_enum 0="LM_SPEED_DENSITY",2="LM_ALPHA_N",3="LM_LUA",100="LM_MOCK",1="LM_REAL_MAF" #define engine_load_mode_e_enum "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -1295,7 +1295,7 @@ #define SentEtbType_NONE 0 #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 2673129580 +#define SIGNATURE_HASH 3286560935 #define SIMULATOR_TUNE_BIN_FILE_NAME "generated/simulator_tune_image.bin" #define SIMULATOR_TUNE_BIN_FILE_NAME_PREFIX "generated/simulator_tune_image" #define SIMULATOR_TUNE_BIN_FILE_NAME_SUFFIX ".bin" @@ -1759,14 +1759,14 @@ #define ts_show_wastegate_sensor true #define ts_show_wbo_canbus_index true #define ts_show_wbo_canbus_set_index true -#define TS_SIGNATURE "rusEFI master.2024.10.21.uaefi121.2673129580" +#define TS_SIGNATURE "rusEFI master.2024.10.21.uaefi121.3286560935" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' #define TS_TEST_COMMAND_char t -#define TS_TOTAL_OUTPUT_SIZE 1752 +#define TS_TOTAL_OUTPUT_SIZE 1828 #define TS_TRIGGER_SCOPE_CHANNEL_1_NAME "Channel 1" #define TS_TRIGGER_SCOPE_CHANNEL_2_NAME "Channel 2" #define TS_TRIGGER_SCOPE_DISABLE 5 diff --git a/firmware/controllers/generated/signature_alphax-2chan.h b/firmware/controllers/generated/signature_alphax-2chan.h index c963590e18..2b8fc45795 100644 --- a/firmware/controllers/generated/signature_alphax-2chan.h +++ b/firmware/controllers/generated/signature_alphax-2chan.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition-all.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 4146669886 -#define TS_SIGNATURE "rusEFI master.2024.10.21.alphax-2chan.4146669886" +#define SIGNATURE_HASH 721515457 +#define TS_SIGNATURE "rusEFI master.2024.10.21.alphax-2chan.721515457" diff --git a/firmware/controllers/generated/signature_alphax-4chan.h b/firmware/controllers/generated/signature_alphax-4chan.h index d9bae4f9ae..268e586243 100644 --- a/firmware/controllers/generated/signature_alphax-4chan.h +++ b/firmware/controllers/generated/signature_alphax-4chan.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition-all.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 669565915 -#define TS_SIGNATURE "rusEFI master.2024.10.21.alphax-4chan.669565915" +#define SIGNATURE_HASH 4223703332 +#define TS_SIGNATURE "rusEFI master.2024.10.21.alphax-4chan.4223703332" diff --git a/firmware/controllers/generated/signature_alphax-4chan_f7.h b/firmware/controllers/generated/signature_alphax-4chan_f7.h index cd4d6b794b..cf472f9a2d 100644 --- a/firmware/controllers/generated/signature_alphax-4chan_f7.h +++ b/firmware/controllers/generated/signature_alphax-4chan_f7.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition-all.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 669565915 -#define TS_SIGNATURE "rusEFI master.2024.10.21.alphax-4chan_f7.669565915" +#define SIGNATURE_HASH 4223703332 +#define TS_SIGNATURE "rusEFI master.2024.10.21.alphax-4chan_f7.4223703332" diff --git a/firmware/controllers/generated/signature_alphax-4k-gdi.h b/firmware/controllers/generated/signature_alphax-4k-gdi.h index 0398f1d324..b78da14061 100644 --- a/firmware/controllers/generated/signature_alphax-4k-gdi.h +++ b/firmware/controllers/generated/signature_alphax-4k-gdi.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition-all.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 1412969003 -#define TS_SIGNATURE "rusEFI master.2024.10.21.alphax-4k-gdi.1412969003" +#define SIGNATURE_HASH 2282776788 +#define TS_SIGNATURE "rusEFI master.2024.10.21.alphax-4k-gdi.2282776788" diff --git a/firmware/controllers/generated/signature_alphax-8chan-revA.h b/firmware/controllers/generated/signature_alphax-8chan-revA.h index f548ff00cb..607599c5aa 100644 --- a/firmware/controllers/generated/signature_alphax-8chan-revA.h +++ b/firmware/controllers/generated/signature_alphax-8chan-revA.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition-all.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 2078698918 -#define TS_SIGNATURE "rusEFI master.2024.10.21.alphax-8chan-revA.2078698918" +#define SIGNATURE_HASH 2815309657 +#define TS_SIGNATURE "rusEFI master.2024.10.21.alphax-8chan-revA.2815309657" diff --git a/firmware/controllers/generated/signature_alphax-8chan.h b/firmware/controllers/generated/signature_alphax-8chan.h index 49a92966b9..0ed7a14c0b 100644 --- a/firmware/controllers/generated/signature_alphax-8chan.h +++ b/firmware/controllers/generated/signature_alphax-8chan.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition-all.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 1545637850 -#define TS_SIGNATURE "rusEFI master.2024.10.21.alphax-8chan.1545637850" +#define SIGNATURE_HASH 2148062501 +#define TS_SIGNATURE "rusEFI master.2024.10.21.alphax-8chan.2148062501" diff --git a/firmware/controllers/generated/signature_alphax-8chan_f7.h b/firmware/controllers/generated/signature_alphax-8chan_f7.h index f4439f70bb..2d6d939f9b 100644 --- a/firmware/controllers/generated/signature_alphax-8chan_f7.h +++ b/firmware/controllers/generated/signature_alphax-8chan_f7.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition-all.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 1545637850 -#define TS_SIGNATURE "rusEFI master.2024.10.21.alphax-8chan_f7.1545637850" +#define SIGNATURE_HASH 2148062501 +#define TS_SIGNATURE "rusEFI master.2024.10.21.alphax-8chan_f7.2148062501" diff --git a/firmware/controllers/generated/signature_alphax-silver.h b/firmware/controllers/generated/signature_alphax-silver.h index a5427da039..12961d9936 100644 --- a/firmware/controllers/generated/signature_alphax-silver.h +++ b/firmware/controllers/generated/signature_alphax-silver.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition-all.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 3143619007 -#define TS_SIGNATURE "rusEFI master.2024.10.21.alphax-silver.3143619007" +#define SIGNATURE_HASH 1735887680 +#define TS_SIGNATURE "rusEFI master.2024.10.21.alphax-silver.1735887680" diff --git a/firmware/controllers/generated/signature_at_start_f435.h b/firmware/controllers/generated/signature_at_start_f435.h index 5718c6d9e4..29659a63f1 100644 --- a/firmware/controllers/generated/signature_at_start_f435.h +++ b/firmware/controllers/generated/signature_at_start_f435.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition-all.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 2262948377 -#define TS_SIGNATURE "rusEFI master.2024.10.21.at_start_f435.2262948377" +#define SIGNATURE_HASH 1523155174 +#define TS_SIGNATURE "rusEFI master.2024.10.21.at_start_f435.1523155174" diff --git a/firmware/controllers/generated/signature_atlas.h b/firmware/controllers/generated/signature_atlas.h index 697dcfe9dd..dd0e6ddda2 100644 --- a/firmware/controllers/generated/signature_atlas.h +++ b/firmware/controllers/generated/signature_atlas.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition-all.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 3269856855 -#define TS_SIGNATURE "rusEFI master.2024.10.21.atlas.3269856855" +#define SIGNATURE_HASH 516838568 +#define TS_SIGNATURE "rusEFI master.2024.10.21.atlas.516838568" diff --git a/firmware/controllers/generated/signature_f407-discovery.h b/firmware/controllers/generated/signature_f407-discovery.h index 18154d74d8..13fc534f3f 100644 --- a/firmware/controllers/generated/signature_f407-discovery.h +++ b/firmware/controllers/generated/signature_f407-discovery.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition-all.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 1717113764 -#define TS_SIGNATURE "rusEFI master.2024.10.21.f407-discovery.1717113764" +#define SIGNATURE_HASH 3127986523 +#define TS_SIGNATURE "rusEFI master.2024.10.21.f407-discovery.3127986523" diff --git a/firmware/controllers/generated/signature_f429-discovery.h b/firmware/controllers/generated/signature_f429-discovery.h index 332768a8db..d851b6e8dd 100644 --- a/firmware/controllers/generated/signature_f429-discovery.h +++ b/firmware/controllers/generated/signature_f429-discovery.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition-all.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 2262948377 -#define TS_SIGNATURE "rusEFI master.2024.10.21.f429-discovery.2262948377" +#define SIGNATURE_HASH 1523155174 +#define TS_SIGNATURE "rusEFI master.2024.10.21.f429-discovery.1523155174" diff --git a/firmware/controllers/generated/signature_f469-discovery.h b/firmware/controllers/generated/signature_f469-discovery.h index dc72cb8ead..97c615d976 100644 --- a/firmware/controllers/generated/signature_f469-discovery.h +++ b/firmware/controllers/generated/signature_f469-discovery.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition-all.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 3023494282 -#define TS_SIGNATURE "rusEFI master.2024.10.21.f469-discovery.3023494282" +#define SIGNATURE_HASH 1746830965 +#define TS_SIGNATURE "rusEFI master.2024.10.21.f469-discovery.1746830965" diff --git a/firmware/controllers/generated/signature_frankenso_na6.h b/firmware/controllers/generated/signature_frankenso_na6.h index 827bad9415..c8a0e9964b 100644 --- a/firmware/controllers/generated/signature_frankenso_na6.h +++ b/firmware/controllers/generated/signature_frankenso_na6.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition-all.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 3496128002 -#define TS_SIGNATURE "rusEFI master.2024.10.21.frankenso_na6.3496128002" +#define SIGNATURE_HASH 206238973 +#define TS_SIGNATURE "rusEFI master.2024.10.21.frankenso_na6.206238973" diff --git a/firmware/controllers/generated/signature_haba208.h b/firmware/controllers/generated/signature_haba208.h index e622e80a23..14ae60d93d 100644 --- a/firmware/controllers/generated/signature_haba208.h +++ b/firmware/controllers/generated/signature_haba208.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition-all.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 2262948377 -#define TS_SIGNATURE "rusEFI master.2024.10.21.haba208.2262948377" +#define SIGNATURE_HASH 1523155174 +#define TS_SIGNATURE "rusEFI master.2024.10.21.haba208.1523155174" diff --git a/firmware/controllers/generated/signature_hellen-112-17.h b/firmware/controllers/generated/signature_hellen-112-17.h index c066d809f8..777d91e1b9 100644 --- a/firmware/controllers/generated/signature_hellen-112-17.h +++ b/firmware/controllers/generated/signature_hellen-112-17.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition-all.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 266945181 -#define TS_SIGNATURE "rusEFI master.2024.10.21.hellen-112-17.266945181" +#define SIGNATURE_HASH 3552647266 +#define TS_SIGNATURE "rusEFI master.2024.10.21.hellen-112-17.3552647266" diff --git a/firmware/controllers/generated/signature_hellen-gm-e67.h b/firmware/controllers/generated/signature_hellen-gm-e67.h index 5a622504a0..b3c8457aec 100644 --- a/firmware/controllers/generated/signature_hellen-gm-e67.h +++ b/firmware/controllers/generated/signature_hellen-gm-e67.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition-all.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 1251524001 -#define TS_SIGNATURE "rusEFI master.2024.10.21.hellen-gm-e67.1251524001" +#define SIGNATURE_HASH 2528175966 +#define TS_SIGNATURE "rusEFI master.2024.10.21.hellen-gm-e67.2528175966" diff --git a/firmware/controllers/generated/signature_hellen-honda-k.h b/firmware/controllers/generated/signature_hellen-honda-k.h index 420d986003..aa8ab28114 100644 --- a/firmware/controllers/generated/signature_hellen-honda-k.h +++ b/firmware/controllers/generated/signature_hellen-honda-k.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition-all.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 3537414255 -#define TS_SIGNATURE "rusEFI master.2024.10.21.hellen-honda-k.3537414255" +#define SIGNATURE_HASH 250671760 +#define TS_SIGNATURE "rusEFI master.2024.10.21.hellen-honda-k.250671760" diff --git a/firmware/controllers/generated/signature_hellen-nb1.h b/firmware/controllers/generated/signature_hellen-nb1.h index fae364ca69..698ba00da0 100644 --- a/firmware/controllers/generated/signature_hellen-nb1.h +++ b/firmware/controllers/generated/signature_hellen-nb1.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition-all.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 88542982 -#define TS_SIGNATURE "rusEFI master.2024.10.21.hellen-nb1.88542982" +#define SIGNATURE_HASH 3647952377 +#define TS_SIGNATURE "rusEFI master.2024.10.21.hellen-nb1.3647952377" diff --git a/firmware/controllers/generated/signature_hellen121nissan.h b/firmware/controllers/generated/signature_hellen121nissan.h index c86a37b4e5..6431c7a96e 100644 --- a/firmware/controllers/generated/signature_hellen121nissan.h +++ b/firmware/controllers/generated/signature_hellen121nissan.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition-all.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 1450854553 -#define TS_SIGNATURE "rusEFI master.2024.10.21.hellen121nissan.1450854553" +#define SIGNATURE_HASH 2320634470 +#define TS_SIGNATURE "rusEFI master.2024.10.21.hellen121nissan.2320634470" diff --git a/firmware/controllers/generated/signature_hellen121vag.h b/firmware/controllers/generated/signature_hellen121vag.h index e480ff0433..60b8af2e30 100644 --- a/firmware/controllers/generated/signature_hellen121vag.h +++ b/firmware/controllers/generated/signature_hellen121vag.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition-all.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 236149470 -#define TS_SIGNATURE "rusEFI master.2024.10.21.hellen121vag.236149470" +#define SIGNATURE_HASH 3527082017 +#define TS_SIGNATURE "rusEFI master.2024.10.21.hellen121vag.3527082017" diff --git a/firmware/controllers/generated/signature_hellen128.h b/firmware/controllers/generated/signature_hellen128.h index 1b39016d9a..52fbd65287 100644 --- a/firmware/controllers/generated/signature_hellen128.h +++ b/firmware/controllers/generated/signature_hellen128.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition-all.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 1802760430 -#define TS_SIGNATURE "rusEFI master.2024.10.21.hellen128.1802760430" +#define SIGNATURE_HASH 3076237841 +#define TS_SIGNATURE "rusEFI master.2024.10.21.hellen128.3076237841" diff --git a/firmware/controllers/generated/signature_hellen154hyundai.h b/firmware/controllers/generated/signature_hellen154hyundai.h index eabf9cc140..7a22ce4954 100644 --- a/firmware/controllers/generated/signature_hellen154hyundai.h +++ b/firmware/controllers/generated/signature_hellen154hyundai.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition-all.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 2696209283 -#define TS_SIGNATURE "rusEFI master.2024.10.21.hellen154hyundai.2696209283" +#define SIGNATURE_HASH 2090645884 +#define TS_SIGNATURE "rusEFI master.2024.10.21.hellen154hyundai.2090645884" diff --git a/firmware/controllers/generated/signature_hellen154hyundai_f7.h b/firmware/controllers/generated/signature_hellen154hyundai_f7.h index 19717ca3c3..a503f59ca0 100644 --- a/firmware/controllers/generated/signature_hellen154hyundai_f7.h +++ b/firmware/controllers/generated/signature_hellen154hyundai_f7.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition-all.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 4005727744 -#define TS_SIGNATURE "rusEFI master.2024.10.21.hellen154hyundai_f7.4005727744" +#define SIGNATURE_HASH 854250751 +#define TS_SIGNATURE "rusEFI master.2024.10.21.hellen154hyundai_f7.854250751" diff --git a/firmware/controllers/generated/signature_hellen72.h b/firmware/controllers/generated/signature_hellen72.h index 805168068d..33502dc589 100644 --- a/firmware/controllers/generated/signature_hellen72.h +++ b/firmware/controllers/generated/signature_hellen72.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition-all.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 2076784591 -#define TS_SIGNATURE "rusEFI master.2024.10.21.hellen72.2076784591" +#define SIGNATURE_HASH 2816568624 +#define TS_SIGNATURE "rusEFI master.2024.10.21.hellen72.2816568624" diff --git a/firmware/controllers/generated/signature_hellen81.h b/firmware/controllers/generated/signature_hellen81.h index 3ccd1058a1..868a4242d7 100644 --- a/firmware/controllers/generated/signature_hellen81.h +++ b/firmware/controllers/generated/signature_hellen81.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition-all.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 3815852799 -#define TS_SIGNATURE "rusEFI master.2024.10.21.hellen81.3815852799" +#define SIGNATURE_HASH 1062801408 +#define TS_SIGNATURE "rusEFI master.2024.10.21.hellen81.1062801408" diff --git a/firmware/controllers/generated/signature_hellen88bmw.h b/firmware/controllers/generated/signature_hellen88bmw.h index b476a7d8d3..a1f37d0f9f 100644 --- a/firmware/controllers/generated/signature_hellen88bmw.h +++ b/firmware/controllers/generated/signature_hellen88bmw.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition-all.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 4099039164 -#define TS_SIGNATURE "rusEFI master.2024.10.21.hellen88bmw.4099039164" +#define SIGNATURE_HASH 679085379 +#define TS_SIGNATURE "rusEFI master.2024.10.21.hellen88bmw.679085379" diff --git a/firmware/controllers/generated/signature_hellenNA6.h b/firmware/controllers/generated/signature_hellenNA6.h index da2975b255..07f78dd0d9 100644 --- a/firmware/controllers/generated/signature_hellenNA6.h +++ b/firmware/controllers/generated/signature_hellenNA6.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition-all.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 306461177 -#define TS_SIGNATURE "rusEFI master.2024.10.21.hellenNA6.306461177" +#define SIGNATURE_HASH 3463209734 +#define TS_SIGNATURE "rusEFI master.2024.10.21.hellenNA6.3463209734" diff --git a/firmware/controllers/generated/signature_hellenNA8_96.h b/firmware/controllers/generated/signature_hellenNA8_96.h index 35305a2c41..b0e56a2ec8 100644 --- a/firmware/controllers/generated/signature_hellenNA8_96.h +++ b/firmware/controllers/generated/signature_hellenNA8_96.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition-all.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 3986586423 -#define TS_SIGNATURE "rusEFI master.2024.10.21.hellenNA8_96.3986586423" +#define SIGNATURE_HASH 834019784 +#define TS_SIGNATURE "rusEFI master.2024.10.21.hellenNA8_96.834019784" diff --git a/firmware/controllers/generated/signature_m74_9.h b/firmware/controllers/generated/signature_m74_9.h index 104b439908..edfa320ac4 100644 --- a/firmware/controllers/generated/signature_m74_9.h +++ b/firmware/controllers/generated/signature_m74_9.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition-all.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 844882630 -#define TS_SIGNATURE "rusEFI master.2024.10.21.m74_9.844882630" +#define SIGNATURE_HASH 4000561209 +#define TS_SIGNATURE "rusEFI master.2024.10.21.m74_9.4000561209" diff --git a/firmware/controllers/generated/signature_mre-legacy_f4.h b/firmware/controllers/generated/signature_mre-legacy_f4.h index dea91ad083..bf27143b10 100644 --- a/firmware/controllers/generated/signature_mre-legacy_f4.h +++ b/firmware/controllers/generated/signature_mre-legacy_f4.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition-all.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 3945640004 -#define TS_SIGNATURE "rusEFI master.2024.10.21.mre-legacy_f4.3945640004" +#define SIGNATURE_HASH 923134651 +#define TS_SIGNATURE "rusEFI master.2024.10.21.mre-legacy_f4.923134651" diff --git a/firmware/controllers/generated/signature_mre_f4.h b/firmware/controllers/generated/signature_mre_f4.h index c5578e6dd1..5d25de7dc5 100644 --- a/firmware/controllers/generated/signature_mre_f4.h +++ b/firmware/controllers/generated/signature_mre_f4.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition-all.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 3945640004 -#define TS_SIGNATURE "rusEFI master.2024.10.21.mre_f4.3945640004" +#define SIGNATURE_HASH 923134651 +#define TS_SIGNATURE "rusEFI master.2024.10.21.mre_f4.923134651" diff --git a/firmware/controllers/generated/signature_mre_f7.h b/firmware/controllers/generated/signature_mre_f7.h index 01d7d9ac06..86c0010aaa 100644 --- a/firmware/controllers/generated/signature_mre_f7.h +++ b/firmware/controllers/generated/signature_mre_f7.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition-all.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 3945640004 -#define TS_SIGNATURE "rusEFI master.2024.10.21.mre_f7.3945640004" +#define SIGNATURE_HASH 923134651 +#define TS_SIGNATURE "rusEFI master.2024.10.21.mre_f7.923134651" diff --git a/firmware/controllers/generated/signature_nucleo_f413.h b/firmware/controllers/generated/signature_nucleo_f413.h index baddbe67df..387c909ea8 100644 --- a/firmware/controllers/generated/signature_nucleo_f413.h +++ b/firmware/controllers/generated/signature_nucleo_f413.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition-all.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 2262948377 -#define TS_SIGNATURE "rusEFI master.2024.10.21.nucleo_f413.2262948377" +#define SIGNATURE_HASH 1523155174 +#define TS_SIGNATURE "rusEFI master.2024.10.21.nucleo_f413.1523155174" diff --git a/firmware/controllers/generated/signature_proteus_f4.h b/firmware/controllers/generated/signature_proteus_f4.h index 06bbda442e..8075997183 100644 --- a/firmware/controllers/generated/signature_proteus_f4.h +++ b/firmware/controllers/generated/signature_proteus_f4.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition-all.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 3780242052 -#define TS_SIGNATURE "rusEFI master.2024.10.21.proteus_f4.3780242052" +#define SIGNATURE_HASH 1031385211 +#define TS_SIGNATURE "rusEFI master.2024.10.21.proteus_f4.1031385211" diff --git a/firmware/controllers/generated/signature_proteus_f7.h b/firmware/controllers/generated/signature_proteus_f7.h index 40b8b7ff54..1803ab87d4 100644 --- a/firmware/controllers/generated/signature_proteus_f7.h +++ b/firmware/controllers/generated/signature_proteus_f7.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition-all.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 3780242052 -#define TS_SIGNATURE "rusEFI master.2024.10.21.proteus_f7.3780242052" +#define SIGNATURE_HASH 1031385211 +#define TS_SIGNATURE "rusEFI master.2024.10.21.proteus_f7.1031385211" diff --git a/firmware/controllers/generated/signature_proteus_h7.h b/firmware/controllers/generated/signature_proteus_h7.h index bf460e4ed0..dba15d36d6 100644 --- a/firmware/controllers/generated/signature_proteus_h7.h +++ b/firmware/controllers/generated/signature_proteus_h7.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition-all.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 3780242052 -#define TS_SIGNATURE "rusEFI master.2024.10.21.proteus_h7.3780242052" +#define SIGNATURE_HASH 1031385211 +#define TS_SIGNATURE "rusEFI master.2024.10.21.proteus_h7.1031385211" diff --git a/firmware/controllers/generated/signature_s105.h b/firmware/controllers/generated/signature_s105.h index 914934b715..034c76796e 100644 --- a/firmware/controllers/generated/signature_s105.h +++ b/firmware/controllers/generated/signature_s105.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition-all.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 963271387 -#define TS_SIGNATURE "rusEFI master.2024.10.21.s105.963271387" +#define SIGNATURE_HASH 3846307876 +#define TS_SIGNATURE "rusEFI master.2024.10.21.s105.3846307876" diff --git a/firmware/controllers/generated/signature_small-can-board.h b/firmware/controllers/generated/signature_small-can-board.h index 9b5daa6115..3bd23389a2 100644 --- a/firmware/controllers/generated/signature_small-can-board.h +++ b/firmware/controllers/generated/signature_small-can-board.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition-all.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 3659200308 -#define TS_SIGNATURE "rusEFI master.2024.10.21.small-can-board.3659200308" +#define SIGNATURE_HASH 103984587 +#define TS_SIGNATURE "rusEFI master.2024.10.21.small-can-board.103984587" diff --git a/firmware/controllers/generated/signature_stm32f429_nucleo.h b/firmware/controllers/generated/signature_stm32f429_nucleo.h index fe43bfa0ae..d852c682f3 100644 --- a/firmware/controllers/generated/signature_stm32f429_nucleo.h +++ b/firmware/controllers/generated/signature_stm32f429_nucleo.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition-all.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 2262948377 -#define TS_SIGNATURE "rusEFI master.2024.10.21.stm32f429_nucleo.2262948377" +#define SIGNATURE_HASH 1523155174 +#define TS_SIGNATURE "rusEFI master.2024.10.21.stm32f429_nucleo.1523155174" diff --git a/firmware/controllers/generated/signature_stm32f767_nucleo.h b/firmware/controllers/generated/signature_stm32f767_nucleo.h index 99a8f4424f..49c5a5e4c7 100644 --- a/firmware/controllers/generated/signature_stm32f767_nucleo.h +++ b/firmware/controllers/generated/signature_stm32f767_nucleo.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition-all.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 2262948377 -#define TS_SIGNATURE "rusEFI master.2024.10.21.stm32f767_nucleo.2262948377" +#define SIGNATURE_HASH 1523155174 +#define TS_SIGNATURE "rusEFI master.2024.10.21.stm32f767_nucleo.1523155174" diff --git a/firmware/controllers/generated/signature_stm32h743_nucleo.h b/firmware/controllers/generated/signature_stm32h743_nucleo.h index 6ee0393718..2233002bff 100644 --- a/firmware/controllers/generated/signature_stm32h743_nucleo.h +++ b/firmware/controllers/generated/signature_stm32h743_nucleo.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition-all.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 2262948377 -#define TS_SIGNATURE "rusEFI master.2024.10.21.stm32h743_nucleo.2262948377" +#define SIGNATURE_HASH 1523155174 +#define TS_SIGNATURE "rusEFI master.2024.10.21.stm32h743_nucleo.1523155174" diff --git a/firmware/controllers/generated/signature_subaru_eg33_f7.h b/firmware/controllers/generated/signature_subaru_eg33_f7.h index 0235e2959d..5ae3d60dbb 100644 --- a/firmware/controllers/generated/signature_subaru_eg33_f7.h +++ b/firmware/controllers/generated/signature_subaru_eg33_f7.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition-all.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 3653296711 -#define TS_SIGNATURE "rusEFI master.2024.10.21.subaru_eg33_f7.3653296711" +#define SIGNATURE_HASH 99137720 +#define TS_SIGNATURE "rusEFI master.2024.10.21.subaru_eg33_f7.99137720" diff --git a/firmware/controllers/generated/signature_t-b-g.h b/firmware/controllers/generated/signature_t-b-g.h index 11005409c1..880ed4a7e3 100644 --- a/firmware/controllers/generated/signature_t-b-g.h +++ b/firmware/controllers/generated/signature_t-b-g.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition-all.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 2262948377 -#define TS_SIGNATURE "rusEFI master.2024.10.21.t-b-g.2262948377" +#define SIGNATURE_HASH 1523155174 +#define TS_SIGNATURE "rusEFI master.2024.10.21.t-b-g.1523155174" diff --git a/firmware/controllers/generated/signature_tdg-pdm8.h b/firmware/controllers/generated/signature_tdg-pdm8.h index f21839b2f5..81f1fd7be6 100644 --- a/firmware/controllers/generated/signature_tdg-pdm8.h +++ b/firmware/controllers/generated/signature_tdg-pdm8.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition-all.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 3167512209 -#define TS_SIGNATURE "rusEFI master.2024.10.21.tdg-pdm8.3167512209" +#define SIGNATURE_HASH 1625570414 +#define TS_SIGNATURE "rusEFI master.2024.10.21.tdg-pdm8.1625570414" diff --git a/firmware/controllers/generated/signature_uaefi.h b/firmware/controllers/generated/signature_uaefi.h index 501b3db50b..aa28925924 100644 --- a/firmware/controllers/generated/signature_uaefi.h +++ b/firmware/controllers/generated/signature_uaefi.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition-all.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 543625896 -#define TS_SIGNATURE "rusEFI master.2024.10.21.uaefi.543625896" +#define SIGNATURE_HASH 4233054295 +#define TS_SIGNATURE "rusEFI master.2024.10.21.uaefi.4233054295" diff --git a/firmware/controllers/generated/signature_uaefi121.h b/firmware/controllers/generated/signature_uaefi121.h index aea950d24a..b3dc0dcebb 100644 --- a/firmware/controllers/generated/signature_uaefi121.h +++ b/firmware/controllers/generated/signature_uaefi121.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition-all.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 2673129580 -#define TS_SIGNATURE "rusEFI master.2024.10.21.uaefi121.2673129580" +#define SIGNATURE_HASH 3286560935 +#define TS_SIGNATURE "rusEFI master.2024.10.21.uaefi121.3286560935" diff --git a/firmware/controllers/lua/generated/output_lookup_generated.cpp b/firmware/controllers/lua/generated/output_lookup_generated.cpp index f55dc79922..929c29249e 100644 --- a/firmware/controllers/lua/generated/output_lookup_generated.cpp +++ b/firmware/controllers/lua/generated/output_lookup_generated.cpp @@ -958,6 +958,18 @@ float getOutputValueByName(const char *name) { // m_knockFrequency case -249826215: return ___engine.module()->m_knockFrequency; +// m_knockSpectrumChannelCyl + case -806484581: + return ___engine.module()->m_knockSpectrumChannelCyl; +// m_knockFrequencyStart + case -592323161: + return ___engine.module()->m_knockFrequencyStart; +// m_knockFrequencyStep + case 1283556181: + return ___engine.module()->m_knockFrequencyStep; +// m_knockFuelTrimMultiplier + case 95716118: + return ___engine.module()->m_knockFuelTrimMultiplier; // m_deadtime #if EFI_PROD_CODE && EFI_IDLE_CONTROL case -1167844818: diff --git a/firmware/controllers/lua/generated/value_lookup_generated.cpp b/firmware/controllers/lua/generated/value_lookup_generated.cpp index 67ef538b84..8dc01ebf86 100644 --- a/firmware/controllers/lua/generated/value_lookup_generated.cpp +++ b/firmware/controllers/lua/generated/value_lookup_generated.cpp @@ -1160,6 +1160,9 @@ float getConfigValueByName(const char *name) { // enableKnockSpectrogram case -556893719: return engineConfiguration->enableKnockSpectrogram; +// enableKnockSpectrogramFilter + case -1923222129: + return engineConfiguration->enableKnockSpectrogramFilter; // afterCrankingIACtaperDuration case 671504531: return engineConfiguration->afterCrankingIACtaperDuration; @@ -1874,6 +1877,24 @@ float getConfigValueByName(const char *name) { // auxLinear4.value2 case -1058844737: return engineConfiguration->auxLinear4.value2; +// knockSuppressMinTps + case 893776859: + return engineConfiguration->knockSuppressMinTps; +// knockFuelTrimAggression + case -1811840427: + return engineConfiguration->knockFuelTrimAggression; +// knockFuelTrimReapplyRate + case -1833685972: + return engineConfiguration->knockFuelTrimReapplyRate; +// knockFuelTrim + case -106437949: + return engineConfiguration->knockFuelTrim; +// knockSpectrumSensitivity + case 1561929785: + return engineConfiguration->knockSpectrumSensitivity; +// knockFrequency + case 1972605869: + return engineConfiguration->knockFrequency; // tcu_shiftTime case -1658957891: return config->tcu_shiftTime; @@ -3807,6 +3828,11 @@ bool setConfigValueByName(const char *name, float value) { { engineConfiguration->enableKnockSpectrogram = (int)value; return 1; + } + case -1923222129: + { + engineConfiguration->enableKnockSpectrogramFilter = (int)value; + return 1; } case 671504531: { @@ -4997,6 +5023,36 @@ bool setConfigValueByName(const char *name, float value) { { engineConfiguration->auxLinear4.value2 = value; return 1; + } + case 893776859: + { + engineConfiguration->knockSuppressMinTps = (int)value; + return 1; + } + case -1811840427: + { + engineConfiguration->knockFuelTrimAggression = (int)value; + return 1; + } + case -1833685972: + { + engineConfiguration->knockFuelTrimReapplyRate = (int)value; + return 1; + } + case -106437949: + { + engineConfiguration->knockFuelTrim = (int)value; + return 1; + } + case 1561929785: + { + engineConfiguration->knockSpectrumSensitivity = value; + return 1; + } + case 1972605869: + { + engineConfiguration->knockFrequency = value; + return 1; } case -1658957891: { diff --git a/firmware/controllers/lua/generated/value_lookup_generated.md b/firmware/controllers/lua/generated/value_lookup_generated.md index 2bfed4fcba..37c1b92ae1 100644 --- a/firmware/controllers/lua/generated/value_lookup_generated.md +++ b/firmware/controllers/lua/generated/value_lookup_generated.md @@ -1153,6 +1153,9 @@ AEM X-Series EGT gauge kit or rusEFI EGT sensor from Wideband controller ### enableKnockSpectrogram +### enableKnockSpectrogramFilter + + ### afterCrankingIACtaperDuration This is the duration in cycles that the IAC will take to reach its normal idle position, it can be used to hold the idle higher for a few seconds after cranking to improve startup.\Should be 100 once tune is better @@ -1867,6 +1870,24 @@ Delay before cutting fuel due to low oil pressure. Use this to ignore short pres ### auxLinear4.value2 +### knockSuppressMinTps +Below TPS value all knock suppression will be disabled. + +### knockFuelTrimAggression +Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump), + +### knockFuelTrimReapplyRate +After a knock event, reapply fuel at this rate. + +### knockFuelTrim +Fuel trim when knock, max 30% + +### knockSpectrumSensitivity + + +### knockFrequency +"Estimated knock frequency, ignore cylinderBore if this one > 0" + ### tcu_shiftTime diff --git a/firmware/live_data_generated/knock_controller_generated.h b/firmware/live_data_generated/knock_controller_generated.h index 7f2c36459d..7a74412f9e 100644 --- a/firmware/live_data_generated/knock_controller_generated.h +++ b/firmware/live_data_generated/knock_controller_generated.h @@ -1,4 +1,4 @@ -// this section was generated automatically by rusEFI tool config_definition_base-all.jar based on (unknown script) controllers/engine_cycle/knock_controller.txt Sun Apr 28 13:42:38 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition_base-all.jar based on (unknown script) controllers/engine_cycle/knock_controller.txt // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -44,8 +44,38 @@ struct knock_controller_s { * offset 32 */ uint32_t m_knockFrequency = (uint32_t)0; + /** + * Knock: SpectrumData + * units: compressed data + * offset 36 + */ + uint32_t m_knockSpectrum[16]; + /** + * Knock: ChannelAndCylNumber + * units: compressed N + N + * offset 100 + */ + uint16_t m_knockSpectrumChannelCyl = (uint16_t)0; + /** + * Knock: Start Freq + * units: Hz + * offset 102 + */ + uint16_t m_knockFrequencyStart = (uint16_t)0; + /** + * Knock: Step Freq + * units: Hz + * offset 104 + */ + float m_knockFrequencyStep = (float)0; + /** + * Knock: Fuel trim when knock + * units: multiplier + * offset 108 + */ + float m_knockFuelTrimMultiplier = (float)0; }; -static_assert(sizeof(knock_controller_s) == 36); +static_assert(sizeof(knock_controller_s) == 112); // end -// this section was generated automatically by rusEFI tool config_definition_base-all.jar based on (unknown script) controllers/engine_cycle/knock_controller.txt Sun Apr 28 13:42:38 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition_base-all.jar based on (unknown script) controllers/engine_cycle/knock_controller.txt diff --git a/firmware/tunerstudio/generated/rusefi.ini b/firmware/tunerstudio/generated/rusefi.ini index 336ab17b8c..12808ba279 100644 --- a/firmware/tunerstudio/generated/rusefi.ini +++ b/firmware/tunerstudio/generated/rusefi.ini @@ -38,12 +38,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.10.21.f407-discovery.1717113764" + signature = "rusEFI master.2024.10.21.f407-discovery.3127986523" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.10.21.f407-discovery.1717113764" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.10.21.f407-discovery.3127986523" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -774,6 +774,7 @@ devBit7 = bits, U32, 1492, [27:27], "false", "true" unusedSkipWasHere = bits, U32, 1492, [28:28], "false", "true" invertExhaustCamVVTSignal = bits, U32, 1492, [29:29], "Rising", "Falling" enableKnockSpectrogram = bits, U32, 1492, [30:30], "false", "true" +enableKnockSpectrogramFilter = bits, U32, 1492, [31:31], "false", "true" afterCrankingIACtaperDuration = scalar, S16, 1496, "cycles", 1, 0, 0, 5000, 0 iacByTpsTaper = scalar, S16, 1498, "percent", 1, 0, 0, 500, 0 unusedAuxSeria = bits, U16, 1500, [0:8], $gpio_list @@ -1394,7 +1395,13 @@ auxLinear4_v1 = scalar, F32, 3880, "volts", 1, 0, 0, 10, 2 auxLinear4_value1 = scalar, F32, 3884, "", 1, 0, -100000, 1000000, 2 auxLinear4_v2 = scalar, F32, 3888, "volts", 1, 0, 0, 10, 2 auxLinear4_value2 = scalar, F32, 3892, "", 1, 0, -100000, 1000000, 2 -unusedOftenChangesDuringFirmwareUpdate = array, U08, 3896, [128], "units", 1, 0, 0, 1, 0 +knockSuppressMinTps = scalar, U08, 3896, "%", 1, 0, 0, 100, 1 +knockFuelTrimAggression = scalar, U08, 3897, "%", 0.1, 0, 0, 20, 1 +knockFuelTrimReapplyRate = scalar, U08, 3898, "deg/s", 0.1, 0, 0, 10, 1 +knockFuelTrim = scalar, U08, 3899, "%", 1, 0, 0, 30, 1 +knockSpectrumSensitivity = scalar, F32, 3900, "sense", 1, 0, 0, 1, 2 +knockFrequency = scalar, F32, 3904, "Hz", 1, 0, 0, 20000, 2 +unusedOftenChangesDuringFirmwareUpdate = array, U08, 3908, [116], "units", 1, 0, 0, 1, 0 postCrankingFactor = array, F32, 4024, [6x6], "mult", 1, 0, 1, 3, 2 postCrankingDurationBins = array, F32, 4168, [6], "count", 1, 0, 0, 1000, 0 postCrankingCLTBins = array, S16, 4192, [6], "C", 1, 0, -100, 250, 0 @@ -2449,6 +2456,11 @@ communityCommsLedPin = bits, U16, 22968, [0:8], $gpio_list minAcPressure = "value of A/C pressure in kPa before that compressor is disengaged" maxAcPressure = "value of A/C pressure in kPa after that compressor is disengaged" minimumOilPressureTimeout = "Delay before cutting fuel due to low oil pressure. Use this to ignore short pressure blips and sensor noise." + knockSuppressMinTps = "Below TPS value all knock suppression will be disabled." + knockFuelTrimAggression = "Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump)," + knockFuelTrimReapplyRate = "After a knock event, reapply fuel at this rate." + knockFuelTrim = "Fuel trim when knock, max 30%" + knockFrequency = "Estimated knock frequency, ignore cylinderBore if this one > 0" etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, open loop component of PID closed loop control" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2561,7 +2573,7 @@ communityCommsLedPin = bits, U16, 22968, [0:8], $gpio_list ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1752 + ochBlockSize = 1828 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3102,370 +3114,390 @@ m_knockThreshold = scalar, F32, 960, "", 1, 0 m_knockCount = scalar, U32, 964, "", 1, 0 m_maximumRetard = scalar, F32, 968, "", 1, 0 m_knockFrequency = scalar, U32, 972, "Hz", 1, 0 -; total TS size = 976 -tcuCurrentGear = scalar, S08, 976, "gear", 1, 0 -tcRatio = scalar, U16, 978, "value", 0.01, 0 -lastShiftTime = scalar, F32, 980, "", 1, 0 -tcu_currentRange = scalar, U08, 984, "", 1, 0 -pressureControlDuty = scalar, S08, 985, "%", 1,0 -torqueConverterDuty = scalar, S08, 986, "%", 1,0 -isShifting = bits, U32, 988, [0:0] -; total TS size = 992 -throttleUseWotModel = bits, U32, 992, [0:0] -throttleModelCrossoverAngle = scalar, S16, 996, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1000, "g/s", 1, 0 -; total TS size = 1004 -m_requested_pump = scalar, F32, 1004, "", 1, 0 -fuel_requested_percent = scalar, F32, 1008, "", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1012, "", 1, 0 -noValve = bits, U32, 1016, [0:0] -angleAboveMin = bits, U32, 1016, [1:1] -isHpfpInactive = bits, U32, 1016, [2:2] -m_pressureTarget_kPa = scalar, F32, 1020, "", 1, 0 -nextLobe = scalar, F32, 1024, "", 1, 0 -di_nextStart = scalar, F32, 1028, "v", 1, 0 -; total TS size = 1032 -m_deadtime = scalar, F32, 1032, "ms", 1, 0 -pressureDelta = scalar, F32, 1036, "kPa", 1, 0 -pressureRatio = scalar, F32, 1040, "", 1, 0 -; total TS size = 1044 -retardThresholdRpm = scalar, S32, 1044, "", 1, 0 -launchActivatePinState = bits, U32, 1048, [0:0] -isPreLaunchCondition = bits, U32, 1048, [1:1] -isLaunchCondition = bits, U32, 1048, [2:2] -isSwitchActivated = bits, U32, 1048, [3:3] -isClutchActivated = bits, U32, 1048, [4:4] -isBrakePedalActivated = bits, U32, 1048, [5:5] -isValidInputPin = bits, U32, 1048, [6:6] -activateSwitchCondition = bits, U32, 1048, [7:7] -rpmLaunchCondition = bits, U32, 1048, [8:8] -rpmPreLaunchCondition = bits, U32, 1048, [9:9] -speedCondition = bits, U32, 1048, [10:10] -tpsCondition = bits, U32, 1048, [11:11] +m_knockSpectrum1 = scalar, U32, 976, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 980, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 984, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 988, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1040, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1042, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1044, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1048, "multiplier", 1, 0 ; total TS size = 1052 -isTorqueReductionTriggerPinValid = bits, U32, 1052, [0:0] -torqueReductionTriggerPinState = bits, U32, 1052, [1:1] -isTimeConditionSatisfied = bits, U32, 1052, [2:2] -isRpmConditionSatisfied = bits, U32, 1052, [3:3] -isAppConditionSatisfied = bits, U32, 1052, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1052, [5:5] -; total TS size = 1056 -isAntilagCondition = bits, U32, 1056, [0:0] -ALSMinRPMCondition = bits, U32, 1056, [1:1] -ALSMaxRPMCondition = bits, U32, 1056, [2:2] -ALSMinCLTCondition = bits, U32, 1056, [3:3] -ALSMaxCLTCondition = bits, U32, 1056, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1056, [5:5] -isALSSwitchActivated = bits, U32, 1056, [6:6] -ALSActivatePinState = bits, U32, 1056, [7:7] -ALSSwitchCondition = bits, U32, 1056, [8:8] -ALSTimerCondition = bits, U32, 1056, [9:9] -fuelALSCorrection = scalar, F32, 1060, "", 1, 0 -timingALSCorrection = scalar, S16, 1064, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1066, "deg", 0.01, 0 +tcuCurrentGear = scalar, S08, 1052, "gear", 1, 0 +tcRatio = scalar, U16, 1054, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1056, "", 1, 0 +tcu_currentRange = scalar, U08, 1060, "", 1, 0 +pressureControlDuty = scalar, S08, 1061, "%", 1,0 +torqueConverterDuty = scalar, S08, 1062, "%", 1,0 +isShifting = bits, U32, 1064, [0:0] ; total TS size = 1068 -isTpsInvalid = bits, U32, 1068, [0:0] -m_shouldResetPid = bits, U32, 1068, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1068, [2:2] -isNotClosedLoop = bits, U32, 1068, [3:3] -isZeroRpm = bits, U32, 1068, [4:4] -hasInitBoost = bits, U32, 1068, [5:5] -rpmTooLow = bits, U32, 1068, [6:6] -tpsTooLow = bits, U32, 1068, [7:7] -mapTooLow = bits, U32, 1068, [8:8] -isPlantValid = bits, U32, 1068, [9:9] -isBoostControlled = bits, U32, 1068, [10:10] -luaTargetAdd = scalar, S16, 1072, "v", 0.5,0 -boostOutput = scalar, S16, 1074, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1076, "v", 1,0 -openLoopPart = scalar, F32, 1080, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1084, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1088, "%", 0.5,0 -boostControlTarget = scalar, S16, 1090, "kPa", 0.03333333333333333,0 -; total TS size = 1092 -acButtonState = scalar, S08, 1092, "", 1, 0 -m_acEnabled = bits, U32, 1096, [0:0] -engineTooSlow = bits, U32, 1096, [1:1] -engineTooFast = bits, U32, 1096, [2:2] -noClt = bits, U32, 1096, [3:3] -engineTooHot = bits, U32, 1096, [4:4] -tpsTooHigh = bits, U32, 1096, [5:5] -isDisabledByLua = bits, U32, 1096, [6:6] -acCompressorState = bits, U32, 1096, [7:7] -acPressureTooLow = bits, U32, 1096, [8:8] -acPressureTooHigh = bits, U32, 1096, [9:9] -; total TS size = 1100 -cranking0 = bits, U32, 1100, [0:0] -notRunning0 = bits, U32, 1100, [1:1] -disabledWhileEngineStopped0 = bits, U32, 1100, [2:2] -brokenClt0 = bits, U32, 1100, [3:3] -enabledForAc0 = bits, U32, 1100, [4:4] -hot0 = bits, U32, 1100, [5:5] -cold0 = bits, U32, 1100, [6:6] -disabledBySpeed0 = bits, U32, 1100, [7:7] -radiatorFanStatus0 = scalar, U08, 1104, "", 1, 0 +throttleUseWotModel = bits, U32, 1068, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1072, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1076, "g/s", 1, 0 +; total TS size = 1080 +m_requested_pump = scalar, F32, 1080, "", 1, 0 +fuel_requested_percent = scalar, F32, 1084, "", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1088, "", 1, 0 +noValve = bits, U32, 1092, [0:0] +angleAboveMin = bits, U32, 1092, [1:1] +isHpfpInactive = bits, U32, 1092, [2:2] +m_pressureTarget_kPa = scalar, F32, 1096, "", 1, 0 +nextLobe = scalar, F32, 1100, "", 1, 0 +di_nextStart = scalar, F32, 1104, "v", 1, 0 ; total TS size = 1108 -cranking1 = bits, U32, 1108, [0:0] -notRunning1 = bits, U32, 1108, [1:1] -disabledWhileEngineStopped1 = bits, U32, 1108, [2:2] -brokenClt1 = bits, U32, 1108, [3:3] -enabledForAc1 = bits, U32, 1108, [4:4] -hot1 = bits, U32, 1108, [5:5] -cold1 = bits, U32, 1108, [6:6] -disabledBySpeed1 = bits, U32, 1108, [7:7] -radiatorFanStatus1 = scalar, U08, 1112, "", 1, 0 -; total TS size = 1116 -isPrime = bits, U32, 1116, [0:0] -engineTurnedRecently = bits, U32, 1116, [1:1] -isFuelPumpOn = bits, U32, 1116, [2:2] -ignitionOn = bits, U32, 1116, [3:3] +m_deadtime = scalar, F32, 1108, "ms", 1, 0 +pressureDelta = scalar, F32, 1112, "kPa", 1, 0 +pressureRatio = scalar, F32, 1116, "", 1, 0 ; total TS size = 1120 -isBenchTest = bits, U32, 1120, [0:0] -hasIgnitionVoltage = bits, U32, 1120, [1:1] -mainRelayState = bits, U32, 1120, [2:2] -delayedShutoffRequested = bits, U32, 1120, [3:3] -; total TS size = 1124 -lua_fuelAdd = scalar, F32, 1124, "g", 1, 0 -lua_fuelMult = scalar, F32, 1128, "", 1, 0 -lua_clutchUpState = bits, U32, 1132, [0:0] -lua_brakePedalState = bits, U32, 1132, [1:1] -lua_acRequestState = bits, U32, 1132, [2:2] -lua_luaDisableEtb = bits, U32, 1132, [3:3] -lua_luaIgnCut = bits, U32, 1132, [4:4] -lua_luaFuelCut = bits, U32, 1132, [5:5] -lua_clutchDownState = bits, U32, 1132, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1132, [7:7] -sd_tCharge = scalar, S16, 1136, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1140, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1144, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1148, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1152, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1156, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1160, "", 1, 0 -hellenBoardId = scalar, S16, 1164, "id", 1, 0 -clutchUpState = scalar, S08, 1166, "", 1, 0 -clutchDownState = scalar, S08, 1167, "", 1, 0 -brakePedalState = scalar, S08, 1168, "", 1, 0 -startStopState = scalar, S08, 1169, "", 1, 0 -smartChipState = scalar, S08, 1170, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1171, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1172, "", 1, 0 -startStopPhysicalState = bits, U32, 1176, [0:0] -acrActive = bits, U32, 1176, [1:1] -acrEngineMovedRecently = bits, U32, 1176, [2:2] -heaterControlEnabled = bits, U32, 1176, [3:3] -luaDigitalState0 = bits, U32, 1176, [4:4] -luaDigitalState1 = bits, U32, 1176, [5:5] -luaDigitalState2 = bits, U32, 1176, [6:6] -luaDigitalState3 = bits, U32, 1176, [7:7] -startStopStateToggleCounter = scalar, U32, 1180, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1184, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1188, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1192, "", 1, 0 -desiredRpmLimit = scalar, S16, 1196, "rpm", 1, 0 -fuelInjectionCounter = scalar, U32, 1200, "", 1, 0 -globalSparkCounter = scalar, U32, 1204, "", 1, 0 -fuelingLoad = scalar, F32, 1208, "", 1, 0 -ignitionLoad = scalar, F32, 1212, "", 1, 0 -veTableYAxis = scalar, U16, 1216, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1218, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1219, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1220, "", 1, 0 -; total TS size = 1224 -tpsFrom = scalar, F32, 1224 -tpsTo = scalar, F32, 1228 -deltaTps = scalar, F32, 1232 -extraFuel = scalar, F32, 1236, "", 1, 0 -valueFromTable = scalar, F32, 1240, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1244, [0:0] -isBelowDecelThreshold = bits, U32, 1244, [1:1] -isTimeToResetAccumulator = bits, U32, 1244, [2:2] -isFractionalEnrichment = bits, U32, 1244, [3:3] -belowEpsilon = bits, U32, 1244, [4:4] -tooShort = bits, U32, 1244, [5:5] -fractionalInjFuel = scalar, F32, 1248, "", 1, 0 -accumulatedValue = scalar, F32, 1252, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1256, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1260, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1264, "", 1, 0 -cycleCnt = scalar, S32, 1268, "", 1, 0 -; total TS size = 1272 -hwEventCounters1 = scalar, U32, 1272, "", 1, 0 -hwEventCounters2 = scalar, U32, 1276, "", 1, 0 -hwEventCounters3 = scalar, U32, 1280, "", 1, 0 -hwEventCounters4 = scalar, U32, 1284, "", 1, 0 -hwEventCounters5 = scalar, U32, 1288, "", 1, 0 -hwEventCounters6 = scalar, U32, 1292, "", 1, 0 -vvtCamCounter = scalar, U32, 1296, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1300, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1304, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1308, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1309, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1312, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1316, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1320, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1324, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1328, [0:0] -triggerElapsedUs = scalar, U32, 1332, "", 1, 0 -; total TS size = 1336 -crankSynchronizationCounter0 = scalar, U32, 1336, "", 1, 0 -vvtSyncGapRatio0 = scalar, F32, 1340, "", 1, 0 -vvtToothDurations00 = scalar, U32, 1344, "us", 1, 0 -vvtCurrentPosition0 = scalar, F32, 1348, "sync: Primary Cam Position", 1, 0 -vvtToothPosition10 = scalar, F32, 1352, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition20 = scalar, F32, 1356, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition30 = scalar, F32, 1360, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition40 = scalar, F32, 1364, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio0 = scalar, F32, 1368, "", 1, 0 -triggerStateIndex0 = scalar, U08, 1372, "", 1, 0 -vvtStateIndex0 = scalar, U08, 1373, "", 1, 0 -; total TS size = 1376 -crankSynchronizationCounter1 = scalar, U32, 1376, "", 1, 0 -vvtSyncGapRatio1 = scalar, F32, 1380, "", 1, 0 -vvtToothDurations01 = scalar, U32, 1384, "us", 1, 0 -vvtCurrentPosition1 = scalar, F32, 1388, "sync: Primary Cam Position", 1, 0 -vvtToothPosition11 = scalar, F32, 1392, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition21 = scalar, F32, 1396, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition31 = scalar, F32, 1400, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition41 = scalar, F32, 1404, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio1 = scalar, F32, 1408, "", 1, 0 -triggerStateIndex1 = scalar, U08, 1412, "", 1, 0 -vvtStateIndex1 = scalar, U08, 1413, "", 1, 0 -; total TS size = 1416 -crankSynchronizationCounter2 = scalar, U32, 1416, "", 1, 0 -vvtSyncGapRatio2 = scalar, F32, 1420, "", 1, 0 -vvtToothDurations02 = scalar, U32, 1424, "us", 1, 0 -vvtCurrentPosition2 = scalar, F32, 1428, "sync: Primary Cam Position", 1, 0 -vvtToothPosition12 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition22 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition32 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition42 = scalar, F32, 1444, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio2 = scalar, F32, 1448, "", 1, 0 -triggerStateIndex2 = scalar, U08, 1452, "", 1, 0 -vvtStateIndex2 = scalar, U08, 1453, "", 1, 0 -; total TS size = 1456 -crankSynchronizationCounter3 = scalar, U32, 1456, "", 1, 0 -vvtSyncGapRatio3 = scalar, F32, 1460, "", 1, 0 -vvtToothDurations03 = scalar, U32, 1464, "us", 1, 0 -vvtCurrentPosition3 = scalar, F32, 1468, "sync: Primary Cam Position", 1, 0 -vvtToothPosition13 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition23 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition33 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition43 = scalar, F32, 1484, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio3 = scalar, F32, 1488, "", 1, 0 -triggerStateIndex3 = scalar, U08, 1492, "", 1, 0 -vvtStateIndex3 = scalar, U08, 1493, "", 1, 0 -; total TS size = 1496 -crankSynchronizationCounter4 = scalar, U32, 1496, "", 1, 0 -vvtSyncGapRatio4 = scalar, F32, 1500, "", 1, 0 -vvtToothDurations04 = scalar, U32, 1504, "us", 1, 0 -vvtCurrentPosition4 = scalar, F32, 1508, "sync: Primary Cam Position", 1, 0 -vvtToothPosition14 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition24 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition34 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition44 = scalar, F32, 1524, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio4 = scalar, F32, 1528, "", 1, 0 -triggerStateIndex4 = scalar, U08, 1532, "", 1, 0 -vvtStateIndex4 = scalar, U08, 1533, "", 1, 0 -; total TS size = 1536 -camResyncCounter = scalar, U08, 1536, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1540, [0:0] -; total TS size = 1544 -wallFuelCorrection = scalar, F32, 1544, "", 1, 0 -wallFuel = scalar, F32, 1548, "", 1, 0 -; total TS size = 1552 -idleState = bits, S32, 1552, [0:2], "not important" -currentIdlePosition = scalar, F32, 1556 -baseIdlePosition = scalar, F32, 1560 -idleClosedLoop = scalar, F32, 1564 -iacByTpsTaper = scalar, F32, 1568 -throttlePedalUpState = scalar, S32, 1572, "", 1, 0 -mightResetPid = bits, U32, 1576, [0:0] -shouldResetPid = bits, U32, 1576, [1:1] -wasResetPid = bits, U32, 1576, [2:2] -mustResetPid = bits, U32, 1576, [3:3] -isCranking = bits, U32, 1576, [4:4] -isIacTableForCoasting = bits, U32, 1576, [5:5] -notIdling = bits, U32, 1576, [6:6] -needReset = bits, U32, 1576, [7:7] -isInDeadZone = bits, U32, 1576, [8:8] -isBlipping = bits, U32, 1576, [9:9] -useClosedLoop = bits, U32, 1576, [10:10] -badTps = bits, U32, 1576, [11:11] -looksLikeRunning = bits, U32, 1576, [12:12] -looksLikeCoasting = bits, U32, 1576, [13:13] -looksLikeCrankToIdle = bits, U32, 1576, [14:14] -isIdleCoasting = bits, U32, 1576, [15:15] -isIdleClosedLoop = bits, U32, 1576, [16:16] -idleTarget = scalar, S32, 1580, "", 1, 0 -targetRpmByClt = scalar, S32, 1584, "", 1, 0 -targetRpmAc = scalar, S32, 1588, "", 1, 0 -iacByRpmTaper = scalar, F32, 1592 -luaAdd = scalar, F32, 1596 -; total TS size = 1600 -targetWithIdlePosition0 = scalar, F32, 1600, "per", 1,0 -trim0 = scalar, F32, 1604, "", 1, 0 -luaAdjustment0 = scalar, F32, 1608, "per", 1,0 -m_wastegatePosition0 = scalar, F32, 1612, "per", 1,0 -etbFeedForward0 = scalar, F32, 1616 -etbIntegralError0 = scalar, F32, 1620, "", 1, 0 -etbCurrentTarget0 = scalar, F32, 1624, "%", 1, 0 -etbCurrentAdjustedTarget0 = scalar, F32, 1628, "%", 1, 0 -etbRevLimitActive0 = bits, U32, 1632, [0:0] -jamDetected0 = bits, U32, 1632, [1:1] -etbTpsErrorCounter0 = scalar, U16, 1636, "count", 1,0 -etbPpsErrorCounter0 = scalar, U16, 1638, "count", 1,0 -etbErrorCode0 = scalar, S08, 1640, "", 1, 0 -tcEtbDrop0 = scalar, S08, 1641, "%", 1, 0 -jamTimer0 = scalar, U16, 1642, "sec", 0.01, 0 -adjustedEtbTarget0 = scalar, S08, 1644, "%", 1, 0 -; total TS size = 1648 -targetWithIdlePosition1 = scalar, F32, 1648, "per", 1,0 -trim1 = scalar, F32, 1652, "", 1, 0 -luaAdjustment1 = scalar, F32, 1656, "per", 1,0 -m_wastegatePosition1 = scalar, F32, 1660, "per", 1,0 -etbFeedForward1 = scalar, F32, 1664 -etbIntegralError1 = scalar, F32, 1668, "", 1, 0 -etbCurrentTarget1 = scalar, F32, 1672, "%", 1, 0 -etbCurrentAdjustedTarget1 = scalar, F32, 1676, "%", 1, 0 -etbRevLimitActive1 = bits, U32, 1680, [0:0] -jamDetected1 = bits, U32, 1680, [1:1] -etbTpsErrorCounter1 = scalar, U16, 1684, "count", 1,0 -etbPpsErrorCounter1 = scalar, U16, 1686, "count", 1,0 -etbErrorCode1 = scalar, S08, 1688, "", 1, 0 -tcEtbDrop1 = scalar, S08, 1689, "%", 1, 0 -jamTimer1 = scalar, U16, 1690, "sec", 0.01, 0 -adjustedEtbTarget1 = scalar, S08, 1692, "%", 1, 0 -; total TS size = 1696 -faultCode0 = scalar, U08, 1696, "", 1, 0 -heaterDuty0 = scalar, U08, 1697, "%", 1, 0 -pumpDuty0 = scalar, U08, 1698, "%", 1, 0 -tempC0 = scalar, U16, 1700, "C", 1, 0 -nernstVoltage0 = scalar, U16, 1702, "V", 0.001, 0 -esr0 = scalar, U16, 1704, "ohm", 1, 0 -; total TS size = 1708 -faultCode1 = scalar, U08, 1708, "", 1, 0 -heaterDuty1 = scalar, U08, 1709, "%", 1, 0 -pumpDuty1 = scalar, U08, 1710, "%", 1, 0 -tempC1 = scalar, U16, 1712, "C", 1, 0 -nernstVoltage1 = scalar, U16, 1714, "V", 0.001, 0 -esr1 = scalar, U16, 1716, "ohm", 1, 0 -; total TS size = 1720 -dcOutput0 = scalar, F32, 1720, "per", 1,0 -isEnabled0_int = scalar, U08, 1724, "per", 1,0 -isEnabled0 = bits, U32, 1728, [0:0] -; total TS size = 1732 -value0 = scalar, U16, 1732, "value", 1,0 -value1 = scalar, U16, 1734, "value", 1,0 -errorRate = scalar, F32, 1736, "ratio", 1,0 -; total TS size = 1740 -vvtTarget = scalar, U16, 1740, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1742, "%", 0.5, 0 -; total TS size = 1744 -lambdaCurrentlyGood = bits, U32, 1744, [0:0] -lambdaMonitorCut = bits, U32, 1744, [1:1] -lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 -; total TS size = 1752 +retardThresholdRpm = scalar, S32, 1120, "", 1, 0 +launchActivatePinState = bits, U32, 1124, [0:0] +isPreLaunchCondition = bits, U32, 1124, [1:1] +isLaunchCondition = bits, U32, 1124, [2:2] +isSwitchActivated = bits, U32, 1124, [3:3] +isClutchActivated = bits, U32, 1124, [4:4] +isBrakePedalActivated = bits, U32, 1124, [5:5] +isValidInputPin = bits, U32, 1124, [6:6] +activateSwitchCondition = bits, U32, 1124, [7:7] +rpmLaunchCondition = bits, U32, 1124, [8:8] +rpmPreLaunchCondition = bits, U32, 1124, [9:9] +speedCondition = bits, U32, 1124, [10:10] +tpsCondition = bits, U32, 1124, [11:11] +; total TS size = 1128 +isTorqueReductionTriggerPinValid = bits, U32, 1128, [0:0] +torqueReductionTriggerPinState = bits, U32, 1128, [1:1] +isTimeConditionSatisfied = bits, U32, 1128, [2:2] +isRpmConditionSatisfied = bits, U32, 1128, [3:3] +isAppConditionSatisfied = bits, U32, 1128, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1128, [5:5] +; total TS size = 1132 +isAntilagCondition = bits, U32, 1132, [0:0] +ALSMinRPMCondition = bits, U32, 1132, [1:1] +ALSMaxRPMCondition = bits, U32, 1132, [2:2] +ALSMinCLTCondition = bits, U32, 1132, [3:3] +ALSMaxCLTCondition = bits, U32, 1132, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1132, [5:5] +isALSSwitchActivated = bits, U32, 1132, [6:6] +ALSActivatePinState = bits, U32, 1132, [7:7] +ALSSwitchCondition = bits, U32, 1132, [8:8] +ALSTimerCondition = bits, U32, 1132, [9:9] +fuelALSCorrection = scalar, F32, 1136, "", 1, 0 +timingALSCorrection = scalar, S16, 1140, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1142, "deg", 0.01, 0 +; total TS size = 1144 +isTpsInvalid = bits, U32, 1144, [0:0] +m_shouldResetPid = bits, U32, 1144, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1144, [2:2] +isNotClosedLoop = bits, U32, 1144, [3:3] +isZeroRpm = bits, U32, 1144, [4:4] +hasInitBoost = bits, U32, 1144, [5:5] +rpmTooLow = bits, U32, 1144, [6:6] +tpsTooLow = bits, U32, 1144, [7:7] +mapTooLow = bits, U32, 1144, [8:8] +isPlantValid = bits, U32, 1144, [9:9] +isBoostControlled = bits, U32, 1144, [10:10] +luaTargetAdd = scalar, S16, 1148, "v", 0.5,0 +boostOutput = scalar, S16, 1150, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1152, "v", 1,0 +openLoopPart = scalar, F32, 1156, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1160, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1164, "%", 0.5,0 +boostControlTarget = scalar, S16, 1166, "kPa", 0.03333333333333333,0 +; total TS size = 1168 +acButtonState = scalar, S08, 1168, "", 1, 0 +m_acEnabled = bits, U32, 1172, [0:0] +engineTooSlow = bits, U32, 1172, [1:1] +engineTooFast = bits, U32, 1172, [2:2] +noClt = bits, U32, 1172, [3:3] +engineTooHot = bits, U32, 1172, [4:4] +tpsTooHigh = bits, U32, 1172, [5:5] +isDisabledByLua = bits, U32, 1172, [6:6] +acCompressorState = bits, U32, 1172, [7:7] +acPressureTooLow = bits, U32, 1172, [8:8] +acPressureTooHigh = bits, U32, 1172, [9:9] +; total TS size = 1176 +cranking0 = bits, U32, 1176, [0:0] +notRunning0 = bits, U32, 1176, [1:1] +disabledWhileEngineStopped0 = bits, U32, 1176, [2:2] +brokenClt0 = bits, U32, 1176, [3:3] +enabledForAc0 = bits, U32, 1176, [4:4] +hot0 = bits, U32, 1176, [5:5] +cold0 = bits, U32, 1176, [6:6] +disabledBySpeed0 = bits, U32, 1176, [7:7] +radiatorFanStatus0 = scalar, U08, 1180, "", 1, 0 +; total TS size = 1184 +cranking1 = bits, U32, 1184, [0:0] +notRunning1 = bits, U32, 1184, [1:1] +disabledWhileEngineStopped1 = bits, U32, 1184, [2:2] +brokenClt1 = bits, U32, 1184, [3:3] +enabledForAc1 = bits, U32, 1184, [4:4] +hot1 = bits, U32, 1184, [5:5] +cold1 = bits, U32, 1184, [6:6] +disabledBySpeed1 = bits, U32, 1184, [7:7] +radiatorFanStatus1 = scalar, U08, 1188, "", 1, 0 +; total TS size = 1192 +isPrime = bits, U32, 1192, [0:0] +engineTurnedRecently = bits, U32, 1192, [1:1] +isFuelPumpOn = bits, U32, 1192, [2:2] +ignitionOn = bits, U32, 1192, [3:3] +; total TS size = 1196 +isBenchTest = bits, U32, 1196, [0:0] +hasIgnitionVoltage = bits, U32, 1196, [1:1] +mainRelayState = bits, U32, 1196, [2:2] +delayedShutoffRequested = bits, U32, 1196, [3:3] +; total TS size = 1200 +lua_fuelAdd = scalar, F32, 1200, "g", 1, 0 +lua_fuelMult = scalar, F32, 1204, "", 1, 0 +lua_clutchUpState = bits, U32, 1208, [0:0] +lua_brakePedalState = bits, U32, 1208, [1:1] +lua_acRequestState = bits, U32, 1208, [2:2] +lua_luaDisableEtb = bits, U32, 1208, [3:3] +lua_luaIgnCut = bits, U32, 1208, [4:4] +lua_luaFuelCut = bits, U32, 1208, [5:5] +lua_clutchDownState = bits, U32, 1208, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1208, [7:7] +sd_tCharge = scalar, S16, 1212, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1216, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1220, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1224, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1228, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1232, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1236, "", 1, 0 +hellenBoardId = scalar, S16, 1240, "id", 1, 0 +clutchUpState = scalar, S08, 1242, "", 1, 0 +clutchDownState = scalar, S08, 1243, "", 1, 0 +brakePedalState = scalar, S08, 1244, "", 1, 0 +startStopState = scalar, S08, 1245, "", 1, 0 +smartChipState = scalar, S08, 1246, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1247, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1248, "", 1, 0 +startStopPhysicalState = bits, U32, 1252, [0:0] +acrActive = bits, U32, 1252, [1:1] +acrEngineMovedRecently = bits, U32, 1252, [2:2] +heaterControlEnabled = bits, U32, 1252, [3:3] +luaDigitalState0 = bits, U32, 1252, [4:4] +luaDigitalState1 = bits, U32, 1252, [5:5] +luaDigitalState2 = bits, U32, 1252, [6:6] +luaDigitalState3 = bits, U32, 1252, [7:7] +startStopStateToggleCounter = scalar, U32, 1256, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1260, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1264, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1268, "", 1, 0 +desiredRpmLimit = scalar, S16, 1272, "rpm", 1, 0 +fuelInjectionCounter = scalar, U32, 1276, "", 1, 0 +globalSparkCounter = scalar, U32, 1280, "", 1, 0 +fuelingLoad = scalar, F32, 1284, "", 1, 0 +ignitionLoad = scalar, F32, 1288, "", 1, 0 +veTableYAxis = scalar, U16, 1292, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1294, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1295, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1296, "", 1, 0 +; total TS size = 1300 +tpsFrom = scalar, F32, 1300 +tpsTo = scalar, F32, 1304 +deltaTps = scalar, F32, 1308 +extraFuel = scalar, F32, 1312, "", 1, 0 +valueFromTable = scalar, F32, 1316, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1320, [0:0] +isBelowDecelThreshold = bits, U32, 1320, [1:1] +isTimeToResetAccumulator = bits, U32, 1320, [2:2] +isFractionalEnrichment = bits, U32, 1320, [3:3] +belowEpsilon = bits, U32, 1320, [4:4] +tooShort = bits, U32, 1320, [5:5] +fractionalInjFuel = scalar, F32, 1324, "", 1, 0 +accumulatedValue = scalar, F32, 1328, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1332, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1336, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1340, "", 1, 0 +cycleCnt = scalar, S32, 1344, "", 1, 0 +; total TS size = 1348 +hwEventCounters1 = scalar, U32, 1348, "", 1, 0 +hwEventCounters2 = scalar, U32, 1352, "", 1, 0 +hwEventCounters3 = scalar, U32, 1356, "", 1, 0 +hwEventCounters4 = scalar, U32, 1360, "", 1, 0 +hwEventCounters5 = scalar, U32, 1364, "", 1, 0 +hwEventCounters6 = scalar, U32, 1368, "", 1, 0 +vvtCamCounter = scalar, U32, 1372, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1376, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1380, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1384, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1385, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1388, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1392, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1396, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1400, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1404, [0:0] +triggerElapsedUs = scalar, U32, 1408, "", 1, 0 +; total TS size = 1412 +crankSynchronizationCounter0 = scalar, U32, 1412, "", 1, 0 +vvtSyncGapRatio0 = scalar, F32, 1416, "", 1, 0 +vvtToothDurations00 = scalar, U32, 1420, "us", 1, 0 +vvtCurrentPosition0 = scalar, F32, 1424, "sync: Primary Cam Position", 1, 0 +vvtToothPosition10 = scalar, F32, 1428, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition20 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition30 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition40 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio0 = scalar, F32, 1444, "", 1, 0 +triggerStateIndex0 = scalar, U08, 1448, "", 1, 0 +vvtStateIndex0 = scalar, U08, 1449, "", 1, 0 +; total TS size = 1452 +crankSynchronizationCounter1 = scalar, U32, 1452, "", 1, 0 +vvtSyncGapRatio1 = scalar, F32, 1456, "", 1, 0 +vvtToothDurations01 = scalar, U32, 1460, "us", 1, 0 +vvtCurrentPosition1 = scalar, F32, 1464, "sync: Primary Cam Position", 1, 0 +vvtToothPosition11 = scalar, F32, 1468, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition21 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition31 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition41 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio1 = scalar, F32, 1484, "", 1, 0 +triggerStateIndex1 = scalar, U08, 1488, "", 1, 0 +vvtStateIndex1 = scalar, U08, 1489, "", 1, 0 +; total TS size = 1492 +crankSynchronizationCounter2 = scalar, U32, 1492, "", 1, 0 +vvtSyncGapRatio2 = scalar, F32, 1496, "", 1, 0 +vvtToothDurations02 = scalar, U32, 1500, "us", 1, 0 +vvtCurrentPosition2 = scalar, F32, 1504, "sync: Primary Cam Position", 1, 0 +vvtToothPosition12 = scalar, F32, 1508, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition22 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition32 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition42 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio2 = scalar, F32, 1524, "", 1, 0 +triggerStateIndex2 = scalar, U08, 1528, "", 1, 0 +vvtStateIndex2 = scalar, U08, 1529, "", 1, 0 +; total TS size = 1532 +crankSynchronizationCounter3 = scalar, U32, 1532, "", 1, 0 +vvtSyncGapRatio3 = scalar, F32, 1536, "", 1, 0 +vvtToothDurations03 = scalar, U32, 1540, "us", 1, 0 +vvtCurrentPosition3 = scalar, F32, 1544, "sync: Primary Cam Position", 1, 0 +vvtToothPosition13 = scalar, F32, 1548, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition23 = scalar, F32, 1552, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition33 = scalar, F32, 1556, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition43 = scalar, F32, 1560, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio3 = scalar, F32, 1564, "", 1, 0 +triggerStateIndex3 = scalar, U08, 1568, "", 1, 0 +vvtStateIndex3 = scalar, U08, 1569, "", 1, 0 +; total TS size = 1572 +crankSynchronizationCounter4 = scalar, U32, 1572, "", 1, 0 +vvtSyncGapRatio4 = scalar, F32, 1576, "", 1, 0 +vvtToothDurations04 = scalar, U32, 1580, "us", 1, 0 +vvtCurrentPosition4 = scalar, F32, 1584, "sync: Primary Cam Position", 1, 0 +vvtToothPosition14 = scalar, F32, 1588, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition24 = scalar, F32, 1592, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition34 = scalar, F32, 1596, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition44 = scalar, F32, 1600, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio4 = scalar, F32, 1604, "", 1, 0 +triggerStateIndex4 = scalar, U08, 1608, "", 1, 0 +vvtStateIndex4 = scalar, U08, 1609, "", 1, 0 +; total TS size = 1612 +camResyncCounter = scalar, U08, 1612, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1616, [0:0] +; total TS size = 1620 +wallFuelCorrection = scalar, F32, 1620, "", 1, 0 +wallFuel = scalar, F32, 1624, "", 1, 0 +; total TS size = 1628 +idleState = bits, S32, 1628, [0:2], "not important" +currentIdlePosition = scalar, F32, 1632 +baseIdlePosition = scalar, F32, 1636 +idleClosedLoop = scalar, F32, 1640 +iacByTpsTaper = scalar, F32, 1644 +throttlePedalUpState = scalar, S32, 1648, "", 1, 0 +mightResetPid = bits, U32, 1652, [0:0] +shouldResetPid = bits, U32, 1652, [1:1] +wasResetPid = bits, U32, 1652, [2:2] +mustResetPid = bits, U32, 1652, [3:3] +isCranking = bits, U32, 1652, [4:4] +isIacTableForCoasting = bits, U32, 1652, [5:5] +notIdling = bits, U32, 1652, [6:6] +needReset = bits, U32, 1652, [7:7] +isInDeadZone = bits, U32, 1652, [8:8] +isBlipping = bits, U32, 1652, [9:9] +useClosedLoop = bits, U32, 1652, [10:10] +badTps = bits, U32, 1652, [11:11] +looksLikeRunning = bits, U32, 1652, [12:12] +looksLikeCoasting = bits, U32, 1652, [13:13] +looksLikeCrankToIdle = bits, U32, 1652, [14:14] +isIdleCoasting = bits, U32, 1652, [15:15] +isIdleClosedLoop = bits, U32, 1652, [16:16] +idleTarget = scalar, S32, 1656, "", 1, 0 +targetRpmByClt = scalar, S32, 1660, "", 1, 0 +targetRpmAc = scalar, S32, 1664, "", 1, 0 +iacByRpmTaper = scalar, F32, 1668 +luaAdd = scalar, F32, 1672 +; total TS size = 1676 +targetWithIdlePosition0 = scalar, F32, 1676, "per", 1,0 +trim0 = scalar, F32, 1680, "", 1, 0 +luaAdjustment0 = scalar, F32, 1684, "per", 1,0 +m_wastegatePosition0 = scalar, F32, 1688, "per", 1,0 +etbFeedForward0 = scalar, F32, 1692 +etbIntegralError0 = scalar, F32, 1696, "", 1, 0 +etbCurrentTarget0 = scalar, F32, 1700, "%", 1, 0 +etbCurrentAdjustedTarget0 = scalar, F32, 1704, "%", 1, 0 +etbRevLimitActive0 = bits, U32, 1708, [0:0] +jamDetected0 = bits, U32, 1708, [1:1] +etbTpsErrorCounter0 = scalar, U16, 1712, "count", 1,0 +etbPpsErrorCounter0 = scalar, U16, 1714, "count", 1,0 +etbErrorCode0 = scalar, S08, 1716, "", 1, 0 +tcEtbDrop0 = scalar, S08, 1717, "%", 1, 0 +jamTimer0 = scalar, U16, 1718, "sec", 0.01, 0 +adjustedEtbTarget0 = scalar, S08, 1720, "%", 1, 0 +; total TS size = 1724 +targetWithIdlePosition1 = scalar, F32, 1724, "per", 1,0 +trim1 = scalar, F32, 1728, "", 1, 0 +luaAdjustment1 = scalar, F32, 1732, "per", 1,0 +m_wastegatePosition1 = scalar, F32, 1736, "per", 1,0 +etbFeedForward1 = scalar, F32, 1740 +etbIntegralError1 = scalar, F32, 1744, "", 1, 0 +etbCurrentTarget1 = scalar, F32, 1748, "%", 1, 0 +etbCurrentAdjustedTarget1 = scalar, F32, 1752, "%", 1, 0 +etbRevLimitActive1 = bits, U32, 1756, [0:0] +jamDetected1 = bits, U32, 1756, [1:1] +etbTpsErrorCounter1 = scalar, U16, 1760, "count", 1,0 +etbPpsErrorCounter1 = scalar, U16, 1762, "count", 1,0 +etbErrorCode1 = scalar, S08, 1764, "", 1, 0 +tcEtbDrop1 = scalar, S08, 1765, "%", 1, 0 +jamTimer1 = scalar, U16, 1766, "sec", 0.01, 0 +adjustedEtbTarget1 = scalar, S08, 1768, "%", 1, 0 +; total TS size = 1772 +faultCode0 = scalar, U08, 1772, "", 1, 0 +heaterDuty0 = scalar, U08, 1773, "%", 1, 0 +pumpDuty0 = scalar, U08, 1774, "%", 1, 0 +tempC0 = scalar, U16, 1776, "C", 1, 0 +nernstVoltage0 = scalar, U16, 1778, "V", 0.001, 0 +esr0 = scalar, U16, 1780, "ohm", 1, 0 +; total TS size = 1784 +faultCode1 = scalar, U08, 1784, "", 1, 0 +heaterDuty1 = scalar, U08, 1785, "%", 1, 0 +pumpDuty1 = scalar, U08, 1786, "%", 1, 0 +tempC1 = scalar, U16, 1788, "C", 1, 0 +nernstVoltage1 = scalar, U16, 1790, "V", 0.001, 0 +esr1 = scalar, U16, 1792, "ohm", 1, 0 +; total TS size = 1796 +dcOutput0 = scalar, F32, 1796, "per", 1,0 +isEnabled0_int = scalar, U08, 1800, "per", 1,0 +isEnabled0 = bits, U32, 1804, [0:0] +; total TS size = 1808 +value0 = scalar, U16, 1808, "value", 1,0 +value1 = scalar, U16, 1810, "value", 1,0 +errorRate = scalar, F32, 1812, "ratio", 1,0 +; total TS size = 1816 +vvtTarget = scalar, U16, 1816, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1818, "%", 0.5, 0 +; total TS size = 1820 +lambdaCurrentlyGood = bits, U32, 1820, [0:0] +lambdaMonitorCut = bits, U32, 1820, [1:1] +lambdaTimeSinceGood = scalar, U16, 1824, "sec", 0.01, 0 +; total TS size = 1828 time = { timeNow } @@ -3617,6 +3649,7 @@ lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs8 requiresPowerCycle = cylinderBore + requiresPowerCycle = knockFrequency readOnly = warning_message readOnly = device_uid1 @@ -5034,6 +5067,26 @@ gaugeCategory = Knock knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knockSpectrumChannelCylGauge = m_knockSpectrumChannelCyl, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStartGauge = m_knockFrequencyStart, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStepGauge = m_knockFrequencyStep, "Knock Frequency Step", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFuelTrimMultiplier = m_knockFuelTrimMultiplier, "Knock Fuel Trim", "mult", 0, 0, 0, 0, 0, 30, 1, 1 + knockSpectrum1 = m_knockSpectrum1, "Knock Spectrum1", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum2 = m_knockSpectrum2, "knockSpectrum2", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum3 = m_knockSpectrum3, "knockSpectrum3", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum4 = m_knockSpectrum4, "knockSpectrum4", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum5 = m_knockSpectrum5, "knockSpectrum5", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum6 = m_knockSpectrum6, "knockSpectrum6", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum7 = m_knockSpectrum7, "knockSpectrum7", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum8 = m_knockSpectrum8, "knockSpectrum8", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum9 = m_knockSpectrum9, "knockSpectrum9", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum10 = m_knockSpectrum10, "knockSpectrum10", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum11 = m_knockSpectrum11, "knockSpectrum11", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum12 = m_knockSpectrum12, "knockSpectrum12", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum13 = m_knockSpectrum13, "knockSpectrum13", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum14 = m_knockSpectrum14, "knockSpectrum14", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum15 = m_knockSpectrum15, "knockSpectrum15", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum16 = m_knockSpectrum16, "knockSpectrum16", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -5633,6 +5686,26 @@ entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" entry = m_knockCount, "Knock: Count", int, "%d" entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_knockFrequency, "knock: frequency", int, "%d" +entry = m_knockSpectrum1, "Knock: SpectrumData 1", int, "%d" +entry = m_knockSpectrum2, "Knock: SpectrumData 2", int, "%d" +entry = m_knockSpectrum3, "Knock: SpectrumData 3", int, "%d" +entry = m_knockSpectrum4, "Knock: SpectrumData 4", int, "%d" +entry = m_knockSpectrum5, "Knock: SpectrumData 5", int, "%d" +entry = m_knockSpectrum6, "Knock: SpectrumData 6", int, "%d" +entry = m_knockSpectrum7, "Knock: SpectrumData 7", int, "%d" +entry = m_knockSpectrum8, "Knock: SpectrumData 8", int, "%d" +entry = m_knockSpectrum9, "Knock: SpectrumData 9", int, "%d" +entry = m_knockSpectrum10, "Knock: SpectrumData 10", int, "%d" +entry = m_knockSpectrum11, "Knock: SpectrumData 11", int, "%d" +entry = m_knockSpectrum12, "Knock: SpectrumData 12", int, "%d" +entry = m_knockSpectrum13, "Knock: SpectrumData 13", int, "%d" +entry = m_knockSpectrum14, "Knock: SpectrumData 14", int, "%d" +entry = m_knockSpectrum15, "Knock: SpectrumData 15", int, "%d" +entry = m_knockSpectrum16, "Knock: SpectrumData 16", int, "%d" +entry = m_knockSpectrumChannelCyl, "Knock: ChannelAndCylNumber", int, "%d" +entry = m_knockFrequencyStart, "Knock: Start Freq", int, "%d" +entry = m_knockFrequencyStep, "Knock: Step Freq", float, "%.3f" +entry = m_knockFuelTrimMultiplier, "Knock: Fuel trim when knock", float, "%.3f" entry = tcuCurrentGear, "TCU: Current Gear", int, "%d" entry = tcRatio, "TCU: Torque Converter Ratio", float, "%.3f" entry = lastShiftTime, "lastShiftTime", float, "%.3f" @@ -6534,6 +6607,31 @@ dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard graphLine = m_knockFrequency + graphLine = m_knockSpectrum1 + graphLine = m_knockSpectrum2 + liveGraph = knock_controller_6_Graph, "Graph", South + graphLine = m_knockSpectrum3 + graphLine = m_knockSpectrum4 + graphLine = m_knockSpectrum5 + graphLine = m_knockSpectrum6 + liveGraph = knock_controller_7_Graph, "Graph", South + graphLine = m_knockSpectrum7 + graphLine = m_knockSpectrum8 + graphLine = m_knockSpectrum9 + graphLine = m_knockSpectrum10 + liveGraph = knock_controller_8_Graph, "Graph", South + graphLine = m_knockSpectrum11 + graphLine = m_knockSpectrum12 + graphLine = m_knockSpectrum13 + graphLine = m_knockSpectrum14 + liveGraph = knock_controller_9_Graph, "Graph", South + graphLine = m_knockSpectrum15 + graphLine = m_knockSpectrum16 + graphLine = m_knockSpectrumChannelCyl + graphLine = m_knockFrequencyStart + liveGraph = knock_controller_10_Graph, "Graph", South + graphLine = m_knockFrequencyStep + graphLine = m_knockFuelTrimMultiplier indicatorPanel = tcu_controllerIndicatorPanel, 2 indicator = {isShifting}, "isShifting No", "isShifting Yes" @@ -8605,9 +8703,13 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockCfg, "Sense" field = "Enable", enableSoftwareKnock field = "Cylinder Bore", cylinderBore, {enableSoftwareKnock} + field = "Estimated Knock Frequency",knockFrequency, {enableSoftwareKnock} field = "Detection mode", knockDetectionUseDoubleFrequency field = "Detection Window Start",knockDetectionWindowStart, {enableSoftwareKnock} field = "Sampling Duration", knockSamplingDuration, {enableSoftwareKnock} + field = "Enable Knock Spectrogram", enableKnockSpectrogram, {enableSoftwareKnock} + field = "Enable Knock Spectrogram Filter", enableKnockSpectrogramFilter, {enableKnockSpectrogram} + field = "Knock Spectrum Sensitivity", knockSpectrumSensitivity, {enableKnockSpectrogram} field = "" field = "Select the nearest sensor for each cylinder" @@ -8627,6 +8729,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockResponseCfg, "Response" field = knockRetardAggression, knockRetardAggression field = knockRetardReapplyRate, knockRetardReapplyRate + field = knockFuelTrimAggression, knockFuelTrimAggression + field = knockFuelTrimReapplyRate, knockFuelTrimReapplyRate + field = knockFuelTrim, knockFuelTrim + field = knockSuppressMinTps, knockSuppressMinTps dialog = softwareKnockLeft, "" panel = softwareKnockCfg diff --git a/firmware/tunerstudio/generated/rusefi_alphax-2chan.ini b/firmware/tunerstudio/generated/rusefi_alphax-2chan.ini index c27ecaba10..5e4435d4da 100644 --- a/firmware/tunerstudio/generated/rusefi_alphax-2chan.ini +++ b/firmware/tunerstudio/generated/rusefi_alphax-2chan.ini @@ -38,12 +38,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.10.21.alphax-2chan.4146669886" + signature = "rusEFI master.2024.10.21.alphax-2chan.721515457" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.10.21.alphax-2chan.4146669886" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.10.21.alphax-2chan.721515457" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -774,6 +774,7 @@ devBit7 = bits, U32, 1492, [27:27], "false", "true" unusedSkipWasHere = bits, U32, 1492, [28:28], "false", "true" invertExhaustCamVVTSignal = bits, U32, 1492, [29:29], "Rising", "Falling" enableKnockSpectrogram = bits, U32, 1492, [30:30], "false", "true" +enableKnockSpectrogramFilter = bits, U32, 1492, [31:31], "false", "true" afterCrankingIACtaperDuration = scalar, S16, 1496, "cycles", 1, 0, 0, 5000, 0 iacByTpsTaper = scalar, S16, 1498, "percent", 1, 0, 0, 500, 0 unusedAuxSeria = bits, U16, 1500, [0:8], $gpio_list @@ -1394,7 +1395,13 @@ auxLinear4_v1 = scalar, F32, 3880, "volts", 1, 0, 0, 10, 2 auxLinear4_value1 = scalar, F32, 3884, "", 1, 0, -100000, 1000000, 2 auxLinear4_v2 = scalar, F32, 3888, "volts", 1, 0, 0, 10, 2 auxLinear4_value2 = scalar, F32, 3892, "", 1, 0, -100000, 1000000, 2 -unusedOftenChangesDuringFirmwareUpdate = array, U08, 3896, [128], "units", 1, 0, 0, 1, 0 +knockSuppressMinTps = scalar, U08, 3896, "%", 1, 0, 0, 100, 1 +knockFuelTrimAggression = scalar, U08, 3897, "%", 0.1, 0, 0, 20, 1 +knockFuelTrimReapplyRate = scalar, U08, 3898, "deg/s", 0.1, 0, 0, 10, 1 +knockFuelTrim = scalar, U08, 3899, "%", 1, 0, 0, 30, 1 +knockSpectrumSensitivity = scalar, F32, 3900, "sense", 1, 0, 0, 1, 2 +knockFrequency = scalar, F32, 3904, "Hz", 1, 0, 0, 20000, 2 +unusedOftenChangesDuringFirmwareUpdate = array, U08, 3908, [116], "units", 1, 0, 0, 1, 0 postCrankingFactor = array, F32, 4024, [6x6], "mult", 1, 0, 1, 3, 2 postCrankingDurationBins = array, F32, 4168, [6], "count", 1, 0, 0, 1000, 0 postCrankingCLTBins = array, S16, 4192, [6], "C", 1, 0, -100, 250, 0 @@ -2453,6 +2460,11 @@ boardUseCamPullDown = bits, U32, 22968, [4:4], "With Pull Up", "With Pull Down" minAcPressure = "value of A/C pressure in kPa before that compressor is disengaged" maxAcPressure = "value of A/C pressure in kPa after that compressor is disengaged" minimumOilPressureTimeout = "Delay before cutting fuel due to low oil pressure. Use this to ignore short pressure blips and sensor noise." + knockSuppressMinTps = "Below TPS value all knock suppression will be disabled." + knockFuelTrimAggression = "Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump)," + knockFuelTrimReapplyRate = "After a knock event, reapply fuel at this rate." + knockFuelTrim = "Fuel trim when knock, max 30%" + knockFrequency = "Estimated knock frequency, ignore cylinderBore if this one > 0" etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, open loop component of PID closed loop control" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2565,7 +2577,7 @@ boardUseCamPullDown = bits, U32, 22968, [4:4], "With Pull Up", "With Pull Down" ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1752 + ochBlockSize = 1828 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3106,370 +3118,390 @@ m_knockThreshold = scalar, F32, 960, "", 1, 0 m_knockCount = scalar, U32, 964, "", 1, 0 m_maximumRetard = scalar, F32, 968, "", 1, 0 m_knockFrequency = scalar, U32, 972, "Hz", 1, 0 -; total TS size = 976 -tcuCurrentGear = scalar, S08, 976, "gear", 1, 0 -tcRatio = scalar, U16, 978, "value", 0.01, 0 -lastShiftTime = scalar, F32, 980, "", 1, 0 -tcu_currentRange = scalar, U08, 984, "", 1, 0 -pressureControlDuty = scalar, S08, 985, "%", 1,0 -torqueConverterDuty = scalar, S08, 986, "%", 1,0 -isShifting = bits, U32, 988, [0:0] -; total TS size = 992 -throttleUseWotModel = bits, U32, 992, [0:0] -throttleModelCrossoverAngle = scalar, S16, 996, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1000, "g/s", 1, 0 -; total TS size = 1004 -m_requested_pump = scalar, F32, 1004, "", 1, 0 -fuel_requested_percent = scalar, F32, 1008, "", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1012, "", 1, 0 -noValve = bits, U32, 1016, [0:0] -angleAboveMin = bits, U32, 1016, [1:1] -isHpfpInactive = bits, U32, 1016, [2:2] -m_pressureTarget_kPa = scalar, F32, 1020, "", 1, 0 -nextLobe = scalar, F32, 1024, "", 1, 0 -di_nextStart = scalar, F32, 1028, "v", 1, 0 -; total TS size = 1032 -m_deadtime = scalar, F32, 1032, "ms", 1, 0 -pressureDelta = scalar, F32, 1036, "kPa", 1, 0 -pressureRatio = scalar, F32, 1040, "", 1, 0 -; total TS size = 1044 -retardThresholdRpm = scalar, S32, 1044, "", 1, 0 -launchActivatePinState = bits, U32, 1048, [0:0] -isPreLaunchCondition = bits, U32, 1048, [1:1] -isLaunchCondition = bits, U32, 1048, [2:2] -isSwitchActivated = bits, U32, 1048, [3:3] -isClutchActivated = bits, U32, 1048, [4:4] -isBrakePedalActivated = bits, U32, 1048, [5:5] -isValidInputPin = bits, U32, 1048, [6:6] -activateSwitchCondition = bits, U32, 1048, [7:7] -rpmLaunchCondition = bits, U32, 1048, [8:8] -rpmPreLaunchCondition = bits, U32, 1048, [9:9] -speedCondition = bits, U32, 1048, [10:10] -tpsCondition = bits, U32, 1048, [11:11] +m_knockSpectrum1 = scalar, U32, 976, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 980, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 984, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 988, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1040, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1042, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1044, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1048, "multiplier", 1, 0 ; total TS size = 1052 -isTorqueReductionTriggerPinValid = bits, U32, 1052, [0:0] -torqueReductionTriggerPinState = bits, U32, 1052, [1:1] -isTimeConditionSatisfied = bits, U32, 1052, [2:2] -isRpmConditionSatisfied = bits, U32, 1052, [3:3] -isAppConditionSatisfied = bits, U32, 1052, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1052, [5:5] -; total TS size = 1056 -isAntilagCondition = bits, U32, 1056, [0:0] -ALSMinRPMCondition = bits, U32, 1056, [1:1] -ALSMaxRPMCondition = bits, U32, 1056, [2:2] -ALSMinCLTCondition = bits, U32, 1056, [3:3] -ALSMaxCLTCondition = bits, U32, 1056, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1056, [5:5] -isALSSwitchActivated = bits, U32, 1056, [6:6] -ALSActivatePinState = bits, U32, 1056, [7:7] -ALSSwitchCondition = bits, U32, 1056, [8:8] -ALSTimerCondition = bits, U32, 1056, [9:9] -fuelALSCorrection = scalar, F32, 1060, "", 1, 0 -timingALSCorrection = scalar, S16, 1064, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1066, "deg", 0.01, 0 +tcuCurrentGear = scalar, S08, 1052, "gear", 1, 0 +tcRatio = scalar, U16, 1054, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1056, "", 1, 0 +tcu_currentRange = scalar, U08, 1060, "", 1, 0 +pressureControlDuty = scalar, S08, 1061, "%", 1,0 +torqueConverterDuty = scalar, S08, 1062, "%", 1,0 +isShifting = bits, U32, 1064, [0:0] ; total TS size = 1068 -isTpsInvalid = bits, U32, 1068, [0:0] -m_shouldResetPid = bits, U32, 1068, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1068, [2:2] -isNotClosedLoop = bits, U32, 1068, [3:3] -isZeroRpm = bits, U32, 1068, [4:4] -hasInitBoost = bits, U32, 1068, [5:5] -rpmTooLow = bits, U32, 1068, [6:6] -tpsTooLow = bits, U32, 1068, [7:7] -mapTooLow = bits, U32, 1068, [8:8] -isPlantValid = bits, U32, 1068, [9:9] -isBoostControlled = bits, U32, 1068, [10:10] -luaTargetAdd = scalar, S16, 1072, "v", 0.5,0 -boostOutput = scalar, S16, 1074, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1076, "v", 1,0 -openLoopPart = scalar, F32, 1080, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1084, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1088, "%", 0.5,0 -boostControlTarget = scalar, S16, 1090, "kPa", 0.03333333333333333,0 -; total TS size = 1092 -acButtonState = scalar, S08, 1092, "", 1, 0 -m_acEnabled = bits, U32, 1096, [0:0] -engineTooSlow = bits, U32, 1096, [1:1] -engineTooFast = bits, U32, 1096, [2:2] -noClt = bits, U32, 1096, [3:3] -engineTooHot = bits, U32, 1096, [4:4] -tpsTooHigh = bits, U32, 1096, [5:5] -isDisabledByLua = bits, U32, 1096, [6:6] -acCompressorState = bits, U32, 1096, [7:7] -acPressureTooLow = bits, U32, 1096, [8:8] -acPressureTooHigh = bits, U32, 1096, [9:9] -; total TS size = 1100 -cranking0 = bits, U32, 1100, [0:0] -notRunning0 = bits, U32, 1100, [1:1] -disabledWhileEngineStopped0 = bits, U32, 1100, [2:2] -brokenClt0 = bits, U32, 1100, [3:3] -enabledForAc0 = bits, U32, 1100, [4:4] -hot0 = bits, U32, 1100, [5:5] -cold0 = bits, U32, 1100, [6:6] -disabledBySpeed0 = bits, U32, 1100, [7:7] -radiatorFanStatus0 = scalar, U08, 1104, "", 1, 0 +throttleUseWotModel = bits, U32, 1068, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1072, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1076, "g/s", 1, 0 +; total TS size = 1080 +m_requested_pump = scalar, F32, 1080, "", 1, 0 +fuel_requested_percent = scalar, F32, 1084, "", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1088, "", 1, 0 +noValve = bits, U32, 1092, [0:0] +angleAboveMin = bits, U32, 1092, [1:1] +isHpfpInactive = bits, U32, 1092, [2:2] +m_pressureTarget_kPa = scalar, F32, 1096, "", 1, 0 +nextLobe = scalar, F32, 1100, "", 1, 0 +di_nextStart = scalar, F32, 1104, "v", 1, 0 ; total TS size = 1108 -cranking1 = bits, U32, 1108, [0:0] -notRunning1 = bits, U32, 1108, [1:1] -disabledWhileEngineStopped1 = bits, U32, 1108, [2:2] -brokenClt1 = bits, U32, 1108, [3:3] -enabledForAc1 = bits, U32, 1108, [4:4] -hot1 = bits, U32, 1108, [5:5] -cold1 = bits, U32, 1108, [6:6] -disabledBySpeed1 = bits, U32, 1108, [7:7] -radiatorFanStatus1 = scalar, U08, 1112, "", 1, 0 -; total TS size = 1116 -isPrime = bits, U32, 1116, [0:0] -engineTurnedRecently = bits, U32, 1116, [1:1] -isFuelPumpOn = bits, U32, 1116, [2:2] -ignitionOn = bits, U32, 1116, [3:3] +m_deadtime = scalar, F32, 1108, "ms", 1, 0 +pressureDelta = scalar, F32, 1112, "kPa", 1, 0 +pressureRatio = scalar, F32, 1116, "", 1, 0 ; total TS size = 1120 -isBenchTest = bits, U32, 1120, [0:0] -hasIgnitionVoltage = bits, U32, 1120, [1:1] -mainRelayState = bits, U32, 1120, [2:2] -delayedShutoffRequested = bits, U32, 1120, [3:3] -; total TS size = 1124 -lua_fuelAdd = scalar, F32, 1124, "g", 1, 0 -lua_fuelMult = scalar, F32, 1128, "", 1, 0 -lua_clutchUpState = bits, U32, 1132, [0:0] -lua_brakePedalState = bits, U32, 1132, [1:1] -lua_acRequestState = bits, U32, 1132, [2:2] -lua_luaDisableEtb = bits, U32, 1132, [3:3] -lua_luaIgnCut = bits, U32, 1132, [4:4] -lua_luaFuelCut = bits, U32, 1132, [5:5] -lua_clutchDownState = bits, U32, 1132, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1132, [7:7] -sd_tCharge = scalar, S16, 1136, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1140, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1144, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1148, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1152, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1156, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1160, "", 1, 0 -hellenBoardId = scalar, S16, 1164, "id", 1, 0 -clutchUpState = scalar, S08, 1166, "", 1, 0 -clutchDownState = scalar, S08, 1167, "", 1, 0 -brakePedalState = scalar, S08, 1168, "", 1, 0 -startStopState = scalar, S08, 1169, "", 1, 0 -smartChipState = scalar, S08, 1170, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1171, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1172, "", 1, 0 -startStopPhysicalState = bits, U32, 1176, [0:0] -acrActive = bits, U32, 1176, [1:1] -acrEngineMovedRecently = bits, U32, 1176, [2:2] -heaterControlEnabled = bits, U32, 1176, [3:3] -luaDigitalState0 = bits, U32, 1176, [4:4] -luaDigitalState1 = bits, U32, 1176, [5:5] -luaDigitalState2 = bits, U32, 1176, [6:6] -luaDigitalState3 = bits, U32, 1176, [7:7] -startStopStateToggleCounter = scalar, U32, 1180, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1184, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1188, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1192, "", 1, 0 -desiredRpmLimit = scalar, S16, 1196, "rpm", 1, 0 -fuelInjectionCounter = scalar, U32, 1200, "", 1, 0 -globalSparkCounter = scalar, U32, 1204, "", 1, 0 -fuelingLoad = scalar, F32, 1208, "", 1, 0 -ignitionLoad = scalar, F32, 1212, "", 1, 0 -veTableYAxis = scalar, U16, 1216, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1218, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1219, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1220, "", 1, 0 -; total TS size = 1224 -tpsFrom = scalar, F32, 1224 -tpsTo = scalar, F32, 1228 -deltaTps = scalar, F32, 1232 -extraFuel = scalar, F32, 1236, "", 1, 0 -valueFromTable = scalar, F32, 1240, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1244, [0:0] -isBelowDecelThreshold = bits, U32, 1244, [1:1] -isTimeToResetAccumulator = bits, U32, 1244, [2:2] -isFractionalEnrichment = bits, U32, 1244, [3:3] -belowEpsilon = bits, U32, 1244, [4:4] -tooShort = bits, U32, 1244, [5:5] -fractionalInjFuel = scalar, F32, 1248, "", 1, 0 -accumulatedValue = scalar, F32, 1252, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1256, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1260, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1264, "", 1, 0 -cycleCnt = scalar, S32, 1268, "", 1, 0 -; total TS size = 1272 -hwEventCounters1 = scalar, U32, 1272, "", 1, 0 -hwEventCounters2 = scalar, U32, 1276, "", 1, 0 -hwEventCounters3 = scalar, U32, 1280, "", 1, 0 -hwEventCounters4 = scalar, U32, 1284, "", 1, 0 -hwEventCounters5 = scalar, U32, 1288, "", 1, 0 -hwEventCounters6 = scalar, U32, 1292, "", 1, 0 -vvtCamCounter = scalar, U32, 1296, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1300, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1304, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1308, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1309, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1312, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1316, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1320, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1324, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1328, [0:0] -triggerElapsedUs = scalar, U32, 1332, "", 1, 0 -; total TS size = 1336 -crankSynchronizationCounter0 = scalar, U32, 1336, "", 1, 0 -vvtSyncGapRatio0 = scalar, F32, 1340, "", 1, 0 -vvtToothDurations00 = scalar, U32, 1344, "us", 1, 0 -vvtCurrentPosition0 = scalar, F32, 1348, "sync: Primary Cam Position", 1, 0 -vvtToothPosition10 = scalar, F32, 1352, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition20 = scalar, F32, 1356, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition30 = scalar, F32, 1360, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition40 = scalar, F32, 1364, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio0 = scalar, F32, 1368, "", 1, 0 -triggerStateIndex0 = scalar, U08, 1372, "", 1, 0 -vvtStateIndex0 = scalar, U08, 1373, "", 1, 0 -; total TS size = 1376 -crankSynchronizationCounter1 = scalar, U32, 1376, "", 1, 0 -vvtSyncGapRatio1 = scalar, F32, 1380, "", 1, 0 -vvtToothDurations01 = scalar, U32, 1384, "us", 1, 0 -vvtCurrentPosition1 = scalar, F32, 1388, "sync: Primary Cam Position", 1, 0 -vvtToothPosition11 = scalar, F32, 1392, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition21 = scalar, F32, 1396, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition31 = scalar, F32, 1400, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition41 = scalar, F32, 1404, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio1 = scalar, F32, 1408, "", 1, 0 -triggerStateIndex1 = scalar, U08, 1412, "", 1, 0 -vvtStateIndex1 = scalar, U08, 1413, "", 1, 0 -; total TS size = 1416 -crankSynchronizationCounter2 = scalar, U32, 1416, "", 1, 0 -vvtSyncGapRatio2 = scalar, F32, 1420, "", 1, 0 -vvtToothDurations02 = scalar, U32, 1424, "us", 1, 0 -vvtCurrentPosition2 = scalar, F32, 1428, "sync: Primary Cam Position", 1, 0 -vvtToothPosition12 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition22 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition32 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition42 = scalar, F32, 1444, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio2 = scalar, F32, 1448, "", 1, 0 -triggerStateIndex2 = scalar, U08, 1452, "", 1, 0 -vvtStateIndex2 = scalar, U08, 1453, "", 1, 0 -; total TS size = 1456 -crankSynchronizationCounter3 = scalar, U32, 1456, "", 1, 0 -vvtSyncGapRatio3 = scalar, F32, 1460, "", 1, 0 -vvtToothDurations03 = scalar, U32, 1464, "us", 1, 0 -vvtCurrentPosition3 = scalar, F32, 1468, "sync: Primary Cam Position", 1, 0 -vvtToothPosition13 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition23 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition33 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition43 = scalar, F32, 1484, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio3 = scalar, F32, 1488, "", 1, 0 -triggerStateIndex3 = scalar, U08, 1492, "", 1, 0 -vvtStateIndex3 = scalar, U08, 1493, "", 1, 0 -; total TS size = 1496 -crankSynchronizationCounter4 = scalar, U32, 1496, "", 1, 0 -vvtSyncGapRatio4 = scalar, F32, 1500, "", 1, 0 -vvtToothDurations04 = scalar, U32, 1504, "us", 1, 0 -vvtCurrentPosition4 = scalar, F32, 1508, "sync: Primary Cam Position", 1, 0 -vvtToothPosition14 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition24 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition34 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition44 = scalar, F32, 1524, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio4 = scalar, F32, 1528, "", 1, 0 -triggerStateIndex4 = scalar, U08, 1532, "", 1, 0 -vvtStateIndex4 = scalar, U08, 1533, "", 1, 0 -; total TS size = 1536 -camResyncCounter = scalar, U08, 1536, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1540, [0:0] -; total TS size = 1544 -wallFuelCorrection = scalar, F32, 1544, "", 1, 0 -wallFuel = scalar, F32, 1548, "", 1, 0 -; total TS size = 1552 -idleState = bits, S32, 1552, [0:2], "not important" -currentIdlePosition = scalar, F32, 1556 -baseIdlePosition = scalar, F32, 1560 -idleClosedLoop = scalar, F32, 1564 -iacByTpsTaper = scalar, F32, 1568 -throttlePedalUpState = scalar, S32, 1572, "", 1, 0 -mightResetPid = bits, U32, 1576, [0:0] -shouldResetPid = bits, U32, 1576, [1:1] -wasResetPid = bits, U32, 1576, [2:2] -mustResetPid = bits, U32, 1576, [3:3] -isCranking = bits, U32, 1576, [4:4] -isIacTableForCoasting = bits, U32, 1576, [5:5] -notIdling = bits, U32, 1576, [6:6] -needReset = bits, U32, 1576, [7:7] -isInDeadZone = bits, U32, 1576, [8:8] -isBlipping = bits, U32, 1576, [9:9] -useClosedLoop = bits, U32, 1576, [10:10] -badTps = bits, U32, 1576, [11:11] -looksLikeRunning = bits, U32, 1576, [12:12] -looksLikeCoasting = bits, U32, 1576, [13:13] -looksLikeCrankToIdle = bits, U32, 1576, [14:14] -isIdleCoasting = bits, U32, 1576, [15:15] -isIdleClosedLoop = bits, U32, 1576, [16:16] -idleTarget = scalar, S32, 1580, "", 1, 0 -targetRpmByClt = scalar, S32, 1584, "", 1, 0 -targetRpmAc = scalar, S32, 1588, "", 1, 0 -iacByRpmTaper = scalar, F32, 1592 -luaAdd = scalar, F32, 1596 -; total TS size = 1600 -targetWithIdlePosition0 = scalar, F32, 1600, "per", 1,0 -trim0 = scalar, F32, 1604, "", 1, 0 -luaAdjustment0 = scalar, F32, 1608, "per", 1,0 -m_wastegatePosition0 = scalar, F32, 1612, "per", 1,0 -etbFeedForward0 = scalar, F32, 1616 -etbIntegralError0 = scalar, F32, 1620, "", 1, 0 -etbCurrentTarget0 = scalar, F32, 1624, "%", 1, 0 -etbCurrentAdjustedTarget0 = scalar, F32, 1628, "%", 1, 0 -etbRevLimitActive0 = bits, U32, 1632, [0:0] -jamDetected0 = bits, U32, 1632, [1:1] -etbTpsErrorCounter0 = scalar, U16, 1636, "count", 1,0 -etbPpsErrorCounter0 = scalar, U16, 1638, "count", 1,0 -etbErrorCode0 = scalar, S08, 1640, "", 1, 0 -tcEtbDrop0 = scalar, S08, 1641, "%", 1, 0 -jamTimer0 = scalar, U16, 1642, "sec", 0.01, 0 -adjustedEtbTarget0 = scalar, S08, 1644, "%", 1, 0 -; total TS size = 1648 -targetWithIdlePosition1 = scalar, F32, 1648, "per", 1,0 -trim1 = scalar, F32, 1652, "", 1, 0 -luaAdjustment1 = scalar, F32, 1656, "per", 1,0 -m_wastegatePosition1 = scalar, F32, 1660, "per", 1,0 -etbFeedForward1 = scalar, F32, 1664 -etbIntegralError1 = scalar, F32, 1668, "", 1, 0 -etbCurrentTarget1 = scalar, F32, 1672, "%", 1, 0 -etbCurrentAdjustedTarget1 = scalar, F32, 1676, "%", 1, 0 -etbRevLimitActive1 = bits, U32, 1680, [0:0] -jamDetected1 = bits, U32, 1680, [1:1] -etbTpsErrorCounter1 = scalar, U16, 1684, "count", 1,0 -etbPpsErrorCounter1 = scalar, U16, 1686, "count", 1,0 -etbErrorCode1 = scalar, S08, 1688, "", 1, 0 -tcEtbDrop1 = scalar, S08, 1689, "%", 1, 0 -jamTimer1 = scalar, U16, 1690, "sec", 0.01, 0 -adjustedEtbTarget1 = scalar, S08, 1692, "%", 1, 0 -; total TS size = 1696 -faultCode0 = scalar, U08, 1696, "", 1, 0 -heaterDuty0 = scalar, U08, 1697, "%", 1, 0 -pumpDuty0 = scalar, U08, 1698, "%", 1, 0 -tempC0 = scalar, U16, 1700, "C", 1, 0 -nernstVoltage0 = scalar, U16, 1702, "V", 0.001, 0 -esr0 = scalar, U16, 1704, "ohm", 1, 0 -; total TS size = 1708 -faultCode1 = scalar, U08, 1708, "", 1, 0 -heaterDuty1 = scalar, U08, 1709, "%", 1, 0 -pumpDuty1 = scalar, U08, 1710, "%", 1, 0 -tempC1 = scalar, U16, 1712, "C", 1, 0 -nernstVoltage1 = scalar, U16, 1714, "V", 0.001, 0 -esr1 = scalar, U16, 1716, "ohm", 1, 0 -; total TS size = 1720 -dcOutput0 = scalar, F32, 1720, "per", 1,0 -isEnabled0_int = scalar, U08, 1724, "per", 1,0 -isEnabled0 = bits, U32, 1728, [0:0] -; total TS size = 1732 -value0 = scalar, U16, 1732, "value", 1,0 -value1 = scalar, U16, 1734, "value", 1,0 -errorRate = scalar, F32, 1736, "ratio", 1,0 -; total TS size = 1740 -vvtTarget = scalar, U16, 1740, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1742, "%", 0.5, 0 -; total TS size = 1744 -lambdaCurrentlyGood = bits, U32, 1744, [0:0] -lambdaMonitorCut = bits, U32, 1744, [1:1] -lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 -; total TS size = 1752 +retardThresholdRpm = scalar, S32, 1120, "", 1, 0 +launchActivatePinState = bits, U32, 1124, [0:0] +isPreLaunchCondition = bits, U32, 1124, [1:1] +isLaunchCondition = bits, U32, 1124, [2:2] +isSwitchActivated = bits, U32, 1124, [3:3] +isClutchActivated = bits, U32, 1124, [4:4] +isBrakePedalActivated = bits, U32, 1124, [5:5] +isValidInputPin = bits, U32, 1124, [6:6] +activateSwitchCondition = bits, U32, 1124, [7:7] +rpmLaunchCondition = bits, U32, 1124, [8:8] +rpmPreLaunchCondition = bits, U32, 1124, [9:9] +speedCondition = bits, U32, 1124, [10:10] +tpsCondition = bits, U32, 1124, [11:11] +; total TS size = 1128 +isTorqueReductionTriggerPinValid = bits, U32, 1128, [0:0] +torqueReductionTriggerPinState = bits, U32, 1128, [1:1] +isTimeConditionSatisfied = bits, U32, 1128, [2:2] +isRpmConditionSatisfied = bits, U32, 1128, [3:3] +isAppConditionSatisfied = bits, U32, 1128, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1128, [5:5] +; total TS size = 1132 +isAntilagCondition = bits, U32, 1132, [0:0] +ALSMinRPMCondition = bits, U32, 1132, [1:1] +ALSMaxRPMCondition = bits, U32, 1132, [2:2] +ALSMinCLTCondition = bits, U32, 1132, [3:3] +ALSMaxCLTCondition = bits, U32, 1132, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1132, [5:5] +isALSSwitchActivated = bits, U32, 1132, [6:6] +ALSActivatePinState = bits, U32, 1132, [7:7] +ALSSwitchCondition = bits, U32, 1132, [8:8] +ALSTimerCondition = bits, U32, 1132, [9:9] +fuelALSCorrection = scalar, F32, 1136, "", 1, 0 +timingALSCorrection = scalar, S16, 1140, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1142, "deg", 0.01, 0 +; total TS size = 1144 +isTpsInvalid = bits, U32, 1144, [0:0] +m_shouldResetPid = bits, U32, 1144, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1144, [2:2] +isNotClosedLoop = bits, U32, 1144, [3:3] +isZeroRpm = bits, U32, 1144, [4:4] +hasInitBoost = bits, U32, 1144, [5:5] +rpmTooLow = bits, U32, 1144, [6:6] +tpsTooLow = bits, U32, 1144, [7:7] +mapTooLow = bits, U32, 1144, [8:8] +isPlantValid = bits, U32, 1144, [9:9] +isBoostControlled = bits, U32, 1144, [10:10] +luaTargetAdd = scalar, S16, 1148, "v", 0.5,0 +boostOutput = scalar, S16, 1150, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1152, "v", 1,0 +openLoopPart = scalar, F32, 1156, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1160, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1164, "%", 0.5,0 +boostControlTarget = scalar, S16, 1166, "kPa", 0.03333333333333333,0 +; total TS size = 1168 +acButtonState = scalar, S08, 1168, "", 1, 0 +m_acEnabled = bits, U32, 1172, [0:0] +engineTooSlow = bits, U32, 1172, [1:1] +engineTooFast = bits, U32, 1172, [2:2] +noClt = bits, U32, 1172, [3:3] +engineTooHot = bits, U32, 1172, [4:4] +tpsTooHigh = bits, U32, 1172, [5:5] +isDisabledByLua = bits, U32, 1172, [6:6] +acCompressorState = bits, U32, 1172, [7:7] +acPressureTooLow = bits, U32, 1172, [8:8] +acPressureTooHigh = bits, U32, 1172, [9:9] +; total TS size = 1176 +cranking0 = bits, U32, 1176, [0:0] +notRunning0 = bits, U32, 1176, [1:1] +disabledWhileEngineStopped0 = bits, U32, 1176, [2:2] +brokenClt0 = bits, U32, 1176, [3:3] +enabledForAc0 = bits, U32, 1176, [4:4] +hot0 = bits, U32, 1176, [5:5] +cold0 = bits, U32, 1176, [6:6] +disabledBySpeed0 = bits, U32, 1176, [7:7] +radiatorFanStatus0 = scalar, U08, 1180, "", 1, 0 +; total TS size = 1184 +cranking1 = bits, U32, 1184, [0:0] +notRunning1 = bits, U32, 1184, [1:1] +disabledWhileEngineStopped1 = bits, U32, 1184, [2:2] +brokenClt1 = bits, U32, 1184, [3:3] +enabledForAc1 = bits, U32, 1184, [4:4] +hot1 = bits, U32, 1184, [5:5] +cold1 = bits, U32, 1184, [6:6] +disabledBySpeed1 = bits, U32, 1184, [7:7] +radiatorFanStatus1 = scalar, U08, 1188, "", 1, 0 +; total TS size = 1192 +isPrime = bits, U32, 1192, [0:0] +engineTurnedRecently = bits, U32, 1192, [1:1] +isFuelPumpOn = bits, U32, 1192, [2:2] +ignitionOn = bits, U32, 1192, [3:3] +; total TS size = 1196 +isBenchTest = bits, U32, 1196, [0:0] +hasIgnitionVoltage = bits, U32, 1196, [1:1] +mainRelayState = bits, U32, 1196, [2:2] +delayedShutoffRequested = bits, U32, 1196, [3:3] +; total TS size = 1200 +lua_fuelAdd = scalar, F32, 1200, "g", 1, 0 +lua_fuelMult = scalar, F32, 1204, "", 1, 0 +lua_clutchUpState = bits, U32, 1208, [0:0] +lua_brakePedalState = bits, U32, 1208, [1:1] +lua_acRequestState = bits, U32, 1208, [2:2] +lua_luaDisableEtb = bits, U32, 1208, [3:3] +lua_luaIgnCut = bits, U32, 1208, [4:4] +lua_luaFuelCut = bits, U32, 1208, [5:5] +lua_clutchDownState = bits, U32, 1208, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1208, [7:7] +sd_tCharge = scalar, S16, 1212, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1216, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1220, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1224, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1228, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1232, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1236, "", 1, 0 +hellenBoardId = scalar, S16, 1240, "id", 1, 0 +clutchUpState = scalar, S08, 1242, "", 1, 0 +clutchDownState = scalar, S08, 1243, "", 1, 0 +brakePedalState = scalar, S08, 1244, "", 1, 0 +startStopState = scalar, S08, 1245, "", 1, 0 +smartChipState = scalar, S08, 1246, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1247, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1248, "", 1, 0 +startStopPhysicalState = bits, U32, 1252, [0:0] +acrActive = bits, U32, 1252, [1:1] +acrEngineMovedRecently = bits, U32, 1252, [2:2] +heaterControlEnabled = bits, U32, 1252, [3:3] +luaDigitalState0 = bits, U32, 1252, [4:4] +luaDigitalState1 = bits, U32, 1252, [5:5] +luaDigitalState2 = bits, U32, 1252, [6:6] +luaDigitalState3 = bits, U32, 1252, [7:7] +startStopStateToggleCounter = scalar, U32, 1256, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1260, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1264, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1268, "", 1, 0 +desiredRpmLimit = scalar, S16, 1272, "rpm", 1, 0 +fuelInjectionCounter = scalar, U32, 1276, "", 1, 0 +globalSparkCounter = scalar, U32, 1280, "", 1, 0 +fuelingLoad = scalar, F32, 1284, "", 1, 0 +ignitionLoad = scalar, F32, 1288, "", 1, 0 +veTableYAxis = scalar, U16, 1292, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1294, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1295, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1296, "", 1, 0 +; total TS size = 1300 +tpsFrom = scalar, F32, 1300 +tpsTo = scalar, F32, 1304 +deltaTps = scalar, F32, 1308 +extraFuel = scalar, F32, 1312, "", 1, 0 +valueFromTable = scalar, F32, 1316, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1320, [0:0] +isBelowDecelThreshold = bits, U32, 1320, [1:1] +isTimeToResetAccumulator = bits, U32, 1320, [2:2] +isFractionalEnrichment = bits, U32, 1320, [3:3] +belowEpsilon = bits, U32, 1320, [4:4] +tooShort = bits, U32, 1320, [5:5] +fractionalInjFuel = scalar, F32, 1324, "", 1, 0 +accumulatedValue = scalar, F32, 1328, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1332, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1336, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1340, "", 1, 0 +cycleCnt = scalar, S32, 1344, "", 1, 0 +; total TS size = 1348 +hwEventCounters1 = scalar, U32, 1348, "", 1, 0 +hwEventCounters2 = scalar, U32, 1352, "", 1, 0 +hwEventCounters3 = scalar, U32, 1356, "", 1, 0 +hwEventCounters4 = scalar, U32, 1360, "", 1, 0 +hwEventCounters5 = scalar, U32, 1364, "", 1, 0 +hwEventCounters6 = scalar, U32, 1368, "", 1, 0 +vvtCamCounter = scalar, U32, 1372, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1376, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1380, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1384, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1385, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1388, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1392, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1396, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1400, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1404, [0:0] +triggerElapsedUs = scalar, U32, 1408, "", 1, 0 +; total TS size = 1412 +crankSynchronizationCounter0 = scalar, U32, 1412, "", 1, 0 +vvtSyncGapRatio0 = scalar, F32, 1416, "", 1, 0 +vvtToothDurations00 = scalar, U32, 1420, "us", 1, 0 +vvtCurrentPosition0 = scalar, F32, 1424, "sync: Primary Cam Position", 1, 0 +vvtToothPosition10 = scalar, F32, 1428, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition20 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition30 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition40 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio0 = scalar, F32, 1444, "", 1, 0 +triggerStateIndex0 = scalar, U08, 1448, "", 1, 0 +vvtStateIndex0 = scalar, U08, 1449, "", 1, 0 +; total TS size = 1452 +crankSynchronizationCounter1 = scalar, U32, 1452, "", 1, 0 +vvtSyncGapRatio1 = scalar, F32, 1456, "", 1, 0 +vvtToothDurations01 = scalar, U32, 1460, "us", 1, 0 +vvtCurrentPosition1 = scalar, F32, 1464, "sync: Primary Cam Position", 1, 0 +vvtToothPosition11 = scalar, F32, 1468, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition21 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition31 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition41 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio1 = scalar, F32, 1484, "", 1, 0 +triggerStateIndex1 = scalar, U08, 1488, "", 1, 0 +vvtStateIndex1 = scalar, U08, 1489, "", 1, 0 +; total TS size = 1492 +crankSynchronizationCounter2 = scalar, U32, 1492, "", 1, 0 +vvtSyncGapRatio2 = scalar, F32, 1496, "", 1, 0 +vvtToothDurations02 = scalar, U32, 1500, "us", 1, 0 +vvtCurrentPosition2 = scalar, F32, 1504, "sync: Primary Cam Position", 1, 0 +vvtToothPosition12 = scalar, F32, 1508, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition22 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition32 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition42 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio2 = scalar, F32, 1524, "", 1, 0 +triggerStateIndex2 = scalar, U08, 1528, "", 1, 0 +vvtStateIndex2 = scalar, U08, 1529, "", 1, 0 +; total TS size = 1532 +crankSynchronizationCounter3 = scalar, U32, 1532, "", 1, 0 +vvtSyncGapRatio3 = scalar, F32, 1536, "", 1, 0 +vvtToothDurations03 = scalar, U32, 1540, "us", 1, 0 +vvtCurrentPosition3 = scalar, F32, 1544, "sync: Primary Cam Position", 1, 0 +vvtToothPosition13 = scalar, F32, 1548, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition23 = scalar, F32, 1552, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition33 = scalar, F32, 1556, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition43 = scalar, F32, 1560, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio3 = scalar, F32, 1564, "", 1, 0 +triggerStateIndex3 = scalar, U08, 1568, "", 1, 0 +vvtStateIndex3 = scalar, U08, 1569, "", 1, 0 +; total TS size = 1572 +crankSynchronizationCounter4 = scalar, U32, 1572, "", 1, 0 +vvtSyncGapRatio4 = scalar, F32, 1576, "", 1, 0 +vvtToothDurations04 = scalar, U32, 1580, "us", 1, 0 +vvtCurrentPosition4 = scalar, F32, 1584, "sync: Primary Cam Position", 1, 0 +vvtToothPosition14 = scalar, F32, 1588, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition24 = scalar, F32, 1592, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition34 = scalar, F32, 1596, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition44 = scalar, F32, 1600, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio4 = scalar, F32, 1604, "", 1, 0 +triggerStateIndex4 = scalar, U08, 1608, "", 1, 0 +vvtStateIndex4 = scalar, U08, 1609, "", 1, 0 +; total TS size = 1612 +camResyncCounter = scalar, U08, 1612, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1616, [0:0] +; total TS size = 1620 +wallFuelCorrection = scalar, F32, 1620, "", 1, 0 +wallFuel = scalar, F32, 1624, "", 1, 0 +; total TS size = 1628 +idleState = bits, S32, 1628, [0:2], "not important" +currentIdlePosition = scalar, F32, 1632 +baseIdlePosition = scalar, F32, 1636 +idleClosedLoop = scalar, F32, 1640 +iacByTpsTaper = scalar, F32, 1644 +throttlePedalUpState = scalar, S32, 1648, "", 1, 0 +mightResetPid = bits, U32, 1652, [0:0] +shouldResetPid = bits, U32, 1652, [1:1] +wasResetPid = bits, U32, 1652, [2:2] +mustResetPid = bits, U32, 1652, [3:3] +isCranking = bits, U32, 1652, [4:4] +isIacTableForCoasting = bits, U32, 1652, [5:5] +notIdling = bits, U32, 1652, [6:6] +needReset = bits, U32, 1652, [7:7] +isInDeadZone = bits, U32, 1652, [8:8] +isBlipping = bits, U32, 1652, [9:9] +useClosedLoop = bits, U32, 1652, [10:10] +badTps = bits, U32, 1652, [11:11] +looksLikeRunning = bits, U32, 1652, [12:12] +looksLikeCoasting = bits, U32, 1652, [13:13] +looksLikeCrankToIdle = bits, U32, 1652, [14:14] +isIdleCoasting = bits, U32, 1652, [15:15] +isIdleClosedLoop = bits, U32, 1652, [16:16] +idleTarget = scalar, S32, 1656, "", 1, 0 +targetRpmByClt = scalar, S32, 1660, "", 1, 0 +targetRpmAc = scalar, S32, 1664, "", 1, 0 +iacByRpmTaper = scalar, F32, 1668 +luaAdd = scalar, F32, 1672 +; total TS size = 1676 +targetWithIdlePosition0 = scalar, F32, 1676, "per", 1,0 +trim0 = scalar, F32, 1680, "", 1, 0 +luaAdjustment0 = scalar, F32, 1684, "per", 1,0 +m_wastegatePosition0 = scalar, F32, 1688, "per", 1,0 +etbFeedForward0 = scalar, F32, 1692 +etbIntegralError0 = scalar, F32, 1696, "", 1, 0 +etbCurrentTarget0 = scalar, F32, 1700, "%", 1, 0 +etbCurrentAdjustedTarget0 = scalar, F32, 1704, "%", 1, 0 +etbRevLimitActive0 = bits, U32, 1708, [0:0] +jamDetected0 = bits, U32, 1708, [1:1] +etbTpsErrorCounter0 = scalar, U16, 1712, "count", 1,0 +etbPpsErrorCounter0 = scalar, U16, 1714, "count", 1,0 +etbErrorCode0 = scalar, S08, 1716, "", 1, 0 +tcEtbDrop0 = scalar, S08, 1717, "%", 1, 0 +jamTimer0 = scalar, U16, 1718, "sec", 0.01, 0 +adjustedEtbTarget0 = scalar, S08, 1720, "%", 1, 0 +; total TS size = 1724 +targetWithIdlePosition1 = scalar, F32, 1724, "per", 1,0 +trim1 = scalar, F32, 1728, "", 1, 0 +luaAdjustment1 = scalar, F32, 1732, "per", 1,0 +m_wastegatePosition1 = scalar, F32, 1736, "per", 1,0 +etbFeedForward1 = scalar, F32, 1740 +etbIntegralError1 = scalar, F32, 1744, "", 1, 0 +etbCurrentTarget1 = scalar, F32, 1748, "%", 1, 0 +etbCurrentAdjustedTarget1 = scalar, F32, 1752, "%", 1, 0 +etbRevLimitActive1 = bits, U32, 1756, [0:0] +jamDetected1 = bits, U32, 1756, [1:1] +etbTpsErrorCounter1 = scalar, U16, 1760, "count", 1,0 +etbPpsErrorCounter1 = scalar, U16, 1762, "count", 1,0 +etbErrorCode1 = scalar, S08, 1764, "", 1, 0 +tcEtbDrop1 = scalar, S08, 1765, "%", 1, 0 +jamTimer1 = scalar, U16, 1766, "sec", 0.01, 0 +adjustedEtbTarget1 = scalar, S08, 1768, "%", 1, 0 +; total TS size = 1772 +faultCode0 = scalar, U08, 1772, "", 1, 0 +heaterDuty0 = scalar, U08, 1773, "%", 1, 0 +pumpDuty0 = scalar, U08, 1774, "%", 1, 0 +tempC0 = scalar, U16, 1776, "C", 1, 0 +nernstVoltage0 = scalar, U16, 1778, "V", 0.001, 0 +esr0 = scalar, U16, 1780, "ohm", 1, 0 +; total TS size = 1784 +faultCode1 = scalar, U08, 1784, "", 1, 0 +heaterDuty1 = scalar, U08, 1785, "%", 1, 0 +pumpDuty1 = scalar, U08, 1786, "%", 1, 0 +tempC1 = scalar, U16, 1788, "C", 1, 0 +nernstVoltage1 = scalar, U16, 1790, "V", 0.001, 0 +esr1 = scalar, U16, 1792, "ohm", 1, 0 +; total TS size = 1796 +dcOutput0 = scalar, F32, 1796, "per", 1,0 +isEnabled0_int = scalar, U08, 1800, "per", 1,0 +isEnabled0 = bits, U32, 1804, [0:0] +; total TS size = 1808 +value0 = scalar, U16, 1808, "value", 1,0 +value1 = scalar, U16, 1810, "value", 1,0 +errorRate = scalar, F32, 1812, "ratio", 1,0 +; total TS size = 1816 +vvtTarget = scalar, U16, 1816, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1818, "%", 0.5, 0 +; total TS size = 1820 +lambdaCurrentlyGood = bits, U32, 1820, [0:0] +lambdaMonitorCut = bits, U32, 1820, [1:1] +lambdaTimeSinceGood = scalar, U16, 1824, "sec", 0.01, 0 +; total TS size = 1828 time = { timeNow } @@ -3621,6 +3653,7 @@ lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs8 requiresPowerCycle = cylinderBore + requiresPowerCycle = knockFrequency readOnly = warning_message readOnly = device_uid1 @@ -5032,6 +5065,26 @@ gaugeCategory = Knock knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knockSpectrumChannelCylGauge = m_knockSpectrumChannelCyl, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStartGauge = m_knockFrequencyStart, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStepGauge = m_knockFrequencyStep, "Knock Frequency Step", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFuelTrimMultiplier = m_knockFuelTrimMultiplier, "Knock Fuel Trim", "mult", 0, 0, 0, 0, 0, 30, 1, 1 + knockSpectrum1 = m_knockSpectrum1, "Knock Spectrum1", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum2 = m_knockSpectrum2, "knockSpectrum2", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum3 = m_knockSpectrum3, "knockSpectrum3", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum4 = m_knockSpectrum4, "knockSpectrum4", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum5 = m_knockSpectrum5, "knockSpectrum5", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum6 = m_knockSpectrum6, "knockSpectrum6", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum7 = m_knockSpectrum7, "knockSpectrum7", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum8 = m_knockSpectrum8, "knockSpectrum8", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum9 = m_knockSpectrum9, "knockSpectrum9", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum10 = m_knockSpectrum10, "knockSpectrum10", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum11 = m_knockSpectrum11, "knockSpectrum11", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum12 = m_knockSpectrum12, "knockSpectrum12", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum13 = m_knockSpectrum13, "knockSpectrum13", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum14 = m_knockSpectrum14, "knockSpectrum14", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum15 = m_knockSpectrum15, "knockSpectrum15", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum16 = m_knockSpectrum16, "knockSpectrum16", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -5630,6 +5683,26 @@ entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" entry = m_knockCount, "Knock: Count", int, "%d" entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_knockFrequency, "knock: frequency", int, "%d" +entry = m_knockSpectrum1, "Knock: SpectrumData 1", int, "%d" +entry = m_knockSpectrum2, "Knock: SpectrumData 2", int, "%d" +entry = m_knockSpectrum3, "Knock: SpectrumData 3", int, "%d" +entry = m_knockSpectrum4, "Knock: SpectrumData 4", int, "%d" +entry = m_knockSpectrum5, "Knock: SpectrumData 5", int, "%d" +entry = m_knockSpectrum6, "Knock: SpectrumData 6", int, "%d" +entry = m_knockSpectrum7, "Knock: SpectrumData 7", int, "%d" +entry = m_knockSpectrum8, "Knock: SpectrumData 8", int, "%d" +entry = m_knockSpectrum9, "Knock: SpectrumData 9", int, "%d" +entry = m_knockSpectrum10, "Knock: SpectrumData 10", int, "%d" +entry = m_knockSpectrum11, "Knock: SpectrumData 11", int, "%d" +entry = m_knockSpectrum12, "Knock: SpectrumData 12", int, "%d" +entry = m_knockSpectrum13, "Knock: SpectrumData 13", int, "%d" +entry = m_knockSpectrum14, "Knock: SpectrumData 14", int, "%d" +entry = m_knockSpectrum15, "Knock: SpectrumData 15", int, "%d" +entry = m_knockSpectrum16, "Knock: SpectrumData 16", int, "%d" +entry = m_knockSpectrumChannelCyl, "Knock: ChannelAndCylNumber", int, "%d" +entry = m_knockFrequencyStart, "Knock: Start Freq", int, "%d" +entry = m_knockFrequencyStep, "Knock: Step Freq", float, "%.3f" +entry = m_knockFuelTrimMultiplier, "Knock: Fuel trim when knock", float, "%.3f" entry = tcuCurrentGear, "TCU: Current Gear", int, "%d" entry = tcRatio, "TCU: Torque Converter Ratio", float, "%.3f" entry = lastShiftTime, "lastShiftTime", float, "%.3f" @@ -6515,6 +6588,31 @@ dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard graphLine = m_knockFrequency + graphLine = m_knockSpectrum1 + graphLine = m_knockSpectrum2 + liveGraph = knock_controller_6_Graph, "Graph", South + graphLine = m_knockSpectrum3 + graphLine = m_knockSpectrum4 + graphLine = m_knockSpectrum5 + graphLine = m_knockSpectrum6 + liveGraph = knock_controller_7_Graph, "Graph", South + graphLine = m_knockSpectrum7 + graphLine = m_knockSpectrum8 + graphLine = m_knockSpectrum9 + graphLine = m_knockSpectrum10 + liveGraph = knock_controller_8_Graph, "Graph", South + graphLine = m_knockSpectrum11 + graphLine = m_knockSpectrum12 + graphLine = m_knockSpectrum13 + graphLine = m_knockSpectrum14 + liveGraph = knock_controller_9_Graph, "Graph", South + graphLine = m_knockSpectrum15 + graphLine = m_knockSpectrum16 + graphLine = m_knockSpectrumChannelCyl + graphLine = m_knockFrequencyStart + liveGraph = knock_controller_10_Graph, "Graph", South + graphLine = m_knockFrequencyStep + graphLine = m_knockFuelTrimMultiplier indicatorPanel = tcu_controllerIndicatorPanel, 2 indicator = {isShifting}, "isShifting No", "isShifting Yes" @@ -8524,9 +8622,13 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockCfg, "Sense" field = "Enable", enableSoftwareKnock field = "Cylinder Bore", cylinderBore, {enableSoftwareKnock} + field = "Estimated Knock Frequency",knockFrequency, {enableSoftwareKnock} field = "Detection mode", knockDetectionUseDoubleFrequency field = "Detection Window Start",knockDetectionWindowStart, {enableSoftwareKnock} field = "Sampling Duration", knockSamplingDuration, {enableSoftwareKnock} + field = "Enable Knock Spectrogram", enableKnockSpectrogram, {enableSoftwareKnock} + field = "Enable Knock Spectrogram Filter", enableKnockSpectrogramFilter, {enableKnockSpectrogram} + field = "Knock Spectrum Sensitivity", knockSpectrumSensitivity, {enableKnockSpectrogram} field = "" field = "Select the nearest sensor for each cylinder" @@ -8540,6 +8642,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockResponseCfg, "Response" field = knockRetardAggression, knockRetardAggression field = knockRetardReapplyRate, knockRetardReapplyRate + field = knockFuelTrimAggression, knockFuelTrimAggression + field = knockFuelTrimReapplyRate, knockFuelTrimReapplyRate + field = knockFuelTrim, knockFuelTrim + field = knockSuppressMinTps, knockSuppressMinTps dialog = softwareKnockLeft, "" panel = softwareKnockCfg diff --git a/firmware/tunerstudio/generated/rusefi_alphax-4chan.ini b/firmware/tunerstudio/generated/rusefi_alphax-4chan.ini index 03ecc199bb..2be3115bc7 100644 --- a/firmware/tunerstudio/generated/rusefi_alphax-4chan.ini +++ b/firmware/tunerstudio/generated/rusefi_alphax-4chan.ini @@ -38,12 +38,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.10.21.alphax-4chan.669565915" + signature = "rusEFI master.2024.10.21.alphax-4chan.4223703332" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.10.21.alphax-4chan.669565915" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.10.21.alphax-4chan.4223703332" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -774,6 +774,7 @@ devBit7 = bits, U32, 1492, [27:27], "false", "true" unusedSkipWasHere = bits, U32, 1492, [28:28], "false", "true" invertExhaustCamVVTSignal = bits, U32, 1492, [29:29], "Rising", "Falling" enableKnockSpectrogram = bits, U32, 1492, [30:30], "false", "true" +enableKnockSpectrogramFilter = bits, U32, 1492, [31:31], "false", "true" afterCrankingIACtaperDuration = scalar, S16, 1496, "cycles", 1, 0, 0, 5000, 0 iacByTpsTaper = scalar, S16, 1498, "percent", 1, 0, 0, 500, 0 unusedAuxSeria = bits, U16, 1500, [0:8], $gpio_list @@ -1394,7 +1395,13 @@ auxLinear4_v1 = scalar, F32, 3880, "volts", 1, 0, 0, 10, 2 auxLinear4_value1 = scalar, F32, 3884, "", 1, 0, -100000, 1000000, 2 auxLinear4_v2 = scalar, F32, 3888, "volts", 1, 0, 0, 10, 2 auxLinear4_value2 = scalar, F32, 3892, "", 1, 0, -100000, 1000000, 2 -unusedOftenChangesDuringFirmwareUpdate = array, U08, 3896, [128], "units", 1, 0, 0, 1, 0 +knockSuppressMinTps = scalar, U08, 3896, "%", 1, 0, 0, 100, 1 +knockFuelTrimAggression = scalar, U08, 3897, "%", 0.1, 0, 0, 20, 1 +knockFuelTrimReapplyRate = scalar, U08, 3898, "deg/s", 0.1, 0, 0, 10, 1 +knockFuelTrim = scalar, U08, 3899, "%", 1, 0, 0, 30, 1 +knockSpectrumSensitivity = scalar, F32, 3900, "sense", 1, 0, 0, 1, 2 +knockFrequency = scalar, F32, 3904, "Hz", 1, 0, 0, 20000, 2 +unusedOftenChangesDuringFirmwareUpdate = array, U08, 3908, [116], "units", 1, 0, 0, 1, 0 postCrankingFactor = array, F32, 4024, [6x6], "mult", 1, 0, 1, 3, 2 postCrankingDurationBins = array, F32, 4168, [6], "count", 1, 0, 0, 1000, 0 postCrankingCLTBins = array, S16, 4192, [6], "C", 1, 0, -100, 250, 0 @@ -2458,6 +2465,11 @@ boardUseD3PullDown = bits, U32, 22968, [9:9], "With Pull Up", "With Pull Down" minAcPressure = "value of A/C pressure in kPa before that compressor is disengaged" maxAcPressure = "value of A/C pressure in kPa after that compressor is disengaged" minimumOilPressureTimeout = "Delay before cutting fuel due to low oil pressure. Use this to ignore short pressure blips and sensor noise." + knockSuppressMinTps = "Below TPS value all knock suppression will be disabled." + knockFuelTrimAggression = "Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump)," + knockFuelTrimReapplyRate = "After a knock event, reapply fuel at this rate." + knockFuelTrim = "Fuel trim when knock, max 30%" + knockFrequency = "Estimated knock frequency, ignore cylinderBore if this one > 0" etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, open loop component of PID closed loop control" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2570,7 +2582,7 @@ boardUseD3PullDown = bits, U32, 22968, [9:9], "With Pull Up", "With Pull Down" ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1752 + ochBlockSize = 1828 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3111,370 +3123,390 @@ m_knockThreshold = scalar, F32, 960, "", 1, 0 m_knockCount = scalar, U32, 964, "", 1, 0 m_maximumRetard = scalar, F32, 968, "", 1, 0 m_knockFrequency = scalar, U32, 972, "Hz", 1, 0 -; total TS size = 976 -tcuCurrentGear = scalar, S08, 976, "gear", 1, 0 -tcRatio = scalar, U16, 978, "value", 0.01, 0 -lastShiftTime = scalar, F32, 980, "", 1, 0 -tcu_currentRange = scalar, U08, 984, "", 1, 0 -pressureControlDuty = scalar, S08, 985, "%", 1,0 -torqueConverterDuty = scalar, S08, 986, "%", 1,0 -isShifting = bits, U32, 988, [0:0] -; total TS size = 992 -throttleUseWotModel = bits, U32, 992, [0:0] -throttleModelCrossoverAngle = scalar, S16, 996, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1000, "g/s", 1, 0 -; total TS size = 1004 -m_requested_pump = scalar, F32, 1004, "", 1, 0 -fuel_requested_percent = scalar, F32, 1008, "", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1012, "", 1, 0 -noValve = bits, U32, 1016, [0:0] -angleAboveMin = bits, U32, 1016, [1:1] -isHpfpInactive = bits, U32, 1016, [2:2] -m_pressureTarget_kPa = scalar, F32, 1020, "", 1, 0 -nextLobe = scalar, F32, 1024, "", 1, 0 -di_nextStart = scalar, F32, 1028, "v", 1, 0 -; total TS size = 1032 -m_deadtime = scalar, F32, 1032, "ms", 1, 0 -pressureDelta = scalar, F32, 1036, "kPa", 1, 0 -pressureRatio = scalar, F32, 1040, "", 1, 0 -; total TS size = 1044 -retardThresholdRpm = scalar, S32, 1044, "", 1, 0 -launchActivatePinState = bits, U32, 1048, [0:0] -isPreLaunchCondition = bits, U32, 1048, [1:1] -isLaunchCondition = bits, U32, 1048, [2:2] -isSwitchActivated = bits, U32, 1048, [3:3] -isClutchActivated = bits, U32, 1048, [4:4] -isBrakePedalActivated = bits, U32, 1048, [5:5] -isValidInputPin = bits, U32, 1048, [6:6] -activateSwitchCondition = bits, U32, 1048, [7:7] -rpmLaunchCondition = bits, U32, 1048, [8:8] -rpmPreLaunchCondition = bits, U32, 1048, [9:9] -speedCondition = bits, U32, 1048, [10:10] -tpsCondition = bits, U32, 1048, [11:11] +m_knockSpectrum1 = scalar, U32, 976, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 980, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 984, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 988, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1040, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1042, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1044, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1048, "multiplier", 1, 0 ; total TS size = 1052 -isTorqueReductionTriggerPinValid = bits, U32, 1052, [0:0] -torqueReductionTriggerPinState = bits, U32, 1052, [1:1] -isTimeConditionSatisfied = bits, U32, 1052, [2:2] -isRpmConditionSatisfied = bits, U32, 1052, [3:3] -isAppConditionSatisfied = bits, U32, 1052, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1052, [5:5] -; total TS size = 1056 -isAntilagCondition = bits, U32, 1056, [0:0] -ALSMinRPMCondition = bits, U32, 1056, [1:1] -ALSMaxRPMCondition = bits, U32, 1056, [2:2] -ALSMinCLTCondition = bits, U32, 1056, [3:3] -ALSMaxCLTCondition = bits, U32, 1056, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1056, [5:5] -isALSSwitchActivated = bits, U32, 1056, [6:6] -ALSActivatePinState = bits, U32, 1056, [7:7] -ALSSwitchCondition = bits, U32, 1056, [8:8] -ALSTimerCondition = bits, U32, 1056, [9:9] -fuelALSCorrection = scalar, F32, 1060, "", 1, 0 -timingALSCorrection = scalar, S16, 1064, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1066, "deg", 0.01, 0 +tcuCurrentGear = scalar, S08, 1052, "gear", 1, 0 +tcRatio = scalar, U16, 1054, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1056, "", 1, 0 +tcu_currentRange = scalar, U08, 1060, "", 1, 0 +pressureControlDuty = scalar, S08, 1061, "%", 1,0 +torqueConverterDuty = scalar, S08, 1062, "%", 1,0 +isShifting = bits, U32, 1064, [0:0] ; total TS size = 1068 -isTpsInvalid = bits, U32, 1068, [0:0] -m_shouldResetPid = bits, U32, 1068, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1068, [2:2] -isNotClosedLoop = bits, U32, 1068, [3:3] -isZeroRpm = bits, U32, 1068, [4:4] -hasInitBoost = bits, U32, 1068, [5:5] -rpmTooLow = bits, U32, 1068, [6:6] -tpsTooLow = bits, U32, 1068, [7:7] -mapTooLow = bits, U32, 1068, [8:8] -isPlantValid = bits, U32, 1068, [9:9] -isBoostControlled = bits, U32, 1068, [10:10] -luaTargetAdd = scalar, S16, 1072, "v", 0.5,0 -boostOutput = scalar, S16, 1074, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1076, "v", 1,0 -openLoopPart = scalar, F32, 1080, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1084, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1088, "%", 0.5,0 -boostControlTarget = scalar, S16, 1090, "kPa", 0.03333333333333333,0 -; total TS size = 1092 -acButtonState = scalar, S08, 1092, "", 1, 0 -m_acEnabled = bits, U32, 1096, [0:0] -engineTooSlow = bits, U32, 1096, [1:1] -engineTooFast = bits, U32, 1096, [2:2] -noClt = bits, U32, 1096, [3:3] -engineTooHot = bits, U32, 1096, [4:4] -tpsTooHigh = bits, U32, 1096, [5:5] -isDisabledByLua = bits, U32, 1096, [6:6] -acCompressorState = bits, U32, 1096, [7:7] -acPressureTooLow = bits, U32, 1096, [8:8] -acPressureTooHigh = bits, U32, 1096, [9:9] -; total TS size = 1100 -cranking0 = bits, U32, 1100, [0:0] -notRunning0 = bits, U32, 1100, [1:1] -disabledWhileEngineStopped0 = bits, U32, 1100, [2:2] -brokenClt0 = bits, U32, 1100, [3:3] -enabledForAc0 = bits, U32, 1100, [4:4] -hot0 = bits, U32, 1100, [5:5] -cold0 = bits, U32, 1100, [6:6] -disabledBySpeed0 = bits, U32, 1100, [7:7] -radiatorFanStatus0 = scalar, U08, 1104, "", 1, 0 +throttleUseWotModel = bits, U32, 1068, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1072, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1076, "g/s", 1, 0 +; total TS size = 1080 +m_requested_pump = scalar, F32, 1080, "", 1, 0 +fuel_requested_percent = scalar, F32, 1084, "", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1088, "", 1, 0 +noValve = bits, U32, 1092, [0:0] +angleAboveMin = bits, U32, 1092, [1:1] +isHpfpInactive = bits, U32, 1092, [2:2] +m_pressureTarget_kPa = scalar, F32, 1096, "", 1, 0 +nextLobe = scalar, F32, 1100, "", 1, 0 +di_nextStart = scalar, F32, 1104, "v", 1, 0 ; total TS size = 1108 -cranking1 = bits, U32, 1108, [0:0] -notRunning1 = bits, U32, 1108, [1:1] -disabledWhileEngineStopped1 = bits, U32, 1108, [2:2] -brokenClt1 = bits, U32, 1108, [3:3] -enabledForAc1 = bits, U32, 1108, [4:4] -hot1 = bits, U32, 1108, [5:5] -cold1 = bits, U32, 1108, [6:6] -disabledBySpeed1 = bits, U32, 1108, [7:7] -radiatorFanStatus1 = scalar, U08, 1112, "", 1, 0 -; total TS size = 1116 -isPrime = bits, U32, 1116, [0:0] -engineTurnedRecently = bits, U32, 1116, [1:1] -isFuelPumpOn = bits, U32, 1116, [2:2] -ignitionOn = bits, U32, 1116, [3:3] +m_deadtime = scalar, F32, 1108, "ms", 1, 0 +pressureDelta = scalar, F32, 1112, "kPa", 1, 0 +pressureRatio = scalar, F32, 1116, "", 1, 0 ; total TS size = 1120 -isBenchTest = bits, U32, 1120, [0:0] -hasIgnitionVoltage = bits, U32, 1120, [1:1] -mainRelayState = bits, U32, 1120, [2:2] -delayedShutoffRequested = bits, U32, 1120, [3:3] -; total TS size = 1124 -lua_fuelAdd = scalar, F32, 1124, "g", 1, 0 -lua_fuelMult = scalar, F32, 1128, "", 1, 0 -lua_clutchUpState = bits, U32, 1132, [0:0] -lua_brakePedalState = bits, U32, 1132, [1:1] -lua_acRequestState = bits, U32, 1132, [2:2] -lua_luaDisableEtb = bits, U32, 1132, [3:3] -lua_luaIgnCut = bits, U32, 1132, [4:4] -lua_luaFuelCut = bits, U32, 1132, [5:5] -lua_clutchDownState = bits, U32, 1132, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1132, [7:7] -sd_tCharge = scalar, S16, 1136, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1140, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1144, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1148, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1152, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1156, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1160, "", 1, 0 -hellenBoardId = scalar, S16, 1164, "id", 1, 0 -clutchUpState = scalar, S08, 1166, "", 1, 0 -clutchDownState = scalar, S08, 1167, "", 1, 0 -brakePedalState = scalar, S08, 1168, "", 1, 0 -startStopState = scalar, S08, 1169, "", 1, 0 -smartChipState = scalar, S08, 1170, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1171, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1172, "", 1, 0 -startStopPhysicalState = bits, U32, 1176, [0:0] -acrActive = bits, U32, 1176, [1:1] -acrEngineMovedRecently = bits, U32, 1176, [2:2] -heaterControlEnabled = bits, U32, 1176, [3:3] -luaDigitalState0 = bits, U32, 1176, [4:4] -luaDigitalState1 = bits, U32, 1176, [5:5] -luaDigitalState2 = bits, U32, 1176, [6:6] -luaDigitalState3 = bits, U32, 1176, [7:7] -startStopStateToggleCounter = scalar, U32, 1180, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1184, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1188, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1192, "", 1, 0 -desiredRpmLimit = scalar, S16, 1196, "rpm", 1, 0 -fuelInjectionCounter = scalar, U32, 1200, "", 1, 0 -globalSparkCounter = scalar, U32, 1204, "", 1, 0 -fuelingLoad = scalar, F32, 1208, "", 1, 0 -ignitionLoad = scalar, F32, 1212, "", 1, 0 -veTableYAxis = scalar, U16, 1216, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1218, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1219, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1220, "", 1, 0 -; total TS size = 1224 -tpsFrom = scalar, F32, 1224 -tpsTo = scalar, F32, 1228 -deltaTps = scalar, F32, 1232 -extraFuel = scalar, F32, 1236, "", 1, 0 -valueFromTable = scalar, F32, 1240, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1244, [0:0] -isBelowDecelThreshold = bits, U32, 1244, [1:1] -isTimeToResetAccumulator = bits, U32, 1244, [2:2] -isFractionalEnrichment = bits, U32, 1244, [3:3] -belowEpsilon = bits, U32, 1244, [4:4] -tooShort = bits, U32, 1244, [5:5] -fractionalInjFuel = scalar, F32, 1248, "", 1, 0 -accumulatedValue = scalar, F32, 1252, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1256, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1260, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1264, "", 1, 0 -cycleCnt = scalar, S32, 1268, "", 1, 0 -; total TS size = 1272 -hwEventCounters1 = scalar, U32, 1272, "", 1, 0 -hwEventCounters2 = scalar, U32, 1276, "", 1, 0 -hwEventCounters3 = scalar, U32, 1280, "", 1, 0 -hwEventCounters4 = scalar, U32, 1284, "", 1, 0 -hwEventCounters5 = scalar, U32, 1288, "", 1, 0 -hwEventCounters6 = scalar, U32, 1292, "", 1, 0 -vvtCamCounter = scalar, U32, 1296, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1300, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1304, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1308, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1309, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1312, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1316, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1320, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1324, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1328, [0:0] -triggerElapsedUs = scalar, U32, 1332, "", 1, 0 -; total TS size = 1336 -crankSynchronizationCounter0 = scalar, U32, 1336, "", 1, 0 -vvtSyncGapRatio0 = scalar, F32, 1340, "", 1, 0 -vvtToothDurations00 = scalar, U32, 1344, "us", 1, 0 -vvtCurrentPosition0 = scalar, F32, 1348, "sync: Primary Cam Position", 1, 0 -vvtToothPosition10 = scalar, F32, 1352, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition20 = scalar, F32, 1356, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition30 = scalar, F32, 1360, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition40 = scalar, F32, 1364, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio0 = scalar, F32, 1368, "", 1, 0 -triggerStateIndex0 = scalar, U08, 1372, "", 1, 0 -vvtStateIndex0 = scalar, U08, 1373, "", 1, 0 -; total TS size = 1376 -crankSynchronizationCounter1 = scalar, U32, 1376, "", 1, 0 -vvtSyncGapRatio1 = scalar, F32, 1380, "", 1, 0 -vvtToothDurations01 = scalar, U32, 1384, "us", 1, 0 -vvtCurrentPosition1 = scalar, F32, 1388, "sync: Primary Cam Position", 1, 0 -vvtToothPosition11 = scalar, F32, 1392, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition21 = scalar, F32, 1396, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition31 = scalar, F32, 1400, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition41 = scalar, F32, 1404, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio1 = scalar, F32, 1408, "", 1, 0 -triggerStateIndex1 = scalar, U08, 1412, "", 1, 0 -vvtStateIndex1 = scalar, U08, 1413, "", 1, 0 -; total TS size = 1416 -crankSynchronizationCounter2 = scalar, U32, 1416, "", 1, 0 -vvtSyncGapRatio2 = scalar, F32, 1420, "", 1, 0 -vvtToothDurations02 = scalar, U32, 1424, "us", 1, 0 -vvtCurrentPosition2 = scalar, F32, 1428, "sync: Primary Cam Position", 1, 0 -vvtToothPosition12 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition22 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition32 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition42 = scalar, F32, 1444, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio2 = scalar, F32, 1448, "", 1, 0 -triggerStateIndex2 = scalar, U08, 1452, "", 1, 0 -vvtStateIndex2 = scalar, U08, 1453, "", 1, 0 -; total TS size = 1456 -crankSynchronizationCounter3 = scalar, U32, 1456, "", 1, 0 -vvtSyncGapRatio3 = scalar, F32, 1460, "", 1, 0 -vvtToothDurations03 = scalar, U32, 1464, "us", 1, 0 -vvtCurrentPosition3 = scalar, F32, 1468, "sync: Primary Cam Position", 1, 0 -vvtToothPosition13 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition23 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition33 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition43 = scalar, F32, 1484, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio3 = scalar, F32, 1488, "", 1, 0 -triggerStateIndex3 = scalar, U08, 1492, "", 1, 0 -vvtStateIndex3 = scalar, U08, 1493, "", 1, 0 -; total TS size = 1496 -crankSynchronizationCounter4 = scalar, U32, 1496, "", 1, 0 -vvtSyncGapRatio4 = scalar, F32, 1500, "", 1, 0 -vvtToothDurations04 = scalar, U32, 1504, "us", 1, 0 -vvtCurrentPosition4 = scalar, F32, 1508, "sync: Primary Cam Position", 1, 0 -vvtToothPosition14 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition24 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition34 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition44 = scalar, F32, 1524, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio4 = scalar, F32, 1528, "", 1, 0 -triggerStateIndex4 = scalar, U08, 1532, "", 1, 0 -vvtStateIndex4 = scalar, U08, 1533, "", 1, 0 -; total TS size = 1536 -camResyncCounter = scalar, U08, 1536, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1540, [0:0] -; total TS size = 1544 -wallFuelCorrection = scalar, F32, 1544, "", 1, 0 -wallFuel = scalar, F32, 1548, "", 1, 0 -; total TS size = 1552 -idleState = bits, S32, 1552, [0:2], "not important" -currentIdlePosition = scalar, F32, 1556 -baseIdlePosition = scalar, F32, 1560 -idleClosedLoop = scalar, F32, 1564 -iacByTpsTaper = scalar, F32, 1568 -throttlePedalUpState = scalar, S32, 1572, "", 1, 0 -mightResetPid = bits, U32, 1576, [0:0] -shouldResetPid = bits, U32, 1576, [1:1] -wasResetPid = bits, U32, 1576, [2:2] -mustResetPid = bits, U32, 1576, [3:3] -isCranking = bits, U32, 1576, [4:4] -isIacTableForCoasting = bits, U32, 1576, [5:5] -notIdling = bits, U32, 1576, [6:6] -needReset = bits, U32, 1576, [7:7] -isInDeadZone = bits, U32, 1576, [8:8] -isBlipping = bits, U32, 1576, [9:9] -useClosedLoop = bits, U32, 1576, [10:10] -badTps = bits, U32, 1576, [11:11] -looksLikeRunning = bits, U32, 1576, [12:12] -looksLikeCoasting = bits, U32, 1576, [13:13] -looksLikeCrankToIdle = bits, U32, 1576, [14:14] -isIdleCoasting = bits, U32, 1576, [15:15] -isIdleClosedLoop = bits, U32, 1576, [16:16] -idleTarget = scalar, S32, 1580, "", 1, 0 -targetRpmByClt = scalar, S32, 1584, "", 1, 0 -targetRpmAc = scalar, S32, 1588, "", 1, 0 -iacByRpmTaper = scalar, F32, 1592 -luaAdd = scalar, F32, 1596 -; total TS size = 1600 -targetWithIdlePosition0 = scalar, F32, 1600, "per", 1,0 -trim0 = scalar, F32, 1604, "", 1, 0 -luaAdjustment0 = scalar, F32, 1608, "per", 1,0 -m_wastegatePosition0 = scalar, F32, 1612, "per", 1,0 -etbFeedForward0 = scalar, F32, 1616 -etbIntegralError0 = scalar, F32, 1620, "", 1, 0 -etbCurrentTarget0 = scalar, F32, 1624, "%", 1, 0 -etbCurrentAdjustedTarget0 = scalar, F32, 1628, "%", 1, 0 -etbRevLimitActive0 = bits, U32, 1632, [0:0] -jamDetected0 = bits, U32, 1632, [1:1] -etbTpsErrorCounter0 = scalar, U16, 1636, "count", 1,0 -etbPpsErrorCounter0 = scalar, U16, 1638, "count", 1,0 -etbErrorCode0 = scalar, S08, 1640, "", 1, 0 -tcEtbDrop0 = scalar, S08, 1641, "%", 1, 0 -jamTimer0 = scalar, U16, 1642, "sec", 0.01, 0 -adjustedEtbTarget0 = scalar, S08, 1644, "%", 1, 0 -; total TS size = 1648 -targetWithIdlePosition1 = scalar, F32, 1648, "per", 1,0 -trim1 = scalar, F32, 1652, "", 1, 0 -luaAdjustment1 = scalar, F32, 1656, "per", 1,0 -m_wastegatePosition1 = scalar, F32, 1660, "per", 1,0 -etbFeedForward1 = scalar, F32, 1664 -etbIntegralError1 = scalar, F32, 1668, "", 1, 0 -etbCurrentTarget1 = scalar, F32, 1672, "%", 1, 0 -etbCurrentAdjustedTarget1 = scalar, F32, 1676, "%", 1, 0 -etbRevLimitActive1 = bits, U32, 1680, [0:0] -jamDetected1 = bits, U32, 1680, [1:1] -etbTpsErrorCounter1 = scalar, U16, 1684, "count", 1,0 -etbPpsErrorCounter1 = scalar, U16, 1686, "count", 1,0 -etbErrorCode1 = scalar, S08, 1688, "", 1, 0 -tcEtbDrop1 = scalar, S08, 1689, "%", 1, 0 -jamTimer1 = scalar, U16, 1690, "sec", 0.01, 0 -adjustedEtbTarget1 = scalar, S08, 1692, "%", 1, 0 -; total TS size = 1696 -faultCode0 = scalar, U08, 1696, "", 1, 0 -heaterDuty0 = scalar, U08, 1697, "%", 1, 0 -pumpDuty0 = scalar, U08, 1698, "%", 1, 0 -tempC0 = scalar, U16, 1700, "C", 1, 0 -nernstVoltage0 = scalar, U16, 1702, "V", 0.001, 0 -esr0 = scalar, U16, 1704, "ohm", 1, 0 -; total TS size = 1708 -faultCode1 = scalar, U08, 1708, "", 1, 0 -heaterDuty1 = scalar, U08, 1709, "%", 1, 0 -pumpDuty1 = scalar, U08, 1710, "%", 1, 0 -tempC1 = scalar, U16, 1712, "C", 1, 0 -nernstVoltage1 = scalar, U16, 1714, "V", 0.001, 0 -esr1 = scalar, U16, 1716, "ohm", 1, 0 -; total TS size = 1720 -dcOutput0 = scalar, F32, 1720, "per", 1,0 -isEnabled0_int = scalar, U08, 1724, "per", 1,0 -isEnabled0 = bits, U32, 1728, [0:0] -; total TS size = 1732 -value0 = scalar, U16, 1732, "value", 1,0 -value1 = scalar, U16, 1734, "value", 1,0 -errorRate = scalar, F32, 1736, "ratio", 1,0 -; total TS size = 1740 -vvtTarget = scalar, U16, 1740, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1742, "%", 0.5, 0 -; total TS size = 1744 -lambdaCurrentlyGood = bits, U32, 1744, [0:0] -lambdaMonitorCut = bits, U32, 1744, [1:1] -lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 -; total TS size = 1752 +retardThresholdRpm = scalar, S32, 1120, "", 1, 0 +launchActivatePinState = bits, U32, 1124, [0:0] +isPreLaunchCondition = bits, U32, 1124, [1:1] +isLaunchCondition = bits, U32, 1124, [2:2] +isSwitchActivated = bits, U32, 1124, [3:3] +isClutchActivated = bits, U32, 1124, [4:4] +isBrakePedalActivated = bits, U32, 1124, [5:5] +isValidInputPin = bits, U32, 1124, [6:6] +activateSwitchCondition = bits, U32, 1124, [7:7] +rpmLaunchCondition = bits, U32, 1124, [8:8] +rpmPreLaunchCondition = bits, U32, 1124, [9:9] +speedCondition = bits, U32, 1124, [10:10] +tpsCondition = bits, U32, 1124, [11:11] +; total TS size = 1128 +isTorqueReductionTriggerPinValid = bits, U32, 1128, [0:0] +torqueReductionTriggerPinState = bits, U32, 1128, [1:1] +isTimeConditionSatisfied = bits, U32, 1128, [2:2] +isRpmConditionSatisfied = bits, U32, 1128, [3:3] +isAppConditionSatisfied = bits, U32, 1128, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1128, [5:5] +; total TS size = 1132 +isAntilagCondition = bits, U32, 1132, [0:0] +ALSMinRPMCondition = bits, U32, 1132, [1:1] +ALSMaxRPMCondition = bits, U32, 1132, [2:2] +ALSMinCLTCondition = bits, U32, 1132, [3:3] +ALSMaxCLTCondition = bits, U32, 1132, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1132, [5:5] +isALSSwitchActivated = bits, U32, 1132, [6:6] +ALSActivatePinState = bits, U32, 1132, [7:7] +ALSSwitchCondition = bits, U32, 1132, [8:8] +ALSTimerCondition = bits, U32, 1132, [9:9] +fuelALSCorrection = scalar, F32, 1136, "", 1, 0 +timingALSCorrection = scalar, S16, 1140, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1142, "deg", 0.01, 0 +; total TS size = 1144 +isTpsInvalid = bits, U32, 1144, [0:0] +m_shouldResetPid = bits, U32, 1144, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1144, [2:2] +isNotClosedLoop = bits, U32, 1144, [3:3] +isZeroRpm = bits, U32, 1144, [4:4] +hasInitBoost = bits, U32, 1144, [5:5] +rpmTooLow = bits, U32, 1144, [6:6] +tpsTooLow = bits, U32, 1144, [7:7] +mapTooLow = bits, U32, 1144, [8:8] +isPlantValid = bits, U32, 1144, [9:9] +isBoostControlled = bits, U32, 1144, [10:10] +luaTargetAdd = scalar, S16, 1148, "v", 0.5,0 +boostOutput = scalar, S16, 1150, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1152, "v", 1,0 +openLoopPart = scalar, F32, 1156, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1160, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1164, "%", 0.5,0 +boostControlTarget = scalar, S16, 1166, "kPa", 0.03333333333333333,0 +; total TS size = 1168 +acButtonState = scalar, S08, 1168, "", 1, 0 +m_acEnabled = bits, U32, 1172, [0:0] +engineTooSlow = bits, U32, 1172, [1:1] +engineTooFast = bits, U32, 1172, [2:2] +noClt = bits, U32, 1172, [3:3] +engineTooHot = bits, U32, 1172, [4:4] +tpsTooHigh = bits, U32, 1172, [5:5] +isDisabledByLua = bits, U32, 1172, [6:6] +acCompressorState = bits, U32, 1172, [7:7] +acPressureTooLow = bits, U32, 1172, [8:8] +acPressureTooHigh = bits, U32, 1172, [9:9] +; total TS size = 1176 +cranking0 = bits, U32, 1176, [0:0] +notRunning0 = bits, U32, 1176, [1:1] +disabledWhileEngineStopped0 = bits, U32, 1176, [2:2] +brokenClt0 = bits, U32, 1176, [3:3] +enabledForAc0 = bits, U32, 1176, [4:4] +hot0 = bits, U32, 1176, [5:5] +cold0 = bits, U32, 1176, [6:6] +disabledBySpeed0 = bits, U32, 1176, [7:7] +radiatorFanStatus0 = scalar, U08, 1180, "", 1, 0 +; total TS size = 1184 +cranking1 = bits, U32, 1184, [0:0] +notRunning1 = bits, U32, 1184, [1:1] +disabledWhileEngineStopped1 = bits, U32, 1184, [2:2] +brokenClt1 = bits, U32, 1184, [3:3] +enabledForAc1 = bits, U32, 1184, [4:4] +hot1 = bits, U32, 1184, [5:5] +cold1 = bits, U32, 1184, [6:6] +disabledBySpeed1 = bits, U32, 1184, [7:7] +radiatorFanStatus1 = scalar, U08, 1188, "", 1, 0 +; total TS size = 1192 +isPrime = bits, U32, 1192, [0:0] +engineTurnedRecently = bits, U32, 1192, [1:1] +isFuelPumpOn = bits, U32, 1192, [2:2] +ignitionOn = bits, U32, 1192, [3:3] +; total TS size = 1196 +isBenchTest = bits, U32, 1196, [0:0] +hasIgnitionVoltage = bits, U32, 1196, [1:1] +mainRelayState = bits, U32, 1196, [2:2] +delayedShutoffRequested = bits, U32, 1196, [3:3] +; total TS size = 1200 +lua_fuelAdd = scalar, F32, 1200, "g", 1, 0 +lua_fuelMult = scalar, F32, 1204, "", 1, 0 +lua_clutchUpState = bits, U32, 1208, [0:0] +lua_brakePedalState = bits, U32, 1208, [1:1] +lua_acRequestState = bits, U32, 1208, [2:2] +lua_luaDisableEtb = bits, U32, 1208, [3:3] +lua_luaIgnCut = bits, U32, 1208, [4:4] +lua_luaFuelCut = bits, U32, 1208, [5:5] +lua_clutchDownState = bits, U32, 1208, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1208, [7:7] +sd_tCharge = scalar, S16, 1212, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1216, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1220, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1224, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1228, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1232, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1236, "", 1, 0 +hellenBoardId = scalar, S16, 1240, "id", 1, 0 +clutchUpState = scalar, S08, 1242, "", 1, 0 +clutchDownState = scalar, S08, 1243, "", 1, 0 +brakePedalState = scalar, S08, 1244, "", 1, 0 +startStopState = scalar, S08, 1245, "", 1, 0 +smartChipState = scalar, S08, 1246, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1247, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1248, "", 1, 0 +startStopPhysicalState = bits, U32, 1252, [0:0] +acrActive = bits, U32, 1252, [1:1] +acrEngineMovedRecently = bits, U32, 1252, [2:2] +heaterControlEnabled = bits, U32, 1252, [3:3] +luaDigitalState0 = bits, U32, 1252, [4:4] +luaDigitalState1 = bits, U32, 1252, [5:5] +luaDigitalState2 = bits, U32, 1252, [6:6] +luaDigitalState3 = bits, U32, 1252, [7:7] +startStopStateToggleCounter = scalar, U32, 1256, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1260, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1264, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1268, "", 1, 0 +desiredRpmLimit = scalar, S16, 1272, "rpm", 1, 0 +fuelInjectionCounter = scalar, U32, 1276, "", 1, 0 +globalSparkCounter = scalar, U32, 1280, "", 1, 0 +fuelingLoad = scalar, F32, 1284, "", 1, 0 +ignitionLoad = scalar, F32, 1288, "", 1, 0 +veTableYAxis = scalar, U16, 1292, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1294, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1295, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1296, "", 1, 0 +; total TS size = 1300 +tpsFrom = scalar, F32, 1300 +tpsTo = scalar, F32, 1304 +deltaTps = scalar, F32, 1308 +extraFuel = scalar, F32, 1312, "", 1, 0 +valueFromTable = scalar, F32, 1316, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1320, [0:0] +isBelowDecelThreshold = bits, U32, 1320, [1:1] +isTimeToResetAccumulator = bits, U32, 1320, [2:2] +isFractionalEnrichment = bits, U32, 1320, [3:3] +belowEpsilon = bits, U32, 1320, [4:4] +tooShort = bits, U32, 1320, [5:5] +fractionalInjFuel = scalar, F32, 1324, "", 1, 0 +accumulatedValue = scalar, F32, 1328, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1332, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1336, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1340, "", 1, 0 +cycleCnt = scalar, S32, 1344, "", 1, 0 +; total TS size = 1348 +hwEventCounters1 = scalar, U32, 1348, "", 1, 0 +hwEventCounters2 = scalar, U32, 1352, "", 1, 0 +hwEventCounters3 = scalar, U32, 1356, "", 1, 0 +hwEventCounters4 = scalar, U32, 1360, "", 1, 0 +hwEventCounters5 = scalar, U32, 1364, "", 1, 0 +hwEventCounters6 = scalar, U32, 1368, "", 1, 0 +vvtCamCounter = scalar, U32, 1372, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1376, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1380, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1384, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1385, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1388, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1392, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1396, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1400, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1404, [0:0] +triggerElapsedUs = scalar, U32, 1408, "", 1, 0 +; total TS size = 1412 +crankSynchronizationCounter0 = scalar, U32, 1412, "", 1, 0 +vvtSyncGapRatio0 = scalar, F32, 1416, "", 1, 0 +vvtToothDurations00 = scalar, U32, 1420, "us", 1, 0 +vvtCurrentPosition0 = scalar, F32, 1424, "sync: Primary Cam Position", 1, 0 +vvtToothPosition10 = scalar, F32, 1428, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition20 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition30 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition40 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio0 = scalar, F32, 1444, "", 1, 0 +triggerStateIndex0 = scalar, U08, 1448, "", 1, 0 +vvtStateIndex0 = scalar, U08, 1449, "", 1, 0 +; total TS size = 1452 +crankSynchronizationCounter1 = scalar, U32, 1452, "", 1, 0 +vvtSyncGapRatio1 = scalar, F32, 1456, "", 1, 0 +vvtToothDurations01 = scalar, U32, 1460, "us", 1, 0 +vvtCurrentPosition1 = scalar, F32, 1464, "sync: Primary Cam Position", 1, 0 +vvtToothPosition11 = scalar, F32, 1468, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition21 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition31 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition41 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio1 = scalar, F32, 1484, "", 1, 0 +triggerStateIndex1 = scalar, U08, 1488, "", 1, 0 +vvtStateIndex1 = scalar, U08, 1489, "", 1, 0 +; total TS size = 1492 +crankSynchronizationCounter2 = scalar, U32, 1492, "", 1, 0 +vvtSyncGapRatio2 = scalar, F32, 1496, "", 1, 0 +vvtToothDurations02 = scalar, U32, 1500, "us", 1, 0 +vvtCurrentPosition2 = scalar, F32, 1504, "sync: Primary Cam Position", 1, 0 +vvtToothPosition12 = scalar, F32, 1508, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition22 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition32 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition42 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio2 = scalar, F32, 1524, "", 1, 0 +triggerStateIndex2 = scalar, U08, 1528, "", 1, 0 +vvtStateIndex2 = scalar, U08, 1529, "", 1, 0 +; total TS size = 1532 +crankSynchronizationCounter3 = scalar, U32, 1532, "", 1, 0 +vvtSyncGapRatio3 = scalar, F32, 1536, "", 1, 0 +vvtToothDurations03 = scalar, U32, 1540, "us", 1, 0 +vvtCurrentPosition3 = scalar, F32, 1544, "sync: Primary Cam Position", 1, 0 +vvtToothPosition13 = scalar, F32, 1548, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition23 = scalar, F32, 1552, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition33 = scalar, F32, 1556, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition43 = scalar, F32, 1560, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio3 = scalar, F32, 1564, "", 1, 0 +triggerStateIndex3 = scalar, U08, 1568, "", 1, 0 +vvtStateIndex3 = scalar, U08, 1569, "", 1, 0 +; total TS size = 1572 +crankSynchronizationCounter4 = scalar, U32, 1572, "", 1, 0 +vvtSyncGapRatio4 = scalar, F32, 1576, "", 1, 0 +vvtToothDurations04 = scalar, U32, 1580, "us", 1, 0 +vvtCurrentPosition4 = scalar, F32, 1584, "sync: Primary Cam Position", 1, 0 +vvtToothPosition14 = scalar, F32, 1588, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition24 = scalar, F32, 1592, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition34 = scalar, F32, 1596, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition44 = scalar, F32, 1600, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio4 = scalar, F32, 1604, "", 1, 0 +triggerStateIndex4 = scalar, U08, 1608, "", 1, 0 +vvtStateIndex4 = scalar, U08, 1609, "", 1, 0 +; total TS size = 1612 +camResyncCounter = scalar, U08, 1612, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1616, [0:0] +; total TS size = 1620 +wallFuelCorrection = scalar, F32, 1620, "", 1, 0 +wallFuel = scalar, F32, 1624, "", 1, 0 +; total TS size = 1628 +idleState = bits, S32, 1628, [0:2], "not important" +currentIdlePosition = scalar, F32, 1632 +baseIdlePosition = scalar, F32, 1636 +idleClosedLoop = scalar, F32, 1640 +iacByTpsTaper = scalar, F32, 1644 +throttlePedalUpState = scalar, S32, 1648, "", 1, 0 +mightResetPid = bits, U32, 1652, [0:0] +shouldResetPid = bits, U32, 1652, [1:1] +wasResetPid = bits, U32, 1652, [2:2] +mustResetPid = bits, U32, 1652, [3:3] +isCranking = bits, U32, 1652, [4:4] +isIacTableForCoasting = bits, U32, 1652, [5:5] +notIdling = bits, U32, 1652, [6:6] +needReset = bits, U32, 1652, [7:7] +isInDeadZone = bits, U32, 1652, [8:8] +isBlipping = bits, U32, 1652, [9:9] +useClosedLoop = bits, U32, 1652, [10:10] +badTps = bits, U32, 1652, [11:11] +looksLikeRunning = bits, U32, 1652, [12:12] +looksLikeCoasting = bits, U32, 1652, [13:13] +looksLikeCrankToIdle = bits, U32, 1652, [14:14] +isIdleCoasting = bits, U32, 1652, [15:15] +isIdleClosedLoop = bits, U32, 1652, [16:16] +idleTarget = scalar, S32, 1656, "", 1, 0 +targetRpmByClt = scalar, S32, 1660, "", 1, 0 +targetRpmAc = scalar, S32, 1664, "", 1, 0 +iacByRpmTaper = scalar, F32, 1668 +luaAdd = scalar, F32, 1672 +; total TS size = 1676 +targetWithIdlePosition0 = scalar, F32, 1676, "per", 1,0 +trim0 = scalar, F32, 1680, "", 1, 0 +luaAdjustment0 = scalar, F32, 1684, "per", 1,0 +m_wastegatePosition0 = scalar, F32, 1688, "per", 1,0 +etbFeedForward0 = scalar, F32, 1692 +etbIntegralError0 = scalar, F32, 1696, "", 1, 0 +etbCurrentTarget0 = scalar, F32, 1700, "%", 1, 0 +etbCurrentAdjustedTarget0 = scalar, F32, 1704, "%", 1, 0 +etbRevLimitActive0 = bits, U32, 1708, [0:0] +jamDetected0 = bits, U32, 1708, [1:1] +etbTpsErrorCounter0 = scalar, U16, 1712, "count", 1,0 +etbPpsErrorCounter0 = scalar, U16, 1714, "count", 1,0 +etbErrorCode0 = scalar, S08, 1716, "", 1, 0 +tcEtbDrop0 = scalar, S08, 1717, "%", 1, 0 +jamTimer0 = scalar, U16, 1718, "sec", 0.01, 0 +adjustedEtbTarget0 = scalar, S08, 1720, "%", 1, 0 +; total TS size = 1724 +targetWithIdlePosition1 = scalar, F32, 1724, "per", 1,0 +trim1 = scalar, F32, 1728, "", 1, 0 +luaAdjustment1 = scalar, F32, 1732, "per", 1,0 +m_wastegatePosition1 = scalar, F32, 1736, "per", 1,0 +etbFeedForward1 = scalar, F32, 1740 +etbIntegralError1 = scalar, F32, 1744, "", 1, 0 +etbCurrentTarget1 = scalar, F32, 1748, "%", 1, 0 +etbCurrentAdjustedTarget1 = scalar, F32, 1752, "%", 1, 0 +etbRevLimitActive1 = bits, U32, 1756, [0:0] +jamDetected1 = bits, U32, 1756, [1:1] +etbTpsErrorCounter1 = scalar, U16, 1760, "count", 1,0 +etbPpsErrorCounter1 = scalar, U16, 1762, "count", 1,0 +etbErrorCode1 = scalar, S08, 1764, "", 1, 0 +tcEtbDrop1 = scalar, S08, 1765, "%", 1, 0 +jamTimer1 = scalar, U16, 1766, "sec", 0.01, 0 +adjustedEtbTarget1 = scalar, S08, 1768, "%", 1, 0 +; total TS size = 1772 +faultCode0 = scalar, U08, 1772, "", 1, 0 +heaterDuty0 = scalar, U08, 1773, "%", 1, 0 +pumpDuty0 = scalar, U08, 1774, "%", 1, 0 +tempC0 = scalar, U16, 1776, "C", 1, 0 +nernstVoltage0 = scalar, U16, 1778, "V", 0.001, 0 +esr0 = scalar, U16, 1780, "ohm", 1, 0 +; total TS size = 1784 +faultCode1 = scalar, U08, 1784, "", 1, 0 +heaterDuty1 = scalar, U08, 1785, "%", 1, 0 +pumpDuty1 = scalar, U08, 1786, "%", 1, 0 +tempC1 = scalar, U16, 1788, "C", 1, 0 +nernstVoltage1 = scalar, U16, 1790, "V", 0.001, 0 +esr1 = scalar, U16, 1792, "ohm", 1, 0 +; total TS size = 1796 +dcOutput0 = scalar, F32, 1796, "per", 1,0 +isEnabled0_int = scalar, U08, 1800, "per", 1,0 +isEnabled0 = bits, U32, 1804, [0:0] +; total TS size = 1808 +value0 = scalar, U16, 1808, "value", 1,0 +value1 = scalar, U16, 1810, "value", 1,0 +errorRate = scalar, F32, 1812, "ratio", 1,0 +; total TS size = 1816 +vvtTarget = scalar, U16, 1816, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1818, "%", 0.5, 0 +; total TS size = 1820 +lambdaCurrentlyGood = bits, U32, 1820, [0:0] +lambdaMonitorCut = bits, U32, 1820, [1:1] +lambdaTimeSinceGood = scalar, U16, 1824, "sec", 0.01, 0 +; total TS size = 1828 time = { timeNow } @@ -3626,6 +3658,7 @@ lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs8 requiresPowerCycle = cylinderBore + requiresPowerCycle = knockFrequency readOnly = warning_message readOnly = device_uid1 @@ -5043,6 +5076,26 @@ gaugeCategory = Knock knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knockSpectrumChannelCylGauge = m_knockSpectrumChannelCyl, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStartGauge = m_knockFrequencyStart, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStepGauge = m_knockFrequencyStep, "Knock Frequency Step", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFuelTrimMultiplier = m_knockFuelTrimMultiplier, "Knock Fuel Trim", "mult", 0, 0, 0, 0, 0, 30, 1, 1 + knockSpectrum1 = m_knockSpectrum1, "Knock Spectrum1", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum2 = m_knockSpectrum2, "knockSpectrum2", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum3 = m_knockSpectrum3, "knockSpectrum3", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum4 = m_knockSpectrum4, "knockSpectrum4", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum5 = m_knockSpectrum5, "knockSpectrum5", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum6 = m_knockSpectrum6, "knockSpectrum6", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum7 = m_knockSpectrum7, "knockSpectrum7", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum8 = m_knockSpectrum8, "knockSpectrum8", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum9 = m_knockSpectrum9, "knockSpectrum9", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum10 = m_knockSpectrum10, "knockSpectrum10", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum11 = m_knockSpectrum11, "knockSpectrum11", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum12 = m_knockSpectrum12, "knockSpectrum12", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum13 = m_knockSpectrum13, "knockSpectrum13", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum14 = m_knockSpectrum14, "knockSpectrum14", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum15 = m_knockSpectrum15, "knockSpectrum15", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum16 = m_knockSpectrum16, "knockSpectrum16", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -5642,6 +5695,26 @@ entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" entry = m_knockCount, "Knock: Count", int, "%d" entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_knockFrequency, "knock: frequency", int, "%d" +entry = m_knockSpectrum1, "Knock: SpectrumData 1", int, "%d" +entry = m_knockSpectrum2, "Knock: SpectrumData 2", int, "%d" +entry = m_knockSpectrum3, "Knock: SpectrumData 3", int, "%d" +entry = m_knockSpectrum4, "Knock: SpectrumData 4", int, "%d" +entry = m_knockSpectrum5, "Knock: SpectrumData 5", int, "%d" +entry = m_knockSpectrum6, "Knock: SpectrumData 6", int, "%d" +entry = m_knockSpectrum7, "Knock: SpectrumData 7", int, "%d" +entry = m_knockSpectrum8, "Knock: SpectrumData 8", int, "%d" +entry = m_knockSpectrum9, "Knock: SpectrumData 9", int, "%d" +entry = m_knockSpectrum10, "Knock: SpectrumData 10", int, "%d" +entry = m_knockSpectrum11, "Knock: SpectrumData 11", int, "%d" +entry = m_knockSpectrum12, "Knock: SpectrumData 12", int, "%d" +entry = m_knockSpectrum13, "Knock: SpectrumData 13", int, "%d" +entry = m_knockSpectrum14, "Knock: SpectrumData 14", int, "%d" +entry = m_knockSpectrum15, "Knock: SpectrumData 15", int, "%d" +entry = m_knockSpectrum16, "Knock: SpectrumData 16", int, "%d" +entry = m_knockSpectrumChannelCyl, "Knock: ChannelAndCylNumber", int, "%d" +entry = m_knockFrequencyStart, "Knock: Start Freq", int, "%d" +entry = m_knockFrequencyStep, "Knock: Step Freq", float, "%.3f" +entry = m_knockFuelTrimMultiplier, "Knock: Fuel trim when knock", float, "%.3f" entry = tcuCurrentGear, "TCU: Current Gear", int, "%d" entry = tcRatio, "TCU: Torque Converter Ratio", float, "%.3f" entry = lastShiftTime, "lastShiftTime", float, "%.3f" @@ -6556,6 +6629,31 @@ dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard graphLine = m_knockFrequency + graphLine = m_knockSpectrum1 + graphLine = m_knockSpectrum2 + liveGraph = knock_controller_6_Graph, "Graph", South + graphLine = m_knockSpectrum3 + graphLine = m_knockSpectrum4 + graphLine = m_knockSpectrum5 + graphLine = m_knockSpectrum6 + liveGraph = knock_controller_7_Graph, "Graph", South + graphLine = m_knockSpectrum7 + graphLine = m_knockSpectrum8 + graphLine = m_knockSpectrum9 + graphLine = m_knockSpectrum10 + liveGraph = knock_controller_8_Graph, "Graph", South + graphLine = m_knockSpectrum11 + graphLine = m_knockSpectrum12 + graphLine = m_knockSpectrum13 + graphLine = m_knockSpectrum14 + liveGraph = knock_controller_9_Graph, "Graph", South + graphLine = m_knockSpectrum15 + graphLine = m_knockSpectrum16 + graphLine = m_knockSpectrumChannelCyl + graphLine = m_knockFrequencyStart + liveGraph = knock_controller_10_Graph, "Graph", South + graphLine = m_knockFrequencyStep + graphLine = m_knockFuelTrimMultiplier indicatorPanel = tcu_controllerIndicatorPanel, 2 indicator = {isShifting}, "isShifting No", "isShifting Yes" @@ -8590,9 +8688,13 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockCfg, "Sense" field = "Enable", enableSoftwareKnock field = "Cylinder Bore", cylinderBore, {enableSoftwareKnock} + field = "Estimated Knock Frequency",knockFrequency, {enableSoftwareKnock} field = "Detection mode", knockDetectionUseDoubleFrequency field = "Detection Window Start",knockDetectionWindowStart, {enableSoftwareKnock} field = "Sampling Duration", knockSamplingDuration, {enableSoftwareKnock} + field = "Enable Knock Spectrogram", enableKnockSpectrogram, {enableSoftwareKnock} + field = "Enable Knock Spectrogram Filter", enableKnockSpectrogramFilter, {enableKnockSpectrogram} + field = "Knock Spectrum Sensitivity", knockSpectrumSensitivity, {enableKnockSpectrogram} field = "" field = "Select the nearest sensor for each cylinder" @@ -8612,6 +8714,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockResponseCfg, "Response" field = knockRetardAggression, knockRetardAggression field = knockRetardReapplyRate, knockRetardReapplyRate + field = knockFuelTrimAggression, knockFuelTrimAggression + field = knockFuelTrimReapplyRate, knockFuelTrimReapplyRate + field = knockFuelTrim, knockFuelTrim + field = knockSuppressMinTps, knockSuppressMinTps dialog = softwareKnockLeft, "" panel = softwareKnockCfg diff --git a/firmware/tunerstudio/generated/rusefi_alphax-4chan_f7.ini b/firmware/tunerstudio/generated/rusefi_alphax-4chan_f7.ini index ba3fc850fd..849fa0973c 100644 --- a/firmware/tunerstudio/generated/rusefi_alphax-4chan_f7.ini +++ b/firmware/tunerstudio/generated/rusefi_alphax-4chan_f7.ini @@ -38,12 +38,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.10.21.alphax-4chan_f7.669565915" + signature = "rusEFI master.2024.10.21.alphax-4chan_f7.4223703332" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.10.21.alphax-4chan_f7.669565915" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.10.21.alphax-4chan_f7.4223703332" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -774,6 +774,7 @@ devBit7 = bits, U32, 1492, [27:27], "false", "true" unusedSkipWasHere = bits, U32, 1492, [28:28], "false", "true" invertExhaustCamVVTSignal = bits, U32, 1492, [29:29], "Rising", "Falling" enableKnockSpectrogram = bits, U32, 1492, [30:30], "false", "true" +enableKnockSpectrogramFilter = bits, U32, 1492, [31:31], "false", "true" afterCrankingIACtaperDuration = scalar, S16, 1496, "cycles", 1, 0, 0, 5000, 0 iacByTpsTaper = scalar, S16, 1498, "percent", 1, 0, 0, 500, 0 unusedAuxSeria = bits, U16, 1500, [0:8], $gpio_list @@ -1394,7 +1395,13 @@ auxLinear4_v1 = scalar, F32, 3880, "volts", 1, 0, 0, 10, 2 auxLinear4_value1 = scalar, F32, 3884, "", 1, 0, -100000, 1000000, 2 auxLinear4_v2 = scalar, F32, 3888, "volts", 1, 0, 0, 10, 2 auxLinear4_value2 = scalar, F32, 3892, "", 1, 0, -100000, 1000000, 2 -unusedOftenChangesDuringFirmwareUpdate = array, U08, 3896, [128], "units", 1, 0, 0, 1, 0 +knockSuppressMinTps = scalar, U08, 3896, "%", 1, 0, 0, 100, 1 +knockFuelTrimAggression = scalar, U08, 3897, "%", 0.1, 0, 0, 20, 1 +knockFuelTrimReapplyRate = scalar, U08, 3898, "deg/s", 0.1, 0, 0, 10, 1 +knockFuelTrim = scalar, U08, 3899, "%", 1, 0, 0, 30, 1 +knockSpectrumSensitivity = scalar, F32, 3900, "sense", 1, 0, 0, 1, 2 +knockFrequency = scalar, F32, 3904, "Hz", 1, 0, 0, 20000, 2 +unusedOftenChangesDuringFirmwareUpdate = array, U08, 3908, [116], "units", 1, 0, 0, 1, 0 postCrankingFactor = array, F32, 4024, [6x6], "mult", 1, 0, 1, 3, 2 postCrankingDurationBins = array, F32, 4168, [6], "count", 1, 0, 0, 1000, 0 postCrankingCLTBins = array, S16, 4192, [6], "C", 1, 0, -100, 250, 0 @@ -2458,6 +2465,11 @@ boardUseD3PullDown = bits, U32, 22968, [9:9], "With Pull Up", "With Pull Down" minAcPressure = "value of A/C pressure in kPa before that compressor is disengaged" maxAcPressure = "value of A/C pressure in kPa after that compressor is disengaged" minimumOilPressureTimeout = "Delay before cutting fuel due to low oil pressure. Use this to ignore short pressure blips and sensor noise." + knockSuppressMinTps = "Below TPS value all knock suppression will be disabled." + knockFuelTrimAggression = "Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump)," + knockFuelTrimReapplyRate = "After a knock event, reapply fuel at this rate." + knockFuelTrim = "Fuel trim when knock, max 30%" + knockFrequency = "Estimated knock frequency, ignore cylinderBore if this one > 0" etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, open loop component of PID closed loop control" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2570,7 +2582,7 @@ boardUseD3PullDown = bits, U32, 22968, [9:9], "With Pull Up", "With Pull Down" ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1752 + ochBlockSize = 1828 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3111,370 +3123,390 @@ m_knockThreshold = scalar, F32, 960, "", 1, 0 m_knockCount = scalar, U32, 964, "", 1, 0 m_maximumRetard = scalar, F32, 968, "", 1, 0 m_knockFrequency = scalar, U32, 972, "Hz", 1, 0 -; total TS size = 976 -tcuCurrentGear = scalar, S08, 976, "gear", 1, 0 -tcRatio = scalar, U16, 978, "value", 0.01, 0 -lastShiftTime = scalar, F32, 980, "", 1, 0 -tcu_currentRange = scalar, U08, 984, "", 1, 0 -pressureControlDuty = scalar, S08, 985, "%", 1,0 -torqueConverterDuty = scalar, S08, 986, "%", 1,0 -isShifting = bits, U32, 988, [0:0] -; total TS size = 992 -throttleUseWotModel = bits, U32, 992, [0:0] -throttleModelCrossoverAngle = scalar, S16, 996, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1000, "g/s", 1, 0 -; total TS size = 1004 -m_requested_pump = scalar, F32, 1004, "", 1, 0 -fuel_requested_percent = scalar, F32, 1008, "", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1012, "", 1, 0 -noValve = bits, U32, 1016, [0:0] -angleAboveMin = bits, U32, 1016, [1:1] -isHpfpInactive = bits, U32, 1016, [2:2] -m_pressureTarget_kPa = scalar, F32, 1020, "", 1, 0 -nextLobe = scalar, F32, 1024, "", 1, 0 -di_nextStart = scalar, F32, 1028, "v", 1, 0 -; total TS size = 1032 -m_deadtime = scalar, F32, 1032, "ms", 1, 0 -pressureDelta = scalar, F32, 1036, "kPa", 1, 0 -pressureRatio = scalar, F32, 1040, "", 1, 0 -; total TS size = 1044 -retardThresholdRpm = scalar, S32, 1044, "", 1, 0 -launchActivatePinState = bits, U32, 1048, [0:0] -isPreLaunchCondition = bits, U32, 1048, [1:1] -isLaunchCondition = bits, U32, 1048, [2:2] -isSwitchActivated = bits, U32, 1048, [3:3] -isClutchActivated = bits, U32, 1048, [4:4] -isBrakePedalActivated = bits, U32, 1048, [5:5] -isValidInputPin = bits, U32, 1048, [6:6] -activateSwitchCondition = bits, U32, 1048, [7:7] -rpmLaunchCondition = bits, U32, 1048, [8:8] -rpmPreLaunchCondition = bits, U32, 1048, [9:9] -speedCondition = bits, U32, 1048, [10:10] -tpsCondition = bits, U32, 1048, [11:11] +m_knockSpectrum1 = scalar, U32, 976, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 980, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 984, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 988, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1040, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1042, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1044, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1048, "multiplier", 1, 0 ; total TS size = 1052 -isTorqueReductionTriggerPinValid = bits, U32, 1052, [0:0] -torqueReductionTriggerPinState = bits, U32, 1052, [1:1] -isTimeConditionSatisfied = bits, U32, 1052, [2:2] -isRpmConditionSatisfied = bits, U32, 1052, [3:3] -isAppConditionSatisfied = bits, U32, 1052, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1052, [5:5] -; total TS size = 1056 -isAntilagCondition = bits, U32, 1056, [0:0] -ALSMinRPMCondition = bits, U32, 1056, [1:1] -ALSMaxRPMCondition = bits, U32, 1056, [2:2] -ALSMinCLTCondition = bits, U32, 1056, [3:3] -ALSMaxCLTCondition = bits, U32, 1056, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1056, [5:5] -isALSSwitchActivated = bits, U32, 1056, [6:6] -ALSActivatePinState = bits, U32, 1056, [7:7] -ALSSwitchCondition = bits, U32, 1056, [8:8] -ALSTimerCondition = bits, U32, 1056, [9:9] -fuelALSCorrection = scalar, F32, 1060, "", 1, 0 -timingALSCorrection = scalar, S16, 1064, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1066, "deg", 0.01, 0 +tcuCurrentGear = scalar, S08, 1052, "gear", 1, 0 +tcRatio = scalar, U16, 1054, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1056, "", 1, 0 +tcu_currentRange = scalar, U08, 1060, "", 1, 0 +pressureControlDuty = scalar, S08, 1061, "%", 1,0 +torqueConverterDuty = scalar, S08, 1062, "%", 1,0 +isShifting = bits, U32, 1064, [0:0] ; total TS size = 1068 -isTpsInvalid = bits, U32, 1068, [0:0] -m_shouldResetPid = bits, U32, 1068, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1068, [2:2] -isNotClosedLoop = bits, U32, 1068, [3:3] -isZeroRpm = bits, U32, 1068, [4:4] -hasInitBoost = bits, U32, 1068, [5:5] -rpmTooLow = bits, U32, 1068, [6:6] -tpsTooLow = bits, U32, 1068, [7:7] -mapTooLow = bits, U32, 1068, [8:8] -isPlantValid = bits, U32, 1068, [9:9] -isBoostControlled = bits, U32, 1068, [10:10] -luaTargetAdd = scalar, S16, 1072, "v", 0.5,0 -boostOutput = scalar, S16, 1074, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1076, "v", 1,0 -openLoopPart = scalar, F32, 1080, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1084, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1088, "%", 0.5,0 -boostControlTarget = scalar, S16, 1090, "kPa", 0.03333333333333333,0 -; total TS size = 1092 -acButtonState = scalar, S08, 1092, "", 1, 0 -m_acEnabled = bits, U32, 1096, [0:0] -engineTooSlow = bits, U32, 1096, [1:1] -engineTooFast = bits, U32, 1096, [2:2] -noClt = bits, U32, 1096, [3:3] -engineTooHot = bits, U32, 1096, [4:4] -tpsTooHigh = bits, U32, 1096, [5:5] -isDisabledByLua = bits, U32, 1096, [6:6] -acCompressorState = bits, U32, 1096, [7:7] -acPressureTooLow = bits, U32, 1096, [8:8] -acPressureTooHigh = bits, U32, 1096, [9:9] -; total TS size = 1100 -cranking0 = bits, U32, 1100, [0:0] -notRunning0 = bits, U32, 1100, [1:1] -disabledWhileEngineStopped0 = bits, U32, 1100, [2:2] -brokenClt0 = bits, U32, 1100, [3:3] -enabledForAc0 = bits, U32, 1100, [4:4] -hot0 = bits, U32, 1100, [5:5] -cold0 = bits, U32, 1100, [6:6] -disabledBySpeed0 = bits, U32, 1100, [7:7] -radiatorFanStatus0 = scalar, U08, 1104, "", 1, 0 +throttleUseWotModel = bits, U32, 1068, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1072, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1076, "g/s", 1, 0 +; total TS size = 1080 +m_requested_pump = scalar, F32, 1080, "", 1, 0 +fuel_requested_percent = scalar, F32, 1084, "", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1088, "", 1, 0 +noValve = bits, U32, 1092, [0:0] +angleAboveMin = bits, U32, 1092, [1:1] +isHpfpInactive = bits, U32, 1092, [2:2] +m_pressureTarget_kPa = scalar, F32, 1096, "", 1, 0 +nextLobe = scalar, F32, 1100, "", 1, 0 +di_nextStart = scalar, F32, 1104, "v", 1, 0 ; total TS size = 1108 -cranking1 = bits, U32, 1108, [0:0] -notRunning1 = bits, U32, 1108, [1:1] -disabledWhileEngineStopped1 = bits, U32, 1108, [2:2] -brokenClt1 = bits, U32, 1108, [3:3] -enabledForAc1 = bits, U32, 1108, [4:4] -hot1 = bits, U32, 1108, [5:5] -cold1 = bits, U32, 1108, [6:6] -disabledBySpeed1 = bits, U32, 1108, [7:7] -radiatorFanStatus1 = scalar, U08, 1112, "", 1, 0 -; total TS size = 1116 -isPrime = bits, U32, 1116, [0:0] -engineTurnedRecently = bits, U32, 1116, [1:1] -isFuelPumpOn = bits, U32, 1116, [2:2] -ignitionOn = bits, U32, 1116, [3:3] +m_deadtime = scalar, F32, 1108, "ms", 1, 0 +pressureDelta = scalar, F32, 1112, "kPa", 1, 0 +pressureRatio = scalar, F32, 1116, "", 1, 0 ; total TS size = 1120 -isBenchTest = bits, U32, 1120, [0:0] -hasIgnitionVoltage = bits, U32, 1120, [1:1] -mainRelayState = bits, U32, 1120, [2:2] -delayedShutoffRequested = bits, U32, 1120, [3:3] -; total TS size = 1124 -lua_fuelAdd = scalar, F32, 1124, "g", 1, 0 -lua_fuelMult = scalar, F32, 1128, "", 1, 0 -lua_clutchUpState = bits, U32, 1132, [0:0] -lua_brakePedalState = bits, U32, 1132, [1:1] -lua_acRequestState = bits, U32, 1132, [2:2] -lua_luaDisableEtb = bits, U32, 1132, [3:3] -lua_luaIgnCut = bits, U32, 1132, [4:4] -lua_luaFuelCut = bits, U32, 1132, [5:5] -lua_clutchDownState = bits, U32, 1132, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1132, [7:7] -sd_tCharge = scalar, S16, 1136, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1140, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1144, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1148, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1152, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1156, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1160, "", 1, 0 -hellenBoardId = scalar, S16, 1164, "id", 1, 0 -clutchUpState = scalar, S08, 1166, "", 1, 0 -clutchDownState = scalar, S08, 1167, "", 1, 0 -brakePedalState = scalar, S08, 1168, "", 1, 0 -startStopState = scalar, S08, 1169, "", 1, 0 -smartChipState = scalar, S08, 1170, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1171, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1172, "", 1, 0 -startStopPhysicalState = bits, U32, 1176, [0:0] -acrActive = bits, U32, 1176, [1:1] -acrEngineMovedRecently = bits, U32, 1176, [2:2] -heaterControlEnabled = bits, U32, 1176, [3:3] -luaDigitalState0 = bits, U32, 1176, [4:4] -luaDigitalState1 = bits, U32, 1176, [5:5] -luaDigitalState2 = bits, U32, 1176, [6:6] -luaDigitalState3 = bits, U32, 1176, [7:7] -startStopStateToggleCounter = scalar, U32, 1180, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1184, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1188, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1192, "", 1, 0 -desiredRpmLimit = scalar, S16, 1196, "rpm", 1, 0 -fuelInjectionCounter = scalar, U32, 1200, "", 1, 0 -globalSparkCounter = scalar, U32, 1204, "", 1, 0 -fuelingLoad = scalar, F32, 1208, "", 1, 0 -ignitionLoad = scalar, F32, 1212, "", 1, 0 -veTableYAxis = scalar, U16, 1216, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1218, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1219, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1220, "", 1, 0 -; total TS size = 1224 -tpsFrom = scalar, F32, 1224 -tpsTo = scalar, F32, 1228 -deltaTps = scalar, F32, 1232 -extraFuel = scalar, F32, 1236, "", 1, 0 -valueFromTable = scalar, F32, 1240, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1244, [0:0] -isBelowDecelThreshold = bits, U32, 1244, [1:1] -isTimeToResetAccumulator = bits, U32, 1244, [2:2] -isFractionalEnrichment = bits, U32, 1244, [3:3] -belowEpsilon = bits, U32, 1244, [4:4] -tooShort = bits, U32, 1244, [5:5] -fractionalInjFuel = scalar, F32, 1248, "", 1, 0 -accumulatedValue = scalar, F32, 1252, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1256, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1260, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1264, "", 1, 0 -cycleCnt = scalar, S32, 1268, "", 1, 0 -; total TS size = 1272 -hwEventCounters1 = scalar, U32, 1272, "", 1, 0 -hwEventCounters2 = scalar, U32, 1276, "", 1, 0 -hwEventCounters3 = scalar, U32, 1280, "", 1, 0 -hwEventCounters4 = scalar, U32, 1284, "", 1, 0 -hwEventCounters5 = scalar, U32, 1288, "", 1, 0 -hwEventCounters6 = scalar, U32, 1292, "", 1, 0 -vvtCamCounter = scalar, U32, 1296, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1300, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1304, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1308, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1309, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1312, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1316, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1320, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1324, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1328, [0:0] -triggerElapsedUs = scalar, U32, 1332, "", 1, 0 -; total TS size = 1336 -crankSynchronizationCounter0 = scalar, U32, 1336, "", 1, 0 -vvtSyncGapRatio0 = scalar, F32, 1340, "", 1, 0 -vvtToothDurations00 = scalar, U32, 1344, "us", 1, 0 -vvtCurrentPosition0 = scalar, F32, 1348, "sync: Primary Cam Position", 1, 0 -vvtToothPosition10 = scalar, F32, 1352, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition20 = scalar, F32, 1356, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition30 = scalar, F32, 1360, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition40 = scalar, F32, 1364, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio0 = scalar, F32, 1368, "", 1, 0 -triggerStateIndex0 = scalar, U08, 1372, "", 1, 0 -vvtStateIndex0 = scalar, U08, 1373, "", 1, 0 -; total TS size = 1376 -crankSynchronizationCounter1 = scalar, U32, 1376, "", 1, 0 -vvtSyncGapRatio1 = scalar, F32, 1380, "", 1, 0 -vvtToothDurations01 = scalar, U32, 1384, "us", 1, 0 -vvtCurrentPosition1 = scalar, F32, 1388, "sync: Primary Cam Position", 1, 0 -vvtToothPosition11 = scalar, F32, 1392, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition21 = scalar, F32, 1396, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition31 = scalar, F32, 1400, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition41 = scalar, F32, 1404, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio1 = scalar, F32, 1408, "", 1, 0 -triggerStateIndex1 = scalar, U08, 1412, "", 1, 0 -vvtStateIndex1 = scalar, U08, 1413, "", 1, 0 -; total TS size = 1416 -crankSynchronizationCounter2 = scalar, U32, 1416, "", 1, 0 -vvtSyncGapRatio2 = scalar, F32, 1420, "", 1, 0 -vvtToothDurations02 = scalar, U32, 1424, "us", 1, 0 -vvtCurrentPosition2 = scalar, F32, 1428, "sync: Primary Cam Position", 1, 0 -vvtToothPosition12 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition22 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition32 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition42 = scalar, F32, 1444, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio2 = scalar, F32, 1448, "", 1, 0 -triggerStateIndex2 = scalar, U08, 1452, "", 1, 0 -vvtStateIndex2 = scalar, U08, 1453, "", 1, 0 -; total TS size = 1456 -crankSynchronizationCounter3 = scalar, U32, 1456, "", 1, 0 -vvtSyncGapRatio3 = scalar, F32, 1460, "", 1, 0 -vvtToothDurations03 = scalar, U32, 1464, "us", 1, 0 -vvtCurrentPosition3 = scalar, F32, 1468, "sync: Primary Cam Position", 1, 0 -vvtToothPosition13 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition23 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition33 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition43 = scalar, F32, 1484, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio3 = scalar, F32, 1488, "", 1, 0 -triggerStateIndex3 = scalar, U08, 1492, "", 1, 0 -vvtStateIndex3 = scalar, U08, 1493, "", 1, 0 -; total TS size = 1496 -crankSynchronizationCounter4 = scalar, U32, 1496, "", 1, 0 -vvtSyncGapRatio4 = scalar, F32, 1500, "", 1, 0 -vvtToothDurations04 = scalar, U32, 1504, "us", 1, 0 -vvtCurrentPosition4 = scalar, F32, 1508, "sync: Primary Cam Position", 1, 0 -vvtToothPosition14 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition24 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition34 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition44 = scalar, F32, 1524, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio4 = scalar, F32, 1528, "", 1, 0 -triggerStateIndex4 = scalar, U08, 1532, "", 1, 0 -vvtStateIndex4 = scalar, U08, 1533, "", 1, 0 -; total TS size = 1536 -camResyncCounter = scalar, U08, 1536, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1540, [0:0] -; total TS size = 1544 -wallFuelCorrection = scalar, F32, 1544, "", 1, 0 -wallFuel = scalar, F32, 1548, "", 1, 0 -; total TS size = 1552 -idleState = bits, S32, 1552, [0:2], "not important" -currentIdlePosition = scalar, F32, 1556 -baseIdlePosition = scalar, F32, 1560 -idleClosedLoop = scalar, F32, 1564 -iacByTpsTaper = scalar, F32, 1568 -throttlePedalUpState = scalar, S32, 1572, "", 1, 0 -mightResetPid = bits, U32, 1576, [0:0] -shouldResetPid = bits, U32, 1576, [1:1] -wasResetPid = bits, U32, 1576, [2:2] -mustResetPid = bits, U32, 1576, [3:3] -isCranking = bits, U32, 1576, [4:4] -isIacTableForCoasting = bits, U32, 1576, [5:5] -notIdling = bits, U32, 1576, [6:6] -needReset = bits, U32, 1576, [7:7] -isInDeadZone = bits, U32, 1576, [8:8] -isBlipping = bits, U32, 1576, [9:9] -useClosedLoop = bits, U32, 1576, [10:10] -badTps = bits, U32, 1576, [11:11] -looksLikeRunning = bits, U32, 1576, [12:12] -looksLikeCoasting = bits, U32, 1576, [13:13] -looksLikeCrankToIdle = bits, U32, 1576, [14:14] -isIdleCoasting = bits, U32, 1576, [15:15] -isIdleClosedLoop = bits, U32, 1576, [16:16] -idleTarget = scalar, S32, 1580, "", 1, 0 -targetRpmByClt = scalar, S32, 1584, "", 1, 0 -targetRpmAc = scalar, S32, 1588, "", 1, 0 -iacByRpmTaper = scalar, F32, 1592 -luaAdd = scalar, F32, 1596 -; total TS size = 1600 -targetWithIdlePosition0 = scalar, F32, 1600, "per", 1,0 -trim0 = scalar, F32, 1604, "", 1, 0 -luaAdjustment0 = scalar, F32, 1608, "per", 1,0 -m_wastegatePosition0 = scalar, F32, 1612, "per", 1,0 -etbFeedForward0 = scalar, F32, 1616 -etbIntegralError0 = scalar, F32, 1620, "", 1, 0 -etbCurrentTarget0 = scalar, F32, 1624, "%", 1, 0 -etbCurrentAdjustedTarget0 = scalar, F32, 1628, "%", 1, 0 -etbRevLimitActive0 = bits, U32, 1632, [0:0] -jamDetected0 = bits, U32, 1632, [1:1] -etbTpsErrorCounter0 = scalar, U16, 1636, "count", 1,0 -etbPpsErrorCounter0 = scalar, U16, 1638, "count", 1,0 -etbErrorCode0 = scalar, S08, 1640, "", 1, 0 -tcEtbDrop0 = scalar, S08, 1641, "%", 1, 0 -jamTimer0 = scalar, U16, 1642, "sec", 0.01, 0 -adjustedEtbTarget0 = scalar, S08, 1644, "%", 1, 0 -; total TS size = 1648 -targetWithIdlePosition1 = scalar, F32, 1648, "per", 1,0 -trim1 = scalar, F32, 1652, "", 1, 0 -luaAdjustment1 = scalar, F32, 1656, "per", 1,0 -m_wastegatePosition1 = scalar, F32, 1660, "per", 1,0 -etbFeedForward1 = scalar, F32, 1664 -etbIntegralError1 = scalar, F32, 1668, "", 1, 0 -etbCurrentTarget1 = scalar, F32, 1672, "%", 1, 0 -etbCurrentAdjustedTarget1 = scalar, F32, 1676, "%", 1, 0 -etbRevLimitActive1 = bits, U32, 1680, [0:0] -jamDetected1 = bits, U32, 1680, [1:1] -etbTpsErrorCounter1 = scalar, U16, 1684, "count", 1,0 -etbPpsErrorCounter1 = scalar, U16, 1686, "count", 1,0 -etbErrorCode1 = scalar, S08, 1688, "", 1, 0 -tcEtbDrop1 = scalar, S08, 1689, "%", 1, 0 -jamTimer1 = scalar, U16, 1690, "sec", 0.01, 0 -adjustedEtbTarget1 = scalar, S08, 1692, "%", 1, 0 -; total TS size = 1696 -faultCode0 = scalar, U08, 1696, "", 1, 0 -heaterDuty0 = scalar, U08, 1697, "%", 1, 0 -pumpDuty0 = scalar, U08, 1698, "%", 1, 0 -tempC0 = scalar, U16, 1700, "C", 1, 0 -nernstVoltage0 = scalar, U16, 1702, "V", 0.001, 0 -esr0 = scalar, U16, 1704, "ohm", 1, 0 -; total TS size = 1708 -faultCode1 = scalar, U08, 1708, "", 1, 0 -heaterDuty1 = scalar, U08, 1709, "%", 1, 0 -pumpDuty1 = scalar, U08, 1710, "%", 1, 0 -tempC1 = scalar, U16, 1712, "C", 1, 0 -nernstVoltage1 = scalar, U16, 1714, "V", 0.001, 0 -esr1 = scalar, U16, 1716, "ohm", 1, 0 -; total TS size = 1720 -dcOutput0 = scalar, F32, 1720, "per", 1,0 -isEnabled0_int = scalar, U08, 1724, "per", 1,0 -isEnabled0 = bits, U32, 1728, [0:0] -; total TS size = 1732 -value0 = scalar, U16, 1732, "value", 1,0 -value1 = scalar, U16, 1734, "value", 1,0 -errorRate = scalar, F32, 1736, "ratio", 1,0 -; total TS size = 1740 -vvtTarget = scalar, U16, 1740, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1742, "%", 0.5, 0 -; total TS size = 1744 -lambdaCurrentlyGood = bits, U32, 1744, [0:0] -lambdaMonitorCut = bits, U32, 1744, [1:1] -lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 -; total TS size = 1752 +retardThresholdRpm = scalar, S32, 1120, "", 1, 0 +launchActivatePinState = bits, U32, 1124, [0:0] +isPreLaunchCondition = bits, U32, 1124, [1:1] +isLaunchCondition = bits, U32, 1124, [2:2] +isSwitchActivated = bits, U32, 1124, [3:3] +isClutchActivated = bits, U32, 1124, [4:4] +isBrakePedalActivated = bits, U32, 1124, [5:5] +isValidInputPin = bits, U32, 1124, [6:6] +activateSwitchCondition = bits, U32, 1124, [7:7] +rpmLaunchCondition = bits, U32, 1124, [8:8] +rpmPreLaunchCondition = bits, U32, 1124, [9:9] +speedCondition = bits, U32, 1124, [10:10] +tpsCondition = bits, U32, 1124, [11:11] +; total TS size = 1128 +isTorqueReductionTriggerPinValid = bits, U32, 1128, [0:0] +torqueReductionTriggerPinState = bits, U32, 1128, [1:1] +isTimeConditionSatisfied = bits, U32, 1128, [2:2] +isRpmConditionSatisfied = bits, U32, 1128, [3:3] +isAppConditionSatisfied = bits, U32, 1128, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1128, [5:5] +; total TS size = 1132 +isAntilagCondition = bits, U32, 1132, [0:0] +ALSMinRPMCondition = bits, U32, 1132, [1:1] +ALSMaxRPMCondition = bits, U32, 1132, [2:2] +ALSMinCLTCondition = bits, U32, 1132, [3:3] +ALSMaxCLTCondition = bits, U32, 1132, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1132, [5:5] +isALSSwitchActivated = bits, U32, 1132, [6:6] +ALSActivatePinState = bits, U32, 1132, [7:7] +ALSSwitchCondition = bits, U32, 1132, [8:8] +ALSTimerCondition = bits, U32, 1132, [9:9] +fuelALSCorrection = scalar, F32, 1136, "", 1, 0 +timingALSCorrection = scalar, S16, 1140, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1142, "deg", 0.01, 0 +; total TS size = 1144 +isTpsInvalid = bits, U32, 1144, [0:0] +m_shouldResetPid = bits, U32, 1144, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1144, [2:2] +isNotClosedLoop = bits, U32, 1144, [3:3] +isZeroRpm = bits, U32, 1144, [4:4] +hasInitBoost = bits, U32, 1144, [5:5] +rpmTooLow = bits, U32, 1144, [6:6] +tpsTooLow = bits, U32, 1144, [7:7] +mapTooLow = bits, U32, 1144, [8:8] +isPlantValid = bits, U32, 1144, [9:9] +isBoostControlled = bits, U32, 1144, [10:10] +luaTargetAdd = scalar, S16, 1148, "v", 0.5,0 +boostOutput = scalar, S16, 1150, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1152, "v", 1,0 +openLoopPart = scalar, F32, 1156, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1160, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1164, "%", 0.5,0 +boostControlTarget = scalar, S16, 1166, "kPa", 0.03333333333333333,0 +; total TS size = 1168 +acButtonState = scalar, S08, 1168, "", 1, 0 +m_acEnabled = bits, U32, 1172, [0:0] +engineTooSlow = bits, U32, 1172, [1:1] +engineTooFast = bits, U32, 1172, [2:2] +noClt = bits, U32, 1172, [3:3] +engineTooHot = bits, U32, 1172, [4:4] +tpsTooHigh = bits, U32, 1172, [5:5] +isDisabledByLua = bits, U32, 1172, [6:6] +acCompressorState = bits, U32, 1172, [7:7] +acPressureTooLow = bits, U32, 1172, [8:8] +acPressureTooHigh = bits, U32, 1172, [9:9] +; total TS size = 1176 +cranking0 = bits, U32, 1176, [0:0] +notRunning0 = bits, U32, 1176, [1:1] +disabledWhileEngineStopped0 = bits, U32, 1176, [2:2] +brokenClt0 = bits, U32, 1176, [3:3] +enabledForAc0 = bits, U32, 1176, [4:4] +hot0 = bits, U32, 1176, [5:5] +cold0 = bits, U32, 1176, [6:6] +disabledBySpeed0 = bits, U32, 1176, [7:7] +radiatorFanStatus0 = scalar, U08, 1180, "", 1, 0 +; total TS size = 1184 +cranking1 = bits, U32, 1184, [0:0] +notRunning1 = bits, U32, 1184, [1:1] +disabledWhileEngineStopped1 = bits, U32, 1184, [2:2] +brokenClt1 = bits, U32, 1184, [3:3] +enabledForAc1 = bits, U32, 1184, [4:4] +hot1 = bits, U32, 1184, [5:5] +cold1 = bits, U32, 1184, [6:6] +disabledBySpeed1 = bits, U32, 1184, [7:7] +radiatorFanStatus1 = scalar, U08, 1188, "", 1, 0 +; total TS size = 1192 +isPrime = bits, U32, 1192, [0:0] +engineTurnedRecently = bits, U32, 1192, [1:1] +isFuelPumpOn = bits, U32, 1192, [2:2] +ignitionOn = bits, U32, 1192, [3:3] +; total TS size = 1196 +isBenchTest = bits, U32, 1196, [0:0] +hasIgnitionVoltage = bits, U32, 1196, [1:1] +mainRelayState = bits, U32, 1196, [2:2] +delayedShutoffRequested = bits, U32, 1196, [3:3] +; total TS size = 1200 +lua_fuelAdd = scalar, F32, 1200, "g", 1, 0 +lua_fuelMult = scalar, F32, 1204, "", 1, 0 +lua_clutchUpState = bits, U32, 1208, [0:0] +lua_brakePedalState = bits, U32, 1208, [1:1] +lua_acRequestState = bits, U32, 1208, [2:2] +lua_luaDisableEtb = bits, U32, 1208, [3:3] +lua_luaIgnCut = bits, U32, 1208, [4:4] +lua_luaFuelCut = bits, U32, 1208, [5:5] +lua_clutchDownState = bits, U32, 1208, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1208, [7:7] +sd_tCharge = scalar, S16, 1212, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1216, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1220, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1224, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1228, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1232, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1236, "", 1, 0 +hellenBoardId = scalar, S16, 1240, "id", 1, 0 +clutchUpState = scalar, S08, 1242, "", 1, 0 +clutchDownState = scalar, S08, 1243, "", 1, 0 +brakePedalState = scalar, S08, 1244, "", 1, 0 +startStopState = scalar, S08, 1245, "", 1, 0 +smartChipState = scalar, S08, 1246, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1247, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1248, "", 1, 0 +startStopPhysicalState = bits, U32, 1252, [0:0] +acrActive = bits, U32, 1252, [1:1] +acrEngineMovedRecently = bits, U32, 1252, [2:2] +heaterControlEnabled = bits, U32, 1252, [3:3] +luaDigitalState0 = bits, U32, 1252, [4:4] +luaDigitalState1 = bits, U32, 1252, [5:5] +luaDigitalState2 = bits, U32, 1252, [6:6] +luaDigitalState3 = bits, U32, 1252, [7:7] +startStopStateToggleCounter = scalar, U32, 1256, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1260, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1264, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1268, "", 1, 0 +desiredRpmLimit = scalar, S16, 1272, "rpm", 1, 0 +fuelInjectionCounter = scalar, U32, 1276, "", 1, 0 +globalSparkCounter = scalar, U32, 1280, "", 1, 0 +fuelingLoad = scalar, F32, 1284, "", 1, 0 +ignitionLoad = scalar, F32, 1288, "", 1, 0 +veTableYAxis = scalar, U16, 1292, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1294, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1295, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1296, "", 1, 0 +; total TS size = 1300 +tpsFrom = scalar, F32, 1300 +tpsTo = scalar, F32, 1304 +deltaTps = scalar, F32, 1308 +extraFuel = scalar, F32, 1312, "", 1, 0 +valueFromTable = scalar, F32, 1316, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1320, [0:0] +isBelowDecelThreshold = bits, U32, 1320, [1:1] +isTimeToResetAccumulator = bits, U32, 1320, [2:2] +isFractionalEnrichment = bits, U32, 1320, [3:3] +belowEpsilon = bits, U32, 1320, [4:4] +tooShort = bits, U32, 1320, [5:5] +fractionalInjFuel = scalar, F32, 1324, "", 1, 0 +accumulatedValue = scalar, F32, 1328, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1332, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1336, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1340, "", 1, 0 +cycleCnt = scalar, S32, 1344, "", 1, 0 +; total TS size = 1348 +hwEventCounters1 = scalar, U32, 1348, "", 1, 0 +hwEventCounters2 = scalar, U32, 1352, "", 1, 0 +hwEventCounters3 = scalar, U32, 1356, "", 1, 0 +hwEventCounters4 = scalar, U32, 1360, "", 1, 0 +hwEventCounters5 = scalar, U32, 1364, "", 1, 0 +hwEventCounters6 = scalar, U32, 1368, "", 1, 0 +vvtCamCounter = scalar, U32, 1372, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1376, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1380, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1384, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1385, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1388, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1392, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1396, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1400, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1404, [0:0] +triggerElapsedUs = scalar, U32, 1408, "", 1, 0 +; total TS size = 1412 +crankSynchronizationCounter0 = scalar, U32, 1412, "", 1, 0 +vvtSyncGapRatio0 = scalar, F32, 1416, "", 1, 0 +vvtToothDurations00 = scalar, U32, 1420, "us", 1, 0 +vvtCurrentPosition0 = scalar, F32, 1424, "sync: Primary Cam Position", 1, 0 +vvtToothPosition10 = scalar, F32, 1428, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition20 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition30 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition40 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio0 = scalar, F32, 1444, "", 1, 0 +triggerStateIndex0 = scalar, U08, 1448, "", 1, 0 +vvtStateIndex0 = scalar, U08, 1449, "", 1, 0 +; total TS size = 1452 +crankSynchronizationCounter1 = scalar, U32, 1452, "", 1, 0 +vvtSyncGapRatio1 = scalar, F32, 1456, "", 1, 0 +vvtToothDurations01 = scalar, U32, 1460, "us", 1, 0 +vvtCurrentPosition1 = scalar, F32, 1464, "sync: Primary Cam Position", 1, 0 +vvtToothPosition11 = scalar, F32, 1468, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition21 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition31 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition41 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio1 = scalar, F32, 1484, "", 1, 0 +triggerStateIndex1 = scalar, U08, 1488, "", 1, 0 +vvtStateIndex1 = scalar, U08, 1489, "", 1, 0 +; total TS size = 1492 +crankSynchronizationCounter2 = scalar, U32, 1492, "", 1, 0 +vvtSyncGapRatio2 = scalar, F32, 1496, "", 1, 0 +vvtToothDurations02 = scalar, U32, 1500, "us", 1, 0 +vvtCurrentPosition2 = scalar, F32, 1504, "sync: Primary Cam Position", 1, 0 +vvtToothPosition12 = scalar, F32, 1508, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition22 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition32 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition42 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio2 = scalar, F32, 1524, "", 1, 0 +triggerStateIndex2 = scalar, U08, 1528, "", 1, 0 +vvtStateIndex2 = scalar, U08, 1529, "", 1, 0 +; total TS size = 1532 +crankSynchronizationCounter3 = scalar, U32, 1532, "", 1, 0 +vvtSyncGapRatio3 = scalar, F32, 1536, "", 1, 0 +vvtToothDurations03 = scalar, U32, 1540, "us", 1, 0 +vvtCurrentPosition3 = scalar, F32, 1544, "sync: Primary Cam Position", 1, 0 +vvtToothPosition13 = scalar, F32, 1548, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition23 = scalar, F32, 1552, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition33 = scalar, F32, 1556, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition43 = scalar, F32, 1560, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio3 = scalar, F32, 1564, "", 1, 0 +triggerStateIndex3 = scalar, U08, 1568, "", 1, 0 +vvtStateIndex3 = scalar, U08, 1569, "", 1, 0 +; total TS size = 1572 +crankSynchronizationCounter4 = scalar, U32, 1572, "", 1, 0 +vvtSyncGapRatio4 = scalar, F32, 1576, "", 1, 0 +vvtToothDurations04 = scalar, U32, 1580, "us", 1, 0 +vvtCurrentPosition4 = scalar, F32, 1584, "sync: Primary Cam Position", 1, 0 +vvtToothPosition14 = scalar, F32, 1588, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition24 = scalar, F32, 1592, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition34 = scalar, F32, 1596, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition44 = scalar, F32, 1600, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio4 = scalar, F32, 1604, "", 1, 0 +triggerStateIndex4 = scalar, U08, 1608, "", 1, 0 +vvtStateIndex4 = scalar, U08, 1609, "", 1, 0 +; total TS size = 1612 +camResyncCounter = scalar, U08, 1612, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1616, [0:0] +; total TS size = 1620 +wallFuelCorrection = scalar, F32, 1620, "", 1, 0 +wallFuel = scalar, F32, 1624, "", 1, 0 +; total TS size = 1628 +idleState = bits, S32, 1628, [0:2], "not important" +currentIdlePosition = scalar, F32, 1632 +baseIdlePosition = scalar, F32, 1636 +idleClosedLoop = scalar, F32, 1640 +iacByTpsTaper = scalar, F32, 1644 +throttlePedalUpState = scalar, S32, 1648, "", 1, 0 +mightResetPid = bits, U32, 1652, [0:0] +shouldResetPid = bits, U32, 1652, [1:1] +wasResetPid = bits, U32, 1652, [2:2] +mustResetPid = bits, U32, 1652, [3:3] +isCranking = bits, U32, 1652, [4:4] +isIacTableForCoasting = bits, U32, 1652, [5:5] +notIdling = bits, U32, 1652, [6:6] +needReset = bits, U32, 1652, [7:7] +isInDeadZone = bits, U32, 1652, [8:8] +isBlipping = bits, U32, 1652, [9:9] +useClosedLoop = bits, U32, 1652, [10:10] +badTps = bits, U32, 1652, [11:11] +looksLikeRunning = bits, U32, 1652, [12:12] +looksLikeCoasting = bits, U32, 1652, [13:13] +looksLikeCrankToIdle = bits, U32, 1652, [14:14] +isIdleCoasting = bits, U32, 1652, [15:15] +isIdleClosedLoop = bits, U32, 1652, [16:16] +idleTarget = scalar, S32, 1656, "", 1, 0 +targetRpmByClt = scalar, S32, 1660, "", 1, 0 +targetRpmAc = scalar, S32, 1664, "", 1, 0 +iacByRpmTaper = scalar, F32, 1668 +luaAdd = scalar, F32, 1672 +; total TS size = 1676 +targetWithIdlePosition0 = scalar, F32, 1676, "per", 1,0 +trim0 = scalar, F32, 1680, "", 1, 0 +luaAdjustment0 = scalar, F32, 1684, "per", 1,0 +m_wastegatePosition0 = scalar, F32, 1688, "per", 1,0 +etbFeedForward0 = scalar, F32, 1692 +etbIntegralError0 = scalar, F32, 1696, "", 1, 0 +etbCurrentTarget0 = scalar, F32, 1700, "%", 1, 0 +etbCurrentAdjustedTarget0 = scalar, F32, 1704, "%", 1, 0 +etbRevLimitActive0 = bits, U32, 1708, [0:0] +jamDetected0 = bits, U32, 1708, [1:1] +etbTpsErrorCounter0 = scalar, U16, 1712, "count", 1,0 +etbPpsErrorCounter0 = scalar, U16, 1714, "count", 1,0 +etbErrorCode0 = scalar, S08, 1716, "", 1, 0 +tcEtbDrop0 = scalar, S08, 1717, "%", 1, 0 +jamTimer0 = scalar, U16, 1718, "sec", 0.01, 0 +adjustedEtbTarget0 = scalar, S08, 1720, "%", 1, 0 +; total TS size = 1724 +targetWithIdlePosition1 = scalar, F32, 1724, "per", 1,0 +trim1 = scalar, F32, 1728, "", 1, 0 +luaAdjustment1 = scalar, F32, 1732, "per", 1,0 +m_wastegatePosition1 = scalar, F32, 1736, "per", 1,0 +etbFeedForward1 = scalar, F32, 1740 +etbIntegralError1 = scalar, F32, 1744, "", 1, 0 +etbCurrentTarget1 = scalar, F32, 1748, "%", 1, 0 +etbCurrentAdjustedTarget1 = scalar, F32, 1752, "%", 1, 0 +etbRevLimitActive1 = bits, U32, 1756, [0:0] +jamDetected1 = bits, U32, 1756, [1:1] +etbTpsErrorCounter1 = scalar, U16, 1760, "count", 1,0 +etbPpsErrorCounter1 = scalar, U16, 1762, "count", 1,0 +etbErrorCode1 = scalar, S08, 1764, "", 1, 0 +tcEtbDrop1 = scalar, S08, 1765, "%", 1, 0 +jamTimer1 = scalar, U16, 1766, "sec", 0.01, 0 +adjustedEtbTarget1 = scalar, S08, 1768, "%", 1, 0 +; total TS size = 1772 +faultCode0 = scalar, U08, 1772, "", 1, 0 +heaterDuty0 = scalar, U08, 1773, "%", 1, 0 +pumpDuty0 = scalar, U08, 1774, "%", 1, 0 +tempC0 = scalar, U16, 1776, "C", 1, 0 +nernstVoltage0 = scalar, U16, 1778, "V", 0.001, 0 +esr0 = scalar, U16, 1780, "ohm", 1, 0 +; total TS size = 1784 +faultCode1 = scalar, U08, 1784, "", 1, 0 +heaterDuty1 = scalar, U08, 1785, "%", 1, 0 +pumpDuty1 = scalar, U08, 1786, "%", 1, 0 +tempC1 = scalar, U16, 1788, "C", 1, 0 +nernstVoltage1 = scalar, U16, 1790, "V", 0.001, 0 +esr1 = scalar, U16, 1792, "ohm", 1, 0 +; total TS size = 1796 +dcOutput0 = scalar, F32, 1796, "per", 1,0 +isEnabled0_int = scalar, U08, 1800, "per", 1,0 +isEnabled0 = bits, U32, 1804, [0:0] +; total TS size = 1808 +value0 = scalar, U16, 1808, "value", 1,0 +value1 = scalar, U16, 1810, "value", 1,0 +errorRate = scalar, F32, 1812, "ratio", 1,0 +; total TS size = 1816 +vvtTarget = scalar, U16, 1816, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1818, "%", 0.5, 0 +; total TS size = 1820 +lambdaCurrentlyGood = bits, U32, 1820, [0:0] +lambdaMonitorCut = bits, U32, 1820, [1:1] +lambdaTimeSinceGood = scalar, U16, 1824, "sec", 0.01, 0 +; total TS size = 1828 time = { timeNow } @@ -3626,6 +3658,7 @@ lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs8 requiresPowerCycle = cylinderBore + requiresPowerCycle = knockFrequency readOnly = warning_message readOnly = device_uid1 @@ -5043,6 +5076,26 @@ gaugeCategory = Knock knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knockSpectrumChannelCylGauge = m_knockSpectrumChannelCyl, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStartGauge = m_knockFrequencyStart, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStepGauge = m_knockFrequencyStep, "Knock Frequency Step", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFuelTrimMultiplier = m_knockFuelTrimMultiplier, "Knock Fuel Trim", "mult", 0, 0, 0, 0, 0, 30, 1, 1 + knockSpectrum1 = m_knockSpectrum1, "Knock Spectrum1", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum2 = m_knockSpectrum2, "knockSpectrum2", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum3 = m_knockSpectrum3, "knockSpectrum3", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum4 = m_knockSpectrum4, "knockSpectrum4", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum5 = m_knockSpectrum5, "knockSpectrum5", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum6 = m_knockSpectrum6, "knockSpectrum6", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum7 = m_knockSpectrum7, "knockSpectrum7", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum8 = m_knockSpectrum8, "knockSpectrum8", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum9 = m_knockSpectrum9, "knockSpectrum9", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum10 = m_knockSpectrum10, "knockSpectrum10", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum11 = m_knockSpectrum11, "knockSpectrum11", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum12 = m_knockSpectrum12, "knockSpectrum12", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum13 = m_knockSpectrum13, "knockSpectrum13", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum14 = m_knockSpectrum14, "knockSpectrum14", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum15 = m_knockSpectrum15, "knockSpectrum15", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum16 = m_knockSpectrum16, "knockSpectrum16", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -5642,6 +5695,26 @@ entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" entry = m_knockCount, "Knock: Count", int, "%d" entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_knockFrequency, "knock: frequency", int, "%d" +entry = m_knockSpectrum1, "Knock: SpectrumData 1", int, "%d" +entry = m_knockSpectrum2, "Knock: SpectrumData 2", int, "%d" +entry = m_knockSpectrum3, "Knock: SpectrumData 3", int, "%d" +entry = m_knockSpectrum4, "Knock: SpectrumData 4", int, "%d" +entry = m_knockSpectrum5, "Knock: SpectrumData 5", int, "%d" +entry = m_knockSpectrum6, "Knock: SpectrumData 6", int, "%d" +entry = m_knockSpectrum7, "Knock: SpectrumData 7", int, "%d" +entry = m_knockSpectrum8, "Knock: SpectrumData 8", int, "%d" +entry = m_knockSpectrum9, "Knock: SpectrumData 9", int, "%d" +entry = m_knockSpectrum10, "Knock: SpectrumData 10", int, "%d" +entry = m_knockSpectrum11, "Knock: SpectrumData 11", int, "%d" +entry = m_knockSpectrum12, "Knock: SpectrumData 12", int, "%d" +entry = m_knockSpectrum13, "Knock: SpectrumData 13", int, "%d" +entry = m_knockSpectrum14, "Knock: SpectrumData 14", int, "%d" +entry = m_knockSpectrum15, "Knock: SpectrumData 15", int, "%d" +entry = m_knockSpectrum16, "Knock: SpectrumData 16", int, "%d" +entry = m_knockSpectrumChannelCyl, "Knock: ChannelAndCylNumber", int, "%d" +entry = m_knockFrequencyStart, "Knock: Start Freq", int, "%d" +entry = m_knockFrequencyStep, "Knock: Step Freq", float, "%.3f" +entry = m_knockFuelTrimMultiplier, "Knock: Fuel trim when knock", float, "%.3f" entry = tcuCurrentGear, "TCU: Current Gear", int, "%d" entry = tcRatio, "TCU: Torque Converter Ratio", float, "%.3f" entry = lastShiftTime, "lastShiftTime", float, "%.3f" @@ -6556,6 +6629,31 @@ dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard graphLine = m_knockFrequency + graphLine = m_knockSpectrum1 + graphLine = m_knockSpectrum2 + liveGraph = knock_controller_6_Graph, "Graph", South + graphLine = m_knockSpectrum3 + graphLine = m_knockSpectrum4 + graphLine = m_knockSpectrum5 + graphLine = m_knockSpectrum6 + liveGraph = knock_controller_7_Graph, "Graph", South + graphLine = m_knockSpectrum7 + graphLine = m_knockSpectrum8 + graphLine = m_knockSpectrum9 + graphLine = m_knockSpectrum10 + liveGraph = knock_controller_8_Graph, "Graph", South + graphLine = m_knockSpectrum11 + graphLine = m_knockSpectrum12 + graphLine = m_knockSpectrum13 + graphLine = m_knockSpectrum14 + liveGraph = knock_controller_9_Graph, "Graph", South + graphLine = m_knockSpectrum15 + graphLine = m_knockSpectrum16 + graphLine = m_knockSpectrumChannelCyl + graphLine = m_knockFrequencyStart + liveGraph = knock_controller_10_Graph, "Graph", South + graphLine = m_knockFrequencyStep + graphLine = m_knockFuelTrimMultiplier indicatorPanel = tcu_controllerIndicatorPanel, 2 indicator = {isShifting}, "isShifting No", "isShifting Yes" @@ -8590,9 +8688,13 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockCfg, "Sense" field = "Enable", enableSoftwareKnock field = "Cylinder Bore", cylinderBore, {enableSoftwareKnock} + field = "Estimated Knock Frequency",knockFrequency, {enableSoftwareKnock} field = "Detection mode", knockDetectionUseDoubleFrequency field = "Detection Window Start",knockDetectionWindowStart, {enableSoftwareKnock} field = "Sampling Duration", knockSamplingDuration, {enableSoftwareKnock} + field = "Enable Knock Spectrogram", enableKnockSpectrogram, {enableSoftwareKnock} + field = "Enable Knock Spectrogram Filter", enableKnockSpectrogramFilter, {enableKnockSpectrogram} + field = "Knock Spectrum Sensitivity", knockSpectrumSensitivity, {enableKnockSpectrogram} field = "" field = "Select the nearest sensor for each cylinder" @@ -8612,6 +8714,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockResponseCfg, "Response" field = knockRetardAggression, knockRetardAggression field = knockRetardReapplyRate, knockRetardReapplyRate + field = knockFuelTrimAggression, knockFuelTrimAggression + field = knockFuelTrimReapplyRate, knockFuelTrimReapplyRate + field = knockFuelTrim, knockFuelTrim + field = knockSuppressMinTps, knockSuppressMinTps dialog = softwareKnockLeft, "" panel = softwareKnockCfg diff --git a/firmware/tunerstudio/generated/rusefi_alphax-4k-gdi.ini b/firmware/tunerstudio/generated/rusefi_alphax-4k-gdi.ini index 8399199047..cc0c83a4bd 100644 --- a/firmware/tunerstudio/generated/rusefi_alphax-4k-gdi.ini +++ b/firmware/tunerstudio/generated/rusefi_alphax-4k-gdi.ini @@ -38,12 +38,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.10.21.alphax-4k-gdi.1412969003" + signature = "rusEFI master.2024.10.21.alphax-4k-gdi.2282776788" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.10.21.alphax-4k-gdi.1412969003" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.10.21.alphax-4k-gdi.2282776788" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -774,6 +774,7 @@ devBit7 = bits, U32, 1492, [27:27], "false", "true" unusedSkipWasHere = bits, U32, 1492, [28:28], "false", "true" invertExhaustCamVVTSignal = bits, U32, 1492, [29:29], "Rising", "Falling" enableKnockSpectrogram = bits, U32, 1492, [30:30], "false", "true" +enableKnockSpectrogramFilter = bits, U32, 1492, [31:31], "false", "true" afterCrankingIACtaperDuration = scalar, S16, 1496, "cycles", 1, 0, 0, 5000, 0 iacByTpsTaper = scalar, S16, 1498, "percent", 1, 0, 0, 500, 0 unusedAuxSeria = bits, U16, 1500, [0:8], $gpio_list @@ -1394,7 +1395,13 @@ auxLinear4_v1 = scalar, F32, 3880, "volts", 1, 0, 0, 10, 2 auxLinear4_value1 = scalar, F32, 3884, "", 1, 0, -100000, 1000000, 2 auxLinear4_v2 = scalar, F32, 3888, "volts", 1, 0, 0, 10, 2 auxLinear4_value2 = scalar, F32, 3892, "", 1, 0, -100000, 1000000, 2 -unusedOftenChangesDuringFirmwareUpdate = array, U08, 3896, [128], "units", 1, 0, 0, 1, 0 +knockSuppressMinTps = scalar, U08, 3896, "%", 1, 0, 0, 100, 1 +knockFuelTrimAggression = scalar, U08, 3897, "%", 0.1, 0, 0, 20, 1 +knockFuelTrimReapplyRate = scalar, U08, 3898, "deg/s", 0.1, 0, 0, 10, 1 +knockFuelTrim = scalar, U08, 3899, "%", 1, 0, 0, 30, 1 +knockSpectrumSensitivity = scalar, F32, 3900, "sense", 1, 0, 0, 1, 2 +knockFrequency = scalar, F32, 3904, "Hz", 1, 0, 0, 20000, 2 +unusedOftenChangesDuringFirmwareUpdate = array, U08, 3908, [116], "units", 1, 0, 0, 1, 0 postCrankingFactor = array, F32, 4024, [6x6], "mult", 1, 0, 1, 3, 2 postCrankingDurationBins = array, F32, 4168, [6], "count", 1, 0, 0, 1000, 0 postCrankingCLTBins = array, S16, 4192, [6], "C", 1, 0, -100, 250, 0 @@ -2448,6 +2455,11 @@ minimumOilPressureValues = array, U08, 22960, [8], "kPa", 10.0, 0, 0, 1000, 0 minAcPressure = "value of A/C pressure in kPa before that compressor is disengaged" maxAcPressure = "value of A/C pressure in kPa after that compressor is disengaged" minimumOilPressureTimeout = "Delay before cutting fuel due to low oil pressure. Use this to ignore short pressure blips and sensor noise." + knockSuppressMinTps = "Below TPS value all knock suppression will be disabled." + knockFuelTrimAggression = "Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump)," + knockFuelTrimReapplyRate = "After a knock event, reapply fuel at this rate." + knockFuelTrim = "Fuel trim when knock, max 30%" + knockFrequency = "Estimated knock frequency, ignore cylinderBore if this one > 0" etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, open loop component of PID closed loop control" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2560,7 +2572,7 @@ minimumOilPressureValues = array, U08, 22960, [8], "kPa", 10.0, 0, 0, 1000, 0 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1752 + ochBlockSize = 1828 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3101,370 +3113,390 @@ m_knockThreshold = scalar, F32, 960, "", 1, 0 m_knockCount = scalar, U32, 964, "", 1, 0 m_maximumRetard = scalar, F32, 968, "", 1, 0 m_knockFrequency = scalar, U32, 972, "Hz", 1, 0 -; total TS size = 976 -tcuCurrentGear = scalar, S08, 976, "gear", 1, 0 -tcRatio = scalar, U16, 978, "value", 0.01, 0 -lastShiftTime = scalar, F32, 980, "", 1, 0 -tcu_currentRange = scalar, U08, 984, "", 1, 0 -pressureControlDuty = scalar, S08, 985, "%", 1,0 -torqueConverterDuty = scalar, S08, 986, "%", 1,0 -isShifting = bits, U32, 988, [0:0] -; total TS size = 992 -throttleUseWotModel = bits, U32, 992, [0:0] -throttleModelCrossoverAngle = scalar, S16, 996, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1000, "g/s", 1, 0 -; total TS size = 1004 -m_requested_pump = scalar, F32, 1004, "", 1, 0 -fuel_requested_percent = scalar, F32, 1008, "", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1012, "", 1, 0 -noValve = bits, U32, 1016, [0:0] -angleAboveMin = bits, U32, 1016, [1:1] -isHpfpInactive = bits, U32, 1016, [2:2] -m_pressureTarget_kPa = scalar, F32, 1020, "", 1, 0 -nextLobe = scalar, F32, 1024, "", 1, 0 -di_nextStart = scalar, F32, 1028, "v", 1, 0 -; total TS size = 1032 -m_deadtime = scalar, F32, 1032, "ms", 1, 0 -pressureDelta = scalar, F32, 1036, "kPa", 1, 0 -pressureRatio = scalar, F32, 1040, "", 1, 0 -; total TS size = 1044 -retardThresholdRpm = scalar, S32, 1044, "", 1, 0 -launchActivatePinState = bits, U32, 1048, [0:0] -isPreLaunchCondition = bits, U32, 1048, [1:1] -isLaunchCondition = bits, U32, 1048, [2:2] -isSwitchActivated = bits, U32, 1048, [3:3] -isClutchActivated = bits, U32, 1048, [4:4] -isBrakePedalActivated = bits, U32, 1048, [5:5] -isValidInputPin = bits, U32, 1048, [6:6] -activateSwitchCondition = bits, U32, 1048, [7:7] -rpmLaunchCondition = bits, U32, 1048, [8:8] -rpmPreLaunchCondition = bits, U32, 1048, [9:9] -speedCondition = bits, U32, 1048, [10:10] -tpsCondition = bits, U32, 1048, [11:11] +m_knockSpectrum1 = scalar, U32, 976, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 980, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 984, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 988, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1040, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1042, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1044, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1048, "multiplier", 1, 0 ; total TS size = 1052 -isTorqueReductionTriggerPinValid = bits, U32, 1052, [0:0] -torqueReductionTriggerPinState = bits, U32, 1052, [1:1] -isTimeConditionSatisfied = bits, U32, 1052, [2:2] -isRpmConditionSatisfied = bits, U32, 1052, [3:3] -isAppConditionSatisfied = bits, U32, 1052, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1052, [5:5] -; total TS size = 1056 -isAntilagCondition = bits, U32, 1056, [0:0] -ALSMinRPMCondition = bits, U32, 1056, [1:1] -ALSMaxRPMCondition = bits, U32, 1056, [2:2] -ALSMinCLTCondition = bits, U32, 1056, [3:3] -ALSMaxCLTCondition = bits, U32, 1056, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1056, [5:5] -isALSSwitchActivated = bits, U32, 1056, [6:6] -ALSActivatePinState = bits, U32, 1056, [7:7] -ALSSwitchCondition = bits, U32, 1056, [8:8] -ALSTimerCondition = bits, U32, 1056, [9:9] -fuelALSCorrection = scalar, F32, 1060, "", 1, 0 -timingALSCorrection = scalar, S16, 1064, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1066, "deg", 0.01, 0 +tcuCurrentGear = scalar, S08, 1052, "gear", 1, 0 +tcRatio = scalar, U16, 1054, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1056, "", 1, 0 +tcu_currentRange = scalar, U08, 1060, "", 1, 0 +pressureControlDuty = scalar, S08, 1061, "%", 1,0 +torqueConverterDuty = scalar, S08, 1062, "%", 1,0 +isShifting = bits, U32, 1064, [0:0] ; total TS size = 1068 -isTpsInvalid = bits, U32, 1068, [0:0] -m_shouldResetPid = bits, U32, 1068, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1068, [2:2] -isNotClosedLoop = bits, U32, 1068, [3:3] -isZeroRpm = bits, U32, 1068, [4:4] -hasInitBoost = bits, U32, 1068, [5:5] -rpmTooLow = bits, U32, 1068, [6:6] -tpsTooLow = bits, U32, 1068, [7:7] -mapTooLow = bits, U32, 1068, [8:8] -isPlantValid = bits, U32, 1068, [9:9] -isBoostControlled = bits, U32, 1068, [10:10] -luaTargetAdd = scalar, S16, 1072, "v", 0.5,0 -boostOutput = scalar, S16, 1074, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1076, "v", 1,0 -openLoopPart = scalar, F32, 1080, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1084, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1088, "%", 0.5,0 -boostControlTarget = scalar, S16, 1090, "kPa", 0.03333333333333333,0 -; total TS size = 1092 -acButtonState = scalar, S08, 1092, "", 1, 0 -m_acEnabled = bits, U32, 1096, [0:0] -engineTooSlow = bits, U32, 1096, [1:1] -engineTooFast = bits, U32, 1096, [2:2] -noClt = bits, U32, 1096, [3:3] -engineTooHot = bits, U32, 1096, [4:4] -tpsTooHigh = bits, U32, 1096, [5:5] -isDisabledByLua = bits, U32, 1096, [6:6] -acCompressorState = bits, U32, 1096, [7:7] -acPressureTooLow = bits, U32, 1096, [8:8] -acPressureTooHigh = bits, U32, 1096, [9:9] -; total TS size = 1100 -cranking0 = bits, U32, 1100, [0:0] -notRunning0 = bits, U32, 1100, [1:1] -disabledWhileEngineStopped0 = bits, U32, 1100, [2:2] -brokenClt0 = bits, U32, 1100, [3:3] -enabledForAc0 = bits, U32, 1100, [4:4] -hot0 = bits, U32, 1100, [5:5] -cold0 = bits, U32, 1100, [6:6] -disabledBySpeed0 = bits, U32, 1100, [7:7] -radiatorFanStatus0 = scalar, U08, 1104, "", 1, 0 +throttleUseWotModel = bits, U32, 1068, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1072, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1076, "g/s", 1, 0 +; total TS size = 1080 +m_requested_pump = scalar, F32, 1080, "", 1, 0 +fuel_requested_percent = scalar, F32, 1084, "", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1088, "", 1, 0 +noValve = bits, U32, 1092, [0:0] +angleAboveMin = bits, U32, 1092, [1:1] +isHpfpInactive = bits, U32, 1092, [2:2] +m_pressureTarget_kPa = scalar, F32, 1096, "", 1, 0 +nextLobe = scalar, F32, 1100, "", 1, 0 +di_nextStart = scalar, F32, 1104, "v", 1, 0 ; total TS size = 1108 -cranking1 = bits, U32, 1108, [0:0] -notRunning1 = bits, U32, 1108, [1:1] -disabledWhileEngineStopped1 = bits, U32, 1108, [2:2] -brokenClt1 = bits, U32, 1108, [3:3] -enabledForAc1 = bits, U32, 1108, [4:4] -hot1 = bits, U32, 1108, [5:5] -cold1 = bits, U32, 1108, [6:6] -disabledBySpeed1 = bits, U32, 1108, [7:7] -radiatorFanStatus1 = scalar, U08, 1112, "", 1, 0 -; total TS size = 1116 -isPrime = bits, U32, 1116, [0:0] -engineTurnedRecently = bits, U32, 1116, [1:1] -isFuelPumpOn = bits, U32, 1116, [2:2] -ignitionOn = bits, U32, 1116, [3:3] +m_deadtime = scalar, F32, 1108, "ms", 1, 0 +pressureDelta = scalar, F32, 1112, "kPa", 1, 0 +pressureRatio = scalar, F32, 1116, "", 1, 0 ; total TS size = 1120 -isBenchTest = bits, U32, 1120, [0:0] -hasIgnitionVoltage = bits, U32, 1120, [1:1] -mainRelayState = bits, U32, 1120, [2:2] -delayedShutoffRequested = bits, U32, 1120, [3:3] -; total TS size = 1124 -lua_fuelAdd = scalar, F32, 1124, "g", 1, 0 -lua_fuelMult = scalar, F32, 1128, "", 1, 0 -lua_clutchUpState = bits, U32, 1132, [0:0] -lua_brakePedalState = bits, U32, 1132, [1:1] -lua_acRequestState = bits, U32, 1132, [2:2] -lua_luaDisableEtb = bits, U32, 1132, [3:3] -lua_luaIgnCut = bits, U32, 1132, [4:4] -lua_luaFuelCut = bits, U32, 1132, [5:5] -lua_clutchDownState = bits, U32, 1132, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1132, [7:7] -sd_tCharge = scalar, S16, 1136, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1140, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1144, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1148, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1152, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1156, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1160, "", 1, 0 -hellenBoardId = scalar, S16, 1164, "id", 1, 0 -clutchUpState = scalar, S08, 1166, "", 1, 0 -clutchDownState = scalar, S08, 1167, "", 1, 0 -brakePedalState = scalar, S08, 1168, "", 1, 0 -startStopState = scalar, S08, 1169, "", 1, 0 -smartChipState = scalar, S08, 1170, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1171, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1172, "", 1, 0 -startStopPhysicalState = bits, U32, 1176, [0:0] -acrActive = bits, U32, 1176, [1:1] -acrEngineMovedRecently = bits, U32, 1176, [2:2] -heaterControlEnabled = bits, U32, 1176, [3:3] -luaDigitalState0 = bits, U32, 1176, [4:4] -luaDigitalState1 = bits, U32, 1176, [5:5] -luaDigitalState2 = bits, U32, 1176, [6:6] -luaDigitalState3 = bits, U32, 1176, [7:7] -startStopStateToggleCounter = scalar, U32, 1180, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1184, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1188, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1192, "", 1, 0 -desiredRpmLimit = scalar, S16, 1196, "rpm", 1, 0 -fuelInjectionCounter = scalar, U32, 1200, "", 1, 0 -globalSparkCounter = scalar, U32, 1204, "", 1, 0 -fuelingLoad = scalar, F32, 1208, "", 1, 0 -ignitionLoad = scalar, F32, 1212, "", 1, 0 -veTableYAxis = scalar, U16, 1216, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1218, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1219, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1220, "", 1, 0 -; total TS size = 1224 -tpsFrom = scalar, F32, 1224 -tpsTo = scalar, F32, 1228 -deltaTps = scalar, F32, 1232 -extraFuel = scalar, F32, 1236, "", 1, 0 -valueFromTable = scalar, F32, 1240, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1244, [0:0] -isBelowDecelThreshold = bits, U32, 1244, [1:1] -isTimeToResetAccumulator = bits, U32, 1244, [2:2] -isFractionalEnrichment = bits, U32, 1244, [3:3] -belowEpsilon = bits, U32, 1244, [4:4] -tooShort = bits, U32, 1244, [5:5] -fractionalInjFuel = scalar, F32, 1248, "", 1, 0 -accumulatedValue = scalar, F32, 1252, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1256, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1260, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1264, "", 1, 0 -cycleCnt = scalar, S32, 1268, "", 1, 0 -; total TS size = 1272 -hwEventCounters1 = scalar, U32, 1272, "", 1, 0 -hwEventCounters2 = scalar, U32, 1276, "", 1, 0 -hwEventCounters3 = scalar, U32, 1280, "", 1, 0 -hwEventCounters4 = scalar, U32, 1284, "", 1, 0 -hwEventCounters5 = scalar, U32, 1288, "", 1, 0 -hwEventCounters6 = scalar, U32, 1292, "", 1, 0 -vvtCamCounter = scalar, U32, 1296, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1300, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1304, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1308, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1309, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1312, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1316, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1320, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1324, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1328, [0:0] -triggerElapsedUs = scalar, U32, 1332, "", 1, 0 -; total TS size = 1336 -crankSynchronizationCounter0 = scalar, U32, 1336, "", 1, 0 -vvtSyncGapRatio0 = scalar, F32, 1340, "", 1, 0 -vvtToothDurations00 = scalar, U32, 1344, "us", 1, 0 -vvtCurrentPosition0 = scalar, F32, 1348, "sync: Primary Cam Position", 1, 0 -vvtToothPosition10 = scalar, F32, 1352, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition20 = scalar, F32, 1356, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition30 = scalar, F32, 1360, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition40 = scalar, F32, 1364, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio0 = scalar, F32, 1368, "", 1, 0 -triggerStateIndex0 = scalar, U08, 1372, "", 1, 0 -vvtStateIndex0 = scalar, U08, 1373, "", 1, 0 -; total TS size = 1376 -crankSynchronizationCounter1 = scalar, U32, 1376, "", 1, 0 -vvtSyncGapRatio1 = scalar, F32, 1380, "", 1, 0 -vvtToothDurations01 = scalar, U32, 1384, "us", 1, 0 -vvtCurrentPosition1 = scalar, F32, 1388, "sync: Primary Cam Position", 1, 0 -vvtToothPosition11 = scalar, F32, 1392, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition21 = scalar, F32, 1396, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition31 = scalar, F32, 1400, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition41 = scalar, F32, 1404, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio1 = scalar, F32, 1408, "", 1, 0 -triggerStateIndex1 = scalar, U08, 1412, "", 1, 0 -vvtStateIndex1 = scalar, U08, 1413, "", 1, 0 -; total TS size = 1416 -crankSynchronizationCounter2 = scalar, U32, 1416, "", 1, 0 -vvtSyncGapRatio2 = scalar, F32, 1420, "", 1, 0 -vvtToothDurations02 = scalar, U32, 1424, "us", 1, 0 -vvtCurrentPosition2 = scalar, F32, 1428, "sync: Primary Cam Position", 1, 0 -vvtToothPosition12 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition22 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition32 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition42 = scalar, F32, 1444, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio2 = scalar, F32, 1448, "", 1, 0 -triggerStateIndex2 = scalar, U08, 1452, "", 1, 0 -vvtStateIndex2 = scalar, U08, 1453, "", 1, 0 -; total TS size = 1456 -crankSynchronizationCounter3 = scalar, U32, 1456, "", 1, 0 -vvtSyncGapRatio3 = scalar, F32, 1460, "", 1, 0 -vvtToothDurations03 = scalar, U32, 1464, "us", 1, 0 -vvtCurrentPosition3 = scalar, F32, 1468, "sync: Primary Cam Position", 1, 0 -vvtToothPosition13 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition23 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition33 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition43 = scalar, F32, 1484, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio3 = scalar, F32, 1488, "", 1, 0 -triggerStateIndex3 = scalar, U08, 1492, "", 1, 0 -vvtStateIndex3 = scalar, U08, 1493, "", 1, 0 -; total TS size = 1496 -crankSynchronizationCounter4 = scalar, U32, 1496, "", 1, 0 -vvtSyncGapRatio4 = scalar, F32, 1500, "", 1, 0 -vvtToothDurations04 = scalar, U32, 1504, "us", 1, 0 -vvtCurrentPosition4 = scalar, F32, 1508, "sync: Primary Cam Position", 1, 0 -vvtToothPosition14 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition24 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition34 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition44 = scalar, F32, 1524, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio4 = scalar, F32, 1528, "", 1, 0 -triggerStateIndex4 = scalar, U08, 1532, "", 1, 0 -vvtStateIndex4 = scalar, U08, 1533, "", 1, 0 -; total TS size = 1536 -camResyncCounter = scalar, U08, 1536, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1540, [0:0] -; total TS size = 1544 -wallFuelCorrection = scalar, F32, 1544, "", 1, 0 -wallFuel = scalar, F32, 1548, "", 1, 0 -; total TS size = 1552 -idleState = bits, S32, 1552, [0:2], "not important" -currentIdlePosition = scalar, F32, 1556 -baseIdlePosition = scalar, F32, 1560 -idleClosedLoop = scalar, F32, 1564 -iacByTpsTaper = scalar, F32, 1568 -throttlePedalUpState = scalar, S32, 1572, "", 1, 0 -mightResetPid = bits, U32, 1576, [0:0] -shouldResetPid = bits, U32, 1576, [1:1] -wasResetPid = bits, U32, 1576, [2:2] -mustResetPid = bits, U32, 1576, [3:3] -isCranking = bits, U32, 1576, [4:4] -isIacTableForCoasting = bits, U32, 1576, [5:5] -notIdling = bits, U32, 1576, [6:6] -needReset = bits, U32, 1576, [7:7] -isInDeadZone = bits, U32, 1576, [8:8] -isBlipping = bits, U32, 1576, [9:9] -useClosedLoop = bits, U32, 1576, [10:10] -badTps = bits, U32, 1576, [11:11] -looksLikeRunning = bits, U32, 1576, [12:12] -looksLikeCoasting = bits, U32, 1576, [13:13] -looksLikeCrankToIdle = bits, U32, 1576, [14:14] -isIdleCoasting = bits, U32, 1576, [15:15] -isIdleClosedLoop = bits, U32, 1576, [16:16] -idleTarget = scalar, S32, 1580, "", 1, 0 -targetRpmByClt = scalar, S32, 1584, "", 1, 0 -targetRpmAc = scalar, S32, 1588, "", 1, 0 -iacByRpmTaper = scalar, F32, 1592 -luaAdd = scalar, F32, 1596 -; total TS size = 1600 -targetWithIdlePosition0 = scalar, F32, 1600, "per", 1,0 -trim0 = scalar, F32, 1604, "", 1, 0 -luaAdjustment0 = scalar, F32, 1608, "per", 1,0 -m_wastegatePosition0 = scalar, F32, 1612, "per", 1,0 -etbFeedForward0 = scalar, F32, 1616 -etbIntegralError0 = scalar, F32, 1620, "", 1, 0 -etbCurrentTarget0 = scalar, F32, 1624, "%", 1, 0 -etbCurrentAdjustedTarget0 = scalar, F32, 1628, "%", 1, 0 -etbRevLimitActive0 = bits, U32, 1632, [0:0] -jamDetected0 = bits, U32, 1632, [1:1] -etbTpsErrorCounter0 = scalar, U16, 1636, "count", 1,0 -etbPpsErrorCounter0 = scalar, U16, 1638, "count", 1,0 -etbErrorCode0 = scalar, S08, 1640, "", 1, 0 -tcEtbDrop0 = scalar, S08, 1641, "%", 1, 0 -jamTimer0 = scalar, U16, 1642, "sec", 0.01, 0 -adjustedEtbTarget0 = scalar, S08, 1644, "%", 1, 0 -; total TS size = 1648 -targetWithIdlePosition1 = scalar, F32, 1648, "per", 1,0 -trim1 = scalar, F32, 1652, "", 1, 0 -luaAdjustment1 = scalar, F32, 1656, "per", 1,0 -m_wastegatePosition1 = scalar, F32, 1660, "per", 1,0 -etbFeedForward1 = scalar, F32, 1664 -etbIntegralError1 = scalar, F32, 1668, "", 1, 0 -etbCurrentTarget1 = scalar, F32, 1672, "%", 1, 0 -etbCurrentAdjustedTarget1 = scalar, F32, 1676, "%", 1, 0 -etbRevLimitActive1 = bits, U32, 1680, [0:0] -jamDetected1 = bits, U32, 1680, [1:1] -etbTpsErrorCounter1 = scalar, U16, 1684, "count", 1,0 -etbPpsErrorCounter1 = scalar, U16, 1686, "count", 1,0 -etbErrorCode1 = scalar, S08, 1688, "", 1, 0 -tcEtbDrop1 = scalar, S08, 1689, "%", 1, 0 -jamTimer1 = scalar, U16, 1690, "sec", 0.01, 0 -adjustedEtbTarget1 = scalar, S08, 1692, "%", 1, 0 -; total TS size = 1696 -faultCode0 = scalar, U08, 1696, "", 1, 0 -heaterDuty0 = scalar, U08, 1697, "%", 1, 0 -pumpDuty0 = scalar, U08, 1698, "%", 1, 0 -tempC0 = scalar, U16, 1700, "C", 1, 0 -nernstVoltage0 = scalar, U16, 1702, "V", 0.001, 0 -esr0 = scalar, U16, 1704, "ohm", 1, 0 -; total TS size = 1708 -faultCode1 = scalar, U08, 1708, "", 1, 0 -heaterDuty1 = scalar, U08, 1709, "%", 1, 0 -pumpDuty1 = scalar, U08, 1710, "%", 1, 0 -tempC1 = scalar, U16, 1712, "C", 1, 0 -nernstVoltage1 = scalar, U16, 1714, "V", 0.001, 0 -esr1 = scalar, U16, 1716, "ohm", 1, 0 -; total TS size = 1720 -dcOutput0 = scalar, F32, 1720, "per", 1,0 -isEnabled0_int = scalar, U08, 1724, "per", 1,0 -isEnabled0 = bits, U32, 1728, [0:0] -; total TS size = 1732 -value0 = scalar, U16, 1732, "value", 1,0 -value1 = scalar, U16, 1734, "value", 1,0 -errorRate = scalar, F32, 1736, "ratio", 1,0 -; total TS size = 1740 -vvtTarget = scalar, U16, 1740, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1742, "%", 0.5, 0 -; total TS size = 1744 -lambdaCurrentlyGood = bits, U32, 1744, [0:0] -lambdaMonitorCut = bits, U32, 1744, [1:1] -lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 -; total TS size = 1752 +retardThresholdRpm = scalar, S32, 1120, "", 1, 0 +launchActivatePinState = bits, U32, 1124, [0:0] +isPreLaunchCondition = bits, U32, 1124, [1:1] +isLaunchCondition = bits, U32, 1124, [2:2] +isSwitchActivated = bits, U32, 1124, [3:3] +isClutchActivated = bits, U32, 1124, [4:4] +isBrakePedalActivated = bits, U32, 1124, [5:5] +isValidInputPin = bits, U32, 1124, [6:6] +activateSwitchCondition = bits, U32, 1124, [7:7] +rpmLaunchCondition = bits, U32, 1124, [8:8] +rpmPreLaunchCondition = bits, U32, 1124, [9:9] +speedCondition = bits, U32, 1124, [10:10] +tpsCondition = bits, U32, 1124, [11:11] +; total TS size = 1128 +isTorqueReductionTriggerPinValid = bits, U32, 1128, [0:0] +torqueReductionTriggerPinState = bits, U32, 1128, [1:1] +isTimeConditionSatisfied = bits, U32, 1128, [2:2] +isRpmConditionSatisfied = bits, U32, 1128, [3:3] +isAppConditionSatisfied = bits, U32, 1128, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1128, [5:5] +; total TS size = 1132 +isAntilagCondition = bits, U32, 1132, [0:0] +ALSMinRPMCondition = bits, U32, 1132, [1:1] +ALSMaxRPMCondition = bits, U32, 1132, [2:2] +ALSMinCLTCondition = bits, U32, 1132, [3:3] +ALSMaxCLTCondition = bits, U32, 1132, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1132, [5:5] +isALSSwitchActivated = bits, U32, 1132, [6:6] +ALSActivatePinState = bits, U32, 1132, [7:7] +ALSSwitchCondition = bits, U32, 1132, [8:8] +ALSTimerCondition = bits, U32, 1132, [9:9] +fuelALSCorrection = scalar, F32, 1136, "", 1, 0 +timingALSCorrection = scalar, S16, 1140, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1142, "deg", 0.01, 0 +; total TS size = 1144 +isTpsInvalid = bits, U32, 1144, [0:0] +m_shouldResetPid = bits, U32, 1144, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1144, [2:2] +isNotClosedLoop = bits, U32, 1144, [3:3] +isZeroRpm = bits, U32, 1144, [4:4] +hasInitBoost = bits, U32, 1144, [5:5] +rpmTooLow = bits, U32, 1144, [6:6] +tpsTooLow = bits, U32, 1144, [7:7] +mapTooLow = bits, U32, 1144, [8:8] +isPlantValid = bits, U32, 1144, [9:9] +isBoostControlled = bits, U32, 1144, [10:10] +luaTargetAdd = scalar, S16, 1148, "v", 0.5,0 +boostOutput = scalar, S16, 1150, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1152, "v", 1,0 +openLoopPart = scalar, F32, 1156, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1160, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1164, "%", 0.5,0 +boostControlTarget = scalar, S16, 1166, "kPa", 0.03333333333333333,0 +; total TS size = 1168 +acButtonState = scalar, S08, 1168, "", 1, 0 +m_acEnabled = bits, U32, 1172, [0:0] +engineTooSlow = bits, U32, 1172, [1:1] +engineTooFast = bits, U32, 1172, [2:2] +noClt = bits, U32, 1172, [3:3] +engineTooHot = bits, U32, 1172, [4:4] +tpsTooHigh = bits, U32, 1172, [5:5] +isDisabledByLua = bits, U32, 1172, [6:6] +acCompressorState = bits, U32, 1172, [7:7] +acPressureTooLow = bits, U32, 1172, [8:8] +acPressureTooHigh = bits, U32, 1172, [9:9] +; total TS size = 1176 +cranking0 = bits, U32, 1176, [0:0] +notRunning0 = bits, U32, 1176, [1:1] +disabledWhileEngineStopped0 = bits, U32, 1176, [2:2] +brokenClt0 = bits, U32, 1176, [3:3] +enabledForAc0 = bits, U32, 1176, [4:4] +hot0 = bits, U32, 1176, [5:5] +cold0 = bits, U32, 1176, [6:6] +disabledBySpeed0 = bits, U32, 1176, [7:7] +radiatorFanStatus0 = scalar, U08, 1180, "", 1, 0 +; total TS size = 1184 +cranking1 = bits, U32, 1184, [0:0] +notRunning1 = bits, U32, 1184, [1:1] +disabledWhileEngineStopped1 = bits, U32, 1184, [2:2] +brokenClt1 = bits, U32, 1184, [3:3] +enabledForAc1 = bits, U32, 1184, [4:4] +hot1 = bits, U32, 1184, [5:5] +cold1 = bits, U32, 1184, [6:6] +disabledBySpeed1 = bits, U32, 1184, [7:7] +radiatorFanStatus1 = scalar, U08, 1188, "", 1, 0 +; total TS size = 1192 +isPrime = bits, U32, 1192, [0:0] +engineTurnedRecently = bits, U32, 1192, [1:1] +isFuelPumpOn = bits, U32, 1192, [2:2] +ignitionOn = bits, U32, 1192, [3:3] +; total TS size = 1196 +isBenchTest = bits, U32, 1196, [0:0] +hasIgnitionVoltage = bits, U32, 1196, [1:1] +mainRelayState = bits, U32, 1196, [2:2] +delayedShutoffRequested = bits, U32, 1196, [3:3] +; total TS size = 1200 +lua_fuelAdd = scalar, F32, 1200, "g", 1, 0 +lua_fuelMult = scalar, F32, 1204, "", 1, 0 +lua_clutchUpState = bits, U32, 1208, [0:0] +lua_brakePedalState = bits, U32, 1208, [1:1] +lua_acRequestState = bits, U32, 1208, [2:2] +lua_luaDisableEtb = bits, U32, 1208, [3:3] +lua_luaIgnCut = bits, U32, 1208, [4:4] +lua_luaFuelCut = bits, U32, 1208, [5:5] +lua_clutchDownState = bits, U32, 1208, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1208, [7:7] +sd_tCharge = scalar, S16, 1212, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1216, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1220, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1224, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1228, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1232, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1236, "", 1, 0 +hellenBoardId = scalar, S16, 1240, "id", 1, 0 +clutchUpState = scalar, S08, 1242, "", 1, 0 +clutchDownState = scalar, S08, 1243, "", 1, 0 +brakePedalState = scalar, S08, 1244, "", 1, 0 +startStopState = scalar, S08, 1245, "", 1, 0 +smartChipState = scalar, S08, 1246, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1247, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1248, "", 1, 0 +startStopPhysicalState = bits, U32, 1252, [0:0] +acrActive = bits, U32, 1252, [1:1] +acrEngineMovedRecently = bits, U32, 1252, [2:2] +heaterControlEnabled = bits, U32, 1252, [3:3] +luaDigitalState0 = bits, U32, 1252, [4:4] +luaDigitalState1 = bits, U32, 1252, [5:5] +luaDigitalState2 = bits, U32, 1252, [6:6] +luaDigitalState3 = bits, U32, 1252, [7:7] +startStopStateToggleCounter = scalar, U32, 1256, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1260, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1264, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1268, "", 1, 0 +desiredRpmLimit = scalar, S16, 1272, "rpm", 1, 0 +fuelInjectionCounter = scalar, U32, 1276, "", 1, 0 +globalSparkCounter = scalar, U32, 1280, "", 1, 0 +fuelingLoad = scalar, F32, 1284, "", 1, 0 +ignitionLoad = scalar, F32, 1288, "", 1, 0 +veTableYAxis = scalar, U16, 1292, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1294, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1295, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1296, "", 1, 0 +; total TS size = 1300 +tpsFrom = scalar, F32, 1300 +tpsTo = scalar, F32, 1304 +deltaTps = scalar, F32, 1308 +extraFuel = scalar, F32, 1312, "", 1, 0 +valueFromTable = scalar, F32, 1316, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1320, [0:0] +isBelowDecelThreshold = bits, U32, 1320, [1:1] +isTimeToResetAccumulator = bits, U32, 1320, [2:2] +isFractionalEnrichment = bits, U32, 1320, [3:3] +belowEpsilon = bits, U32, 1320, [4:4] +tooShort = bits, U32, 1320, [5:5] +fractionalInjFuel = scalar, F32, 1324, "", 1, 0 +accumulatedValue = scalar, F32, 1328, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1332, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1336, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1340, "", 1, 0 +cycleCnt = scalar, S32, 1344, "", 1, 0 +; total TS size = 1348 +hwEventCounters1 = scalar, U32, 1348, "", 1, 0 +hwEventCounters2 = scalar, U32, 1352, "", 1, 0 +hwEventCounters3 = scalar, U32, 1356, "", 1, 0 +hwEventCounters4 = scalar, U32, 1360, "", 1, 0 +hwEventCounters5 = scalar, U32, 1364, "", 1, 0 +hwEventCounters6 = scalar, U32, 1368, "", 1, 0 +vvtCamCounter = scalar, U32, 1372, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1376, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1380, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1384, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1385, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1388, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1392, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1396, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1400, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1404, [0:0] +triggerElapsedUs = scalar, U32, 1408, "", 1, 0 +; total TS size = 1412 +crankSynchronizationCounter0 = scalar, U32, 1412, "", 1, 0 +vvtSyncGapRatio0 = scalar, F32, 1416, "", 1, 0 +vvtToothDurations00 = scalar, U32, 1420, "us", 1, 0 +vvtCurrentPosition0 = scalar, F32, 1424, "sync: Primary Cam Position", 1, 0 +vvtToothPosition10 = scalar, F32, 1428, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition20 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition30 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition40 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio0 = scalar, F32, 1444, "", 1, 0 +triggerStateIndex0 = scalar, U08, 1448, "", 1, 0 +vvtStateIndex0 = scalar, U08, 1449, "", 1, 0 +; total TS size = 1452 +crankSynchronizationCounter1 = scalar, U32, 1452, "", 1, 0 +vvtSyncGapRatio1 = scalar, F32, 1456, "", 1, 0 +vvtToothDurations01 = scalar, U32, 1460, "us", 1, 0 +vvtCurrentPosition1 = scalar, F32, 1464, "sync: Primary Cam Position", 1, 0 +vvtToothPosition11 = scalar, F32, 1468, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition21 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition31 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition41 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio1 = scalar, F32, 1484, "", 1, 0 +triggerStateIndex1 = scalar, U08, 1488, "", 1, 0 +vvtStateIndex1 = scalar, U08, 1489, "", 1, 0 +; total TS size = 1492 +crankSynchronizationCounter2 = scalar, U32, 1492, "", 1, 0 +vvtSyncGapRatio2 = scalar, F32, 1496, "", 1, 0 +vvtToothDurations02 = scalar, U32, 1500, "us", 1, 0 +vvtCurrentPosition2 = scalar, F32, 1504, "sync: Primary Cam Position", 1, 0 +vvtToothPosition12 = scalar, F32, 1508, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition22 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition32 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition42 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio2 = scalar, F32, 1524, "", 1, 0 +triggerStateIndex2 = scalar, U08, 1528, "", 1, 0 +vvtStateIndex2 = scalar, U08, 1529, "", 1, 0 +; total TS size = 1532 +crankSynchronizationCounter3 = scalar, U32, 1532, "", 1, 0 +vvtSyncGapRatio3 = scalar, F32, 1536, "", 1, 0 +vvtToothDurations03 = scalar, U32, 1540, "us", 1, 0 +vvtCurrentPosition3 = scalar, F32, 1544, "sync: Primary Cam Position", 1, 0 +vvtToothPosition13 = scalar, F32, 1548, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition23 = scalar, F32, 1552, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition33 = scalar, F32, 1556, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition43 = scalar, F32, 1560, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio3 = scalar, F32, 1564, "", 1, 0 +triggerStateIndex3 = scalar, U08, 1568, "", 1, 0 +vvtStateIndex3 = scalar, U08, 1569, "", 1, 0 +; total TS size = 1572 +crankSynchronizationCounter4 = scalar, U32, 1572, "", 1, 0 +vvtSyncGapRatio4 = scalar, F32, 1576, "", 1, 0 +vvtToothDurations04 = scalar, U32, 1580, "us", 1, 0 +vvtCurrentPosition4 = scalar, F32, 1584, "sync: Primary Cam Position", 1, 0 +vvtToothPosition14 = scalar, F32, 1588, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition24 = scalar, F32, 1592, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition34 = scalar, F32, 1596, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition44 = scalar, F32, 1600, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio4 = scalar, F32, 1604, "", 1, 0 +triggerStateIndex4 = scalar, U08, 1608, "", 1, 0 +vvtStateIndex4 = scalar, U08, 1609, "", 1, 0 +; total TS size = 1612 +camResyncCounter = scalar, U08, 1612, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1616, [0:0] +; total TS size = 1620 +wallFuelCorrection = scalar, F32, 1620, "", 1, 0 +wallFuel = scalar, F32, 1624, "", 1, 0 +; total TS size = 1628 +idleState = bits, S32, 1628, [0:2], "not important" +currentIdlePosition = scalar, F32, 1632 +baseIdlePosition = scalar, F32, 1636 +idleClosedLoop = scalar, F32, 1640 +iacByTpsTaper = scalar, F32, 1644 +throttlePedalUpState = scalar, S32, 1648, "", 1, 0 +mightResetPid = bits, U32, 1652, [0:0] +shouldResetPid = bits, U32, 1652, [1:1] +wasResetPid = bits, U32, 1652, [2:2] +mustResetPid = bits, U32, 1652, [3:3] +isCranking = bits, U32, 1652, [4:4] +isIacTableForCoasting = bits, U32, 1652, [5:5] +notIdling = bits, U32, 1652, [6:6] +needReset = bits, U32, 1652, [7:7] +isInDeadZone = bits, U32, 1652, [8:8] +isBlipping = bits, U32, 1652, [9:9] +useClosedLoop = bits, U32, 1652, [10:10] +badTps = bits, U32, 1652, [11:11] +looksLikeRunning = bits, U32, 1652, [12:12] +looksLikeCoasting = bits, U32, 1652, [13:13] +looksLikeCrankToIdle = bits, U32, 1652, [14:14] +isIdleCoasting = bits, U32, 1652, [15:15] +isIdleClosedLoop = bits, U32, 1652, [16:16] +idleTarget = scalar, S32, 1656, "", 1, 0 +targetRpmByClt = scalar, S32, 1660, "", 1, 0 +targetRpmAc = scalar, S32, 1664, "", 1, 0 +iacByRpmTaper = scalar, F32, 1668 +luaAdd = scalar, F32, 1672 +; total TS size = 1676 +targetWithIdlePosition0 = scalar, F32, 1676, "per", 1,0 +trim0 = scalar, F32, 1680, "", 1, 0 +luaAdjustment0 = scalar, F32, 1684, "per", 1,0 +m_wastegatePosition0 = scalar, F32, 1688, "per", 1,0 +etbFeedForward0 = scalar, F32, 1692 +etbIntegralError0 = scalar, F32, 1696, "", 1, 0 +etbCurrentTarget0 = scalar, F32, 1700, "%", 1, 0 +etbCurrentAdjustedTarget0 = scalar, F32, 1704, "%", 1, 0 +etbRevLimitActive0 = bits, U32, 1708, [0:0] +jamDetected0 = bits, U32, 1708, [1:1] +etbTpsErrorCounter0 = scalar, U16, 1712, "count", 1,0 +etbPpsErrorCounter0 = scalar, U16, 1714, "count", 1,0 +etbErrorCode0 = scalar, S08, 1716, "", 1, 0 +tcEtbDrop0 = scalar, S08, 1717, "%", 1, 0 +jamTimer0 = scalar, U16, 1718, "sec", 0.01, 0 +adjustedEtbTarget0 = scalar, S08, 1720, "%", 1, 0 +; total TS size = 1724 +targetWithIdlePosition1 = scalar, F32, 1724, "per", 1,0 +trim1 = scalar, F32, 1728, "", 1, 0 +luaAdjustment1 = scalar, F32, 1732, "per", 1,0 +m_wastegatePosition1 = scalar, F32, 1736, "per", 1,0 +etbFeedForward1 = scalar, F32, 1740 +etbIntegralError1 = scalar, F32, 1744, "", 1, 0 +etbCurrentTarget1 = scalar, F32, 1748, "%", 1, 0 +etbCurrentAdjustedTarget1 = scalar, F32, 1752, "%", 1, 0 +etbRevLimitActive1 = bits, U32, 1756, [0:0] +jamDetected1 = bits, U32, 1756, [1:1] +etbTpsErrorCounter1 = scalar, U16, 1760, "count", 1,0 +etbPpsErrorCounter1 = scalar, U16, 1762, "count", 1,0 +etbErrorCode1 = scalar, S08, 1764, "", 1, 0 +tcEtbDrop1 = scalar, S08, 1765, "%", 1, 0 +jamTimer1 = scalar, U16, 1766, "sec", 0.01, 0 +adjustedEtbTarget1 = scalar, S08, 1768, "%", 1, 0 +; total TS size = 1772 +faultCode0 = scalar, U08, 1772, "", 1, 0 +heaterDuty0 = scalar, U08, 1773, "%", 1, 0 +pumpDuty0 = scalar, U08, 1774, "%", 1, 0 +tempC0 = scalar, U16, 1776, "C", 1, 0 +nernstVoltage0 = scalar, U16, 1778, "V", 0.001, 0 +esr0 = scalar, U16, 1780, "ohm", 1, 0 +; total TS size = 1784 +faultCode1 = scalar, U08, 1784, "", 1, 0 +heaterDuty1 = scalar, U08, 1785, "%", 1, 0 +pumpDuty1 = scalar, U08, 1786, "%", 1, 0 +tempC1 = scalar, U16, 1788, "C", 1, 0 +nernstVoltage1 = scalar, U16, 1790, "V", 0.001, 0 +esr1 = scalar, U16, 1792, "ohm", 1, 0 +; total TS size = 1796 +dcOutput0 = scalar, F32, 1796, "per", 1,0 +isEnabled0_int = scalar, U08, 1800, "per", 1,0 +isEnabled0 = bits, U32, 1804, [0:0] +; total TS size = 1808 +value0 = scalar, U16, 1808, "value", 1,0 +value1 = scalar, U16, 1810, "value", 1,0 +errorRate = scalar, F32, 1812, "ratio", 1,0 +; total TS size = 1816 +vvtTarget = scalar, U16, 1816, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1818, "%", 0.5, 0 +; total TS size = 1820 +lambdaCurrentlyGood = bits, U32, 1820, [0:0] +lambdaMonitorCut = bits, U32, 1820, [1:1] +lambdaTimeSinceGood = scalar, U16, 1824, "sec", 0.01, 0 +; total TS size = 1828 time = { timeNow } @@ -3613,6 +3645,7 @@ lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs8 requiresPowerCycle = cylinderBore + requiresPowerCycle = knockFrequency readOnly = warning_message readOnly = device_uid1 @@ -5030,6 +5063,26 @@ gaugeCategory = Knock knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knockSpectrumChannelCylGauge = m_knockSpectrumChannelCyl, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStartGauge = m_knockFrequencyStart, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStepGauge = m_knockFrequencyStep, "Knock Frequency Step", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFuelTrimMultiplier = m_knockFuelTrimMultiplier, "Knock Fuel Trim", "mult", 0, 0, 0, 0, 0, 30, 1, 1 + knockSpectrum1 = m_knockSpectrum1, "Knock Spectrum1", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum2 = m_knockSpectrum2, "knockSpectrum2", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum3 = m_knockSpectrum3, "knockSpectrum3", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum4 = m_knockSpectrum4, "knockSpectrum4", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum5 = m_knockSpectrum5, "knockSpectrum5", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum6 = m_knockSpectrum6, "knockSpectrum6", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum7 = m_knockSpectrum7, "knockSpectrum7", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum8 = m_knockSpectrum8, "knockSpectrum8", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum9 = m_knockSpectrum9, "knockSpectrum9", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum10 = m_knockSpectrum10, "knockSpectrum10", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum11 = m_knockSpectrum11, "knockSpectrum11", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum12 = m_knockSpectrum12, "knockSpectrum12", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum13 = m_knockSpectrum13, "knockSpectrum13", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum14 = m_knockSpectrum14, "knockSpectrum14", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum15 = m_knockSpectrum15, "knockSpectrum15", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum16 = m_knockSpectrum16, "knockSpectrum16", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -5628,6 +5681,26 @@ entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" entry = m_knockCount, "Knock: Count", int, "%d" entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_knockFrequency, "knock: frequency", int, "%d" +entry = m_knockSpectrum1, "Knock: SpectrumData 1", int, "%d" +entry = m_knockSpectrum2, "Knock: SpectrumData 2", int, "%d" +entry = m_knockSpectrum3, "Knock: SpectrumData 3", int, "%d" +entry = m_knockSpectrum4, "Knock: SpectrumData 4", int, "%d" +entry = m_knockSpectrum5, "Knock: SpectrumData 5", int, "%d" +entry = m_knockSpectrum6, "Knock: SpectrumData 6", int, "%d" +entry = m_knockSpectrum7, "Knock: SpectrumData 7", int, "%d" +entry = m_knockSpectrum8, "Knock: SpectrumData 8", int, "%d" +entry = m_knockSpectrum9, "Knock: SpectrumData 9", int, "%d" +entry = m_knockSpectrum10, "Knock: SpectrumData 10", int, "%d" +entry = m_knockSpectrum11, "Knock: SpectrumData 11", int, "%d" +entry = m_knockSpectrum12, "Knock: SpectrumData 12", int, "%d" +entry = m_knockSpectrum13, "Knock: SpectrumData 13", int, "%d" +entry = m_knockSpectrum14, "Knock: SpectrumData 14", int, "%d" +entry = m_knockSpectrum15, "Knock: SpectrumData 15", int, "%d" +entry = m_knockSpectrum16, "Knock: SpectrumData 16", int, "%d" +entry = m_knockSpectrumChannelCyl, "Knock: ChannelAndCylNumber", int, "%d" +entry = m_knockFrequencyStart, "Knock: Start Freq", int, "%d" +entry = m_knockFrequencyStep, "Knock: Step Freq", float, "%.3f" +entry = m_knockFuelTrimMultiplier, "Knock: Fuel trim when knock", float, "%.3f" entry = tcuCurrentGear, "TCU: Current Gear", int, "%d" entry = tcRatio, "TCU: Torque Converter Ratio", float, "%.3f" entry = lastShiftTime, "lastShiftTime", float, "%.3f" @@ -6530,6 +6603,31 @@ dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard graphLine = m_knockFrequency + graphLine = m_knockSpectrum1 + graphLine = m_knockSpectrum2 + liveGraph = knock_controller_6_Graph, "Graph", South + graphLine = m_knockSpectrum3 + graphLine = m_knockSpectrum4 + graphLine = m_knockSpectrum5 + graphLine = m_knockSpectrum6 + liveGraph = knock_controller_7_Graph, "Graph", South + graphLine = m_knockSpectrum7 + graphLine = m_knockSpectrum8 + graphLine = m_knockSpectrum9 + graphLine = m_knockSpectrum10 + liveGraph = knock_controller_8_Graph, "Graph", South + graphLine = m_knockSpectrum11 + graphLine = m_knockSpectrum12 + graphLine = m_knockSpectrum13 + graphLine = m_knockSpectrum14 + liveGraph = knock_controller_9_Graph, "Graph", South + graphLine = m_knockSpectrum15 + graphLine = m_knockSpectrum16 + graphLine = m_knockSpectrumChannelCyl + graphLine = m_knockFrequencyStart + liveGraph = knock_controller_10_Graph, "Graph", South + graphLine = m_knockFrequencyStep + graphLine = m_knockFuelTrimMultiplier indicatorPanel = tcu_controllerIndicatorPanel, 2 indicator = {isShifting}, "isShifting No", "isShifting Yes" @@ -8557,9 +8655,13 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockCfg, "Sense" field = "Enable", enableSoftwareKnock field = "Cylinder Bore", cylinderBore, {enableSoftwareKnock} + field = "Estimated Knock Frequency",knockFrequency, {enableSoftwareKnock} field = "Detection mode", knockDetectionUseDoubleFrequency field = "Detection Window Start",knockDetectionWindowStart, {enableSoftwareKnock} field = "Sampling Duration", knockSamplingDuration, {enableSoftwareKnock} + field = "Enable Knock Spectrogram", enableKnockSpectrogram, {enableSoftwareKnock} + field = "Enable Knock Spectrogram Filter", enableKnockSpectrogramFilter, {enableKnockSpectrogram} + field = "Knock Spectrum Sensitivity", knockSpectrumSensitivity, {enableKnockSpectrogram} field = "" field = "Select the nearest sensor for each cylinder" @@ -8579,6 +8681,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockResponseCfg, "Response" field = knockRetardAggression, knockRetardAggression field = knockRetardReapplyRate, knockRetardReapplyRate + field = knockFuelTrimAggression, knockFuelTrimAggression + field = knockFuelTrimReapplyRate, knockFuelTrimReapplyRate + field = knockFuelTrim, knockFuelTrim + field = knockSuppressMinTps, knockSuppressMinTps dialog = softwareKnockLeft, "" panel = softwareKnockCfg diff --git a/firmware/tunerstudio/generated/rusefi_alphax-8chan-revA.ini b/firmware/tunerstudio/generated/rusefi_alphax-8chan-revA.ini index 715ebaf852..897a64032b 100644 --- a/firmware/tunerstudio/generated/rusefi_alphax-8chan-revA.ini +++ b/firmware/tunerstudio/generated/rusefi_alphax-8chan-revA.ini @@ -38,12 +38,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.10.21.alphax-8chan-revA.2078698918" + signature = "rusEFI master.2024.10.21.alphax-8chan-revA.2815309657" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.10.21.alphax-8chan-revA.2078698918" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.10.21.alphax-8chan-revA.2815309657" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -774,6 +774,7 @@ devBit7 = bits, U32, 1492, [27:27], "false", "true" unusedSkipWasHere = bits, U32, 1492, [28:28], "false", "true" invertExhaustCamVVTSignal = bits, U32, 1492, [29:29], "Rising", "Falling" enableKnockSpectrogram = bits, U32, 1492, [30:30], "false", "true" +enableKnockSpectrogramFilter = bits, U32, 1492, [31:31], "false", "true" afterCrankingIACtaperDuration = scalar, S16, 1496, "cycles", 1, 0, 0, 5000, 0 iacByTpsTaper = scalar, S16, 1498, "percent", 1, 0, 0, 500, 0 unusedAuxSeria = bits, U16, 1500, [0:8], $gpio_list @@ -1394,7 +1395,13 @@ auxLinear4_v1 = scalar, F32, 3880, "volts", 1, 0, 0, 10, 2 auxLinear4_value1 = scalar, F32, 3884, "", 1, 0, -100000, 1000000, 2 auxLinear4_v2 = scalar, F32, 3888, "volts", 1, 0, 0, 10, 2 auxLinear4_value2 = scalar, F32, 3892, "", 1, 0, -100000, 1000000, 2 -unusedOftenChangesDuringFirmwareUpdate = array, U08, 3896, [128], "units", 1, 0, 0, 1, 0 +knockSuppressMinTps = scalar, U08, 3896, "%", 1, 0, 0, 100, 1 +knockFuelTrimAggression = scalar, U08, 3897, "%", 0.1, 0, 0, 20, 1 +knockFuelTrimReapplyRate = scalar, U08, 3898, "deg/s", 0.1, 0, 0, 10, 1 +knockFuelTrim = scalar, U08, 3899, "%", 1, 0, 0, 30, 1 +knockSpectrumSensitivity = scalar, F32, 3900, "sense", 1, 0, 0, 1, 2 +knockFrequency = scalar, F32, 3904, "Hz", 1, 0, 0, 20000, 2 +unusedOftenChangesDuringFirmwareUpdate = array, U08, 3908, [116], "units", 1, 0, 0, 1, 0 postCrankingFactor = array, F32, 4024, [6x6], "mult", 1, 0, 1, 3, 2 postCrankingDurationBins = array, F32, 4168, [6], "count", 1, 0, 0, 1000, 0 postCrankingCLTBins = array, S16, 4192, [6], "C", 1, 0, -100, 250, 0 @@ -2453,6 +2460,11 @@ boardUseTachPullUp = bits, U32, 22968, [4:4], "5v", "12v" minAcPressure = "value of A/C pressure in kPa before that compressor is disengaged" maxAcPressure = "value of A/C pressure in kPa after that compressor is disengaged" minimumOilPressureTimeout = "Delay before cutting fuel due to low oil pressure. Use this to ignore short pressure blips and sensor noise." + knockSuppressMinTps = "Below TPS value all knock suppression will be disabled." + knockFuelTrimAggression = "Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump)," + knockFuelTrimReapplyRate = "After a knock event, reapply fuel at this rate." + knockFuelTrim = "Fuel trim when knock, max 30%" + knockFrequency = "Estimated knock frequency, ignore cylinderBore if this one > 0" etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, open loop component of PID closed loop control" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2565,7 +2577,7 @@ boardUseTachPullUp = bits, U32, 22968, [4:4], "5v", "12v" ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1752 + ochBlockSize = 1828 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3106,370 +3118,390 @@ m_knockThreshold = scalar, F32, 960, "", 1, 0 m_knockCount = scalar, U32, 964, "", 1, 0 m_maximumRetard = scalar, F32, 968, "", 1, 0 m_knockFrequency = scalar, U32, 972, "Hz", 1, 0 -; total TS size = 976 -tcuCurrentGear = scalar, S08, 976, "gear", 1, 0 -tcRatio = scalar, U16, 978, "value", 0.01, 0 -lastShiftTime = scalar, F32, 980, "", 1, 0 -tcu_currentRange = scalar, U08, 984, "", 1, 0 -pressureControlDuty = scalar, S08, 985, "%", 1,0 -torqueConverterDuty = scalar, S08, 986, "%", 1,0 -isShifting = bits, U32, 988, [0:0] -; total TS size = 992 -throttleUseWotModel = bits, U32, 992, [0:0] -throttleModelCrossoverAngle = scalar, S16, 996, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1000, "g/s", 1, 0 -; total TS size = 1004 -m_requested_pump = scalar, F32, 1004, "", 1, 0 -fuel_requested_percent = scalar, F32, 1008, "", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1012, "", 1, 0 -noValve = bits, U32, 1016, [0:0] -angleAboveMin = bits, U32, 1016, [1:1] -isHpfpInactive = bits, U32, 1016, [2:2] -m_pressureTarget_kPa = scalar, F32, 1020, "", 1, 0 -nextLobe = scalar, F32, 1024, "", 1, 0 -di_nextStart = scalar, F32, 1028, "v", 1, 0 -; total TS size = 1032 -m_deadtime = scalar, F32, 1032, "ms", 1, 0 -pressureDelta = scalar, F32, 1036, "kPa", 1, 0 -pressureRatio = scalar, F32, 1040, "", 1, 0 -; total TS size = 1044 -retardThresholdRpm = scalar, S32, 1044, "", 1, 0 -launchActivatePinState = bits, U32, 1048, [0:0] -isPreLaunchCondition = bits, U32, 1048, [1:1] -isLaunchCondition = bits, U32, 1048, [2:2] -isSwitchActivated = bits, U32, 1048, [3:3] -isClutchActivated = bits, U32, 1048, [4:4] -isBrakePedalActivated = bits, U32, 1048, [5:5] -isValidInputPin = bits, U32, 1048, [6:6] -activateSwitchCondition = bits, U32, 1048, [7:7] -rpmLaunchCondition = bits, U32, 1048, [8:8] -rpmPreLaunchCondition = bits, U32, 1048, [9:9] -speedCondition = bits, U32, 1048, [10:10] -tpsCondition = bits, U32, 1048, [11:11] +m_knockSpectrum1 = scalar, U32, 976, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 980, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 984, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 988, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1040, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1042, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1044, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1048, "multiplier", 1, 0 ; total TS size = 1052 -isTorqueReductionTriggerPinValid = bits, U32, 1052, [0:0] -torqueReductionTriggerPinState = bits, U32, 1052, [1:1] -isTimeConditionSatisfied = bits, U32, 1052, [2:2] -isRpmConditionSatisfied = bits, U32, 1052, [3:3] -isAppConditionSatisfied = bits, U32, 1052, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1052, [5:5] -; total TS size = 1056 -isAntilagCondition = bits, U32, 1056, [0:0] -ALSMinRPMCondition = bits, U32, 1056, [1:1] -ALSMaxRPMCondition = bits, U32, 1056, [2:2] -ALSMinCLTCondition = bits, U32, 1056, [3:3] -ALSMaxCLTCondition = bits, U32, 1056, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1056, [5:5] -isALSSwitchActivated = bits, U32, 1056, [6:6] -ALSActivatePinState = bits, U32, 1056, [7:7] -ALSSwitchCondition = bits, U32, 1056, [8:8] -ALSTimerCondition = bits, U32, 1056, [9:9] -fuelALSCorrection = scalar, F32, 1060, "", 1, 0 -timingALSCorrection = scalar, S16, 1064, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1066, "deg", 0.01, 0 +tcuCurrentGear = scalar, S08, 1052, "gear", 1, 0 +tcRatio = scalar, U16, 1054, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1056, "", 1, 0 +tcu_currentRange = scalar, U08, 1060, "", 1, 0 +pressureControlDuty = scalar, S08, 1061, "%", 1,0 +torqueConverterDuty = scalar, S08, 1062, "%", 1,0 +isShifting = bits, U32, 1064, [0:0] ; total TS size = 1068 -isTpsInvalid = bits, U32, 1068, [0:0] -m_shouldResetPid = bits, U32, 1068, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1068, [2:2] -isNotClosedLoop = bits, U32, 1068, [3:3] -isZeroRpm = bits, U32, 1068, [4:4] -hasInitBoost = bits, U32, 1068, [5:5] -rpmTooLow = bits, U32, 1068, [6:6] -tpsTooLow = bits, U32, 1068, [7:7] -mapTooLow = bits, U32, 1068, [8:8] -isPlantValid = bits, U32, 1068, [9:9] -isBoostControlled = bits, U32, 1068, [10:10] -luaTargetAdd = scalar, S16, 1072, "v", 0.5,0 -boostOutput = scalar, S16, 1074, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1076, "v", 1,0 -openLoopPart = scalar, F32, 1080, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1084, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1088, "%", 0.5,0 -boostControlTarget = scalar, S16, 1090, "kPa", 0.03333333333333333,0 -; total TS size = 1092 -acButtonState = scalar, S08, 1092, "", 1, 0 -m_acEnabled = bits, U32, 1096, [0:0] -engineTooSlow = bits, U32, 1096, [1:1] -engineTooFast = bits, U32, 1096, [2:2] -noClt = bits, U32, 1096, [3:3] -engineTooHot = bits, U32, 1096, [4:4] -tpsTooHigh = bits, U32, 1096, [5:5] -isDisabledByLua = bits, U32, 1096, [6:6] -acCompressorState = bits, U32, 1096, [7:7] -acPressureTooLow = bits, U32, 1096, [8:8] -acPressureTooHigh = bits, U32, 1096, [9:9] -; total TS size = 1100 -cranking0 = bits, U32, 1100, [0:0] -notRunning0 = bits, U32, 1100, [1:1] -disabledWhileEngineStopped0 = bits, U32, 1100, [2:2] -brokenClt0 = bits, U32, 1100, [3:3] -enabledForAc0 = bits, U32, 1100, [4:4] -hot0 = bits, U32, 1100, [5:5] -cold0 = bits, U32, 1100, [6:6] -disabledBySpeed0 = bits, U32, 1100, [7:7] -radiatorFanStatus0 = scalar, U08, 1104, "", 1, 0 +throttleUseWotModel = bits, U32, 1068, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1072, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1076, "g/s", 1, 0 +; total TS size = 1080 +m_requested_pump = scalar, F32, 1080, "", 1, 0 +fuel_requested_percent = scalar, F32, 1084, "", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1088, "", 1, 0 +noValve = bits, U32, 1092, [0:0] +angleAboveMin = bits, U32, 1092, [1:1] +isHpfpInactive = bits, U32, 1092, [2:2] +m_pressureTarget_kPa = scalar, F32, 1096, "", 1, 0 +nextLobe = scalar, F32, 1100, "", 1, 0 +di_nextStart = scalar, F32, 1104, "v", 1, 0 ; total TS size = 1108 -cranking1 = bits, U32, 1108, [0:0] -notRunning1 = bits, U32, 1108, [1:1] -disabledWhileEngineStopped1 = bits, U32, 1108, [2:2] -brokenClt1 = bits, U32, 1108, [3:3] -enabledForAc1 = bits, U32, 1108, [4:4] -hot1 = bits, U32, 1108, [5:5] -cold1 = bits, U32, 1108, [6:6] -disabledBySpeed1 = bits, U32, 1108, [7:7] -radiatorFanStatus1 = scalar, U08, 1112, "", 1, 0 -; total TS size = 1116 -isPrime = bits, U32, 1116, [0:0] -engineTurnedRecently = bits, U32, 1116, [1:1] -isFuelPumpOn = bits, U32, 1116, [2:2] -ignitionOn = bits, U32, 1116, [3:3] +m_deadtime = scalar, F32, 1108, "ms", 1, 0 +pressureDelta = scalar, F32, 1112, "kPa", 1, 0 +pressureRatio = scalar, F32, 1116, "", 1, 0 ; total TS size = 1120 -isBenchTest = bits, U32, 1120, [0:0] -hasIgnitionVoltage = bits, U32, 1120, [1:1] -mainRelayState = bits, U32, 1120, [2:2] -delayedShutoffRequested = bits, U32, 1120, [3:3] -; total TS size = 1124 -lua_fuelAdd = scalar, F32, 1124, "g", 1, 0 -lua_fuelMult = scalar, F32, 1128, "", 1, 0 -lua_clutchUpState = bits, U32, 1132, [0:0] -lua_brakePedalState = bits, U32, 1132, [1:1] -lua_acRequestState = bits, U32, 1132, [2:2] -lua_luaDisableEtb = bits, U32, 1132, [3:3] -lua_luaIgnCut = bits, U32, 1132, [4:4] -lua_luaFuelCut = bits, U32, 1132, [5:5] -lua_clutchDownState = bits, U32, 1132, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1132, [7:7] -sd_tCharge = scalar, S16, 1136, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1140, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1144, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1148, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1152, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1156, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1160, "", 1, 0 -hellenBoardId = scalar, S16, 1164, "id", 1, 0 -clutchUpState = scalar, S08, 1166, "", 1, 0 -clutchDownState = scalar, S08, 1167, "", 1, 0 -brakePedalState = scalar, S08, 1168, "", 1, 0 -startStopState = scalar, S08, 1169, "", 1, 0 -smartChipState = scalar, S08, 1170, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1171, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1172, "", 1, 0 -startStopPhysicalState = bits, U32, 1176, [0:0] -acrActive = bits, U32, 1176, [1:1] -acrEngineMovedRecently = bits, U32, 1176, [2:2] -heaterControlEnabled = bits, U32, 1176, [3:3] -luaDigitalState0 = bits, U32, 1176, [4:4] -luaDigitalState1 = bits, U32, 1176, [5:5] -luaDigitalState2 = bits, U32, 1176, [6:6] -luaDigitalState3 = bits, U32, 1176, [7:7] -startStopStateToggleCounter = scalar, U32, 1180, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1184, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1188, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1192, "", 1, 0 -desiredRpmLimit = scalar, S16, 1196, "rpm", 1, 0 -fuelInjectionCounter = scalar, U32, 1200, "", 1, 0 -globalSparkCounter = scalar, U32, 1204, "", 1, 0 -fuelingLoad = scalar, F32, 1208, "", 1, 0 -ignitionLoad = scalar, F32, 1212, "", 1, 0 -veTableYAxis = scalar, U16, 1216, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1218, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1219, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1220, "", 1, 0 -; total TS size = 1224 -tpsFrom = scalar, F32, 1224 -tpsTo = scalar, F32, 1228 -deltaTps = scalar, F32, 1232 -extraFuel = scalar, F32, 1236, "", 1, 0 -valueFromTable = scalar, F32, 1240, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1244, [0:0] -isBelowDecelThreshold = bits, U32, 1244, [1:1] -isTimeToResetAccumulator = bits, U32, 1244, [2:2] -isFractionalEnrichment = bits, U32, 1244, [3:3] -belowEpsilon = bits, U32, 1244, [4:4] -tooShort = bits, U32, 1244, [5:5] -fractionalInjFuel = scalar, F32, 1248, "", 1, 0 -accumulatedValue = scalar, F32, 1252, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1256, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1260, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1264, "", 1, 0 -cycleCnt = scalar, S32, 1268, "", 1, 0 -; total TS size = 1272 -hwEventCounters1 = scalar, U32, 1272, "", 1, 0 -hwEventCounters2 = scalar, U32, 1276, "", 1, 0 -hwEventCounters3 = scalar, U32, 1280, "", 1, 0 -hwEventCounters4 = scalar, U32, 1284, "", 1, 0 -hwEventCounters5 = scalar, U32, 1288, "", 1, 0 -hwEventCounters6 = scalar, U32, 1292, "", 1, 0 -vvtCamCounter = scalar, U32, 1296, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1300, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1304, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1308, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1309, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1312, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1316, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1320, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1324, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1328, [0:0] -triggerElapsedUs = scalar, U32, 1332, "", 1, 0 -; total TS size = 1336 -crankSynchronizationCounter0 = scalar, U32, 1336, "", 1, 0 -vvtSyncGapRatio0 = scalar, F32, 1340, "", 1, 0 -vvtToothDurations00 = scalar, U32, 1344, "us", 1, 0 -vvtCurrentPosition0 = scalar, F32, 1348, "sync: Primary Cam Position", 1, 0 -vvtToothPosition10 = scalar, F32, 1352, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition20 = scalar, F32, 1356, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition30 = scalar, F32, 1360, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition40 = scalar, F32, 1364, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio0 = scalar, F32, 1368, "", 1, 0 -triggerStateIndex0 = scalar, U08, 1372, "", 1, 0 -vvtStateIndex0 = scalar, U08, 1373, "", 1, 0 -; total TS size = 1376 -crankSynchronizationCounter1 = scalar, U32, 1376, "", 1, 0 -vvtSyncGapRatio1 = scalar, F32, 1380, "", 1, 0 -vvtToothDurations01 = scalar, U32, 1384, "us", 1, 0 -vvtCurrentPosition1 = scalar, F32, 1388, "sync: Primary Cam Position", 1, 0 -vvtToothPosition11 = scalar, F32, 1392, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition21 = scalar, F32, 1396, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition31 = scalar, F32, 1400, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition41 = scalar, F32, 1404, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio1 = scalar, F32, 1408, "", 1, 0 -triggerStateIndex1 = scalar, U08, 1412, "", 1, 0 -vvtStateIndex1 = scalar, U08, 1413, "", 1, 0 -; total TS size = 1416 -crankSynchronizationCounter2 = scalar, U32, 1416, "", 1, 0 -vvtSyncGapRatio2 = scalar, F32, 1420, "", 1, 0 -vvtToothDurations02 = scalar, U32, 1424, "us", 1, 0 -vvtCurrentPosition2 = scalar, F32, 1428, "sync: Primary Cam Position", 1, 0 -vvtToothPosition12 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition22 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition32 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition42 = scalar, F32, 1444, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio2 = scalar, F32, 1448, "", 1, 0 -triggerStateIndex2 = scalar, U08, 1452, "", 1, 0 -vvtStateIndex2 = scalar, U08, 1453, "", 1, 0 -; total TS size = 1456 -crankSynchronizationCounter3 = scalar, U32, 1456, "", 1, 0 -vvtSyncGapRatio3 = scalar, F32, 1460, "", 1, 0 -vvtToothDurations03 = scalar, U32, 1464, "us", 1, 0 -vvtCurrentPosition3 = scalar, F32, 1468, "sync: Primary Cam Position", 1, 0 -vvtToothPosition13 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition23 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition33 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition43 = scalar, F32, 1484, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio3 = scalar, F32, 1488, "", 1, 0 -triggerStateIndex3 = scalar, U08, 1492, "", 1, 0 -vvtStateIndex3 = scalar, U08, 1493, "", 1, 0 -; total TS size = 1496 -crankSynchronizationCounter4 = scalar, U32, 1496, "", 1, 0 -vvtSyncGapRatio4 = scalar, F32, 1500, "", 1, 0 -vvtToothDurations04 = scalar, U32, 1504, "us", 1, 0 -vvtCurrentPosition4 = scalar, F32, 1508, "sync: Primary Cam Position", 1, 0 -vvtToothPosition14 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition24 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition34 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition44 = scalar, F32, 1524, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio4 = scalar, F32, 1528, "", 1, 0 -triggerStateIndex4 = scalar, U08, 1532, "", 1, 0 -vvtStateIndex4 = scalar, U08, 1533, "", 1, 0 -; total TS size = 1536 -camResyncCounter = scalar, U08, 1536, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1540, [0:0] -; total TS size = 1544 -wallFuelCorrection = scalar, F32, 1544, "", 1, 0 -wallFuel = scalar, F32, 1548, "", 1, 0 -; total TS size = 1552 -idleState = bits, S32, 1552, [0:2], "not important" -currentIdlePosition = scalar, F32, 1556 -baseIdlePosition = scalar, F32, 1560 -idleClosedLoop = scalar, F32, 1564 -iacByTpsTaper = scalar, F32, 1568 -throttlePedalUpState = scalar, S32, 1572, "", 1, 0 -mightResetPid = bits, U32, 1576, [0:0] -shouldResetPid = bits, U32, 1576, [1:1] -wasResetPid = bits, U32, 1576, [2:2] -mustResetPid = bits, U32, 1576, [3:3] -isCranking = bits, U32, 1576, [4:4] -isIacTableForCoasting = bits, U32, 1576, [5:5] -notIdling = bits, U32, 1576, [6:6] -needReset = bits, U32, 1576, [7:7] -isInDeadZone = bits, U32, 1576, [8:8] -isBlipping = bits, U32, 1576, [9:9] -useClosedLoop = bits, U32, 1576, [10:10] -badTps = bits, U32, 1576, [11:11] -looksLikeRunning = bits, U32, 1576, [12:12] -looksLikeCoasting = bits, U32, 1576, [13:13] -looksLikeCrankToIdle = bits, U32, 1576, [14:14] -isIdleCoasting = bits, U32, 1576, [15:15] -isIdleClosedLoop = bits, U32, 1576, [16:16] -idleTarget = scalar, S32, 1580, "", 1, 0 -targetRpmByClt = scalar, S32, 1584, "", 1, 0 -targetRpmAc = scalar, S32, 1588, "", 1, 0 -iacByRpmTaper = scalar, F32, 1592 -luaAdd = scalar, F32, 1596 -; total TS size = 1600 -targetWithIdlePosition0 = scalar, F32, 1600, "per", 1,0 -trim0 = scalar, F32, 1604, "", 1, 0 -luaAdjustment0 = scalar, F32, 1608, "per", 1,0 -m_wastegatePosition0 = scalar, F32, 1612, "per", 1,0 -etbFeedForward0 = scalar, F32, 1616 -etbIntegralError0 = scalar, F32, 1620, "", 1, 0 -etbCurrentTarget0 = scalar, F32, 1624, "%", 1, 0 -etbCurrentAdjustedTarget0 = scalar, F32, 1628, "%", 1, 0 -etbRevLimitActive0 = bits, U32, 1632, [0:0] -jamDetected0 = bits, U32, 1632, [1:1] -etbTpsErrorCounter0 = scalar, U16, 1636, "count", 1,0 -etbPpsErrorCounter0 = scalar, U16, 1638, "count", 1,0 -etbErrorCode0 = scalar, S08, 1640, "", 1, 0 -tcEtbDrop0 = scalar, S08, 1641, "%", 1, 0 -jamTimer0 = scalar, U16, 1642, "sec", 0.01, 0 -adjustedEtbTarget0 = scalar, S08, 1644, "%", 1, 0 -; total TS size = 1648 -targetWithIdlePosition1 = scalar, F32, 1648, "per", 1,0 -trim1 = scalar, F32, 1652, "", 1, 0 -luaAdjustment1 = scalar, F32, 1656, "per", 1,0 -m_wastegatePosition1 = scalar, F32, 1660, "per", 1,0 -etbFeedForward1 = scalar, F32, 1664 -etbIntegralError1 = scalar, F32, 1668, "", 1, 0 -etbCurrentTarget1 = scalar, F32, 1672, "%", 1, 0 -etbCurrentAdjustedTarget1 = scalar, F32, 1676, "%", 1, 0 -etbRevLimitActive1 = bits, U32, 1680, [0:0] -jamDetected1 = bits, U32, 1680, [1:1] -etbTpsErrorCounter1 = scalar, U16, 1684, "count", 1,0 -etbPpsErrorCounter1 = scalar, U16, 1686, "count", 1,0 -etbErrorCode1 = scalar, S08, 1688, "", 1, 0 -tcEtbDrop1 = scalar, S08, 1689, "%", 1, 0 -jamTimer1 = scalar, U16, 1690, "sec", 0.01, 0 -adjustedEtbTarget1 = scalar, S08, 1692, "%", 1, 0 -; total TS size = 1696 -faultCode0 = scalar, U08, 1696, "", 1, 0 -heaterDuty0 = scalar, U08, 1697, "%", 1, 0 -pumpDuty0 = scalar, U08, 1698, "%", 1, 0 -tempC0 = scalar, U16, 1700, "C", 1, 0 -nernstVoltage0 = scalar, U16, 1702, "V", 0.001, 0 -esr0 = scalar, U16, 1704, "ohm", 1, 0 -; total TS size = 1708 -faultCode1 = scalar, U08, 1708, "", 1, 0 -heaterDuty1 = scalar, U08, 1709, "%", 1, 0 -pumpDuty1 = scalar, U08, 1710, "%", 1, 0 -tempC1 = scalar, U16, 1712, "C", 1, 0 -nernstVoltage1 = scalar, U16, 1714, "V", 0.001, 0 -esr1 = scalar, U16, 1716, "ohm", 1, 0 -; total TS size = 1720 -dcOutput0 = scalar, F32, 1720, "per", 1,0 -isEnabled0_int = scalar, U08, 1724, "per", 1,0 -isEnabled0 = bits, U32, 1728, [0:0] -; total TS size = 1732 -value0 = scalar, U16, 1732, "value", 1,0 -value1 = scalar, U16, 1734, "value", 1,0 -errorRate = scalar, F32, 1736, "ratio", 1,0 -; total TS size = 1740 -vvtTarget = scalar, U16, 1740, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1742, "%", 0.5, 0 -; total TS size = 1744 -lambdaCurrentlyGood = bits, U32, 1744, [0:0] -lambdaMonitorCut = bits, U32, 1744, [1:1] -lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 -; total TS size = 1752 +retardThresholdRpm = scalar, S32, 1120, "", 1, 0 +launchActivatePinState = bits, U32, 1124, [0:0] +isPreLaunchCondition = bits, U32, 1124, [1:1] +isLaunchCondition = bits, U32, 1124, [2:2] +isSwitchActivated = bits, U32, 1124, [3:3] +isClutchActivated = bits, U32, 1124, [4:4] +isBrakePedalActivated = bits, U32, 1124, [5:5] +isValidInputPin = bits, U32, 1124, [6:6] +activateSwitchCondition = bits, U32, 1124, [7:7] +rpmLaunchCondition = bits, U32, 1124, [8:8] +rpmPreLaunchCondition = bits, U32, 1124, [9:9] +speedCondition = bits, U32, 1124, [10:10] +tpsCondition = bits, U32, 1124, [11:11] +; total TS size = 1128 +isTorqueReductionTriggerPinValid = bits, U32, 1128, [0:0] +torqueReductionTriggerPinState = bits, U32, 1128, [1:1] +isTimeConditionSatisfied = bits, U32, 1128, [2:2] +isRpmConditionSatisfied = bits, U32, 1128, [3:3] +isAppConditionSatisfied = bits, U32, 1128, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1128, [5:5] +; total TS size = 1132 +isAntilagCondition = bits, U32, 1132, [0:0] +ALSMinRPMCondition = bits, U32, 1132, [1:1] +ALSMaxRPMCondition = bits, U32, 1132, [2:2] +ALSMinCLTCondition = bits, U32, 1132, [3:3] +ALSMaxCLTCondition = bits, U32, 1132, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1132, [5:5] +isALSSwitchActivated = bits, U32, 1132, [6:6] +ALSActivatePinState = bits, U32, 1132, [7:7] +ALSSwitchCondition = bits, U32, 1132, [8:8] +ALSTimerCondition = bits, U32, 1132, [9:9] +fuelALSCorrection = scalar, F32, 1136, "", 1, 0 +timingALSCorrection = scalar, S16, 1140, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1142, "deg", 0.01, 0 +; total TS size = 1144 +isTpsInvalid = bits, U32, 1144, [0:0] +m_shouldResetPid = bits, U32, 1144, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1144, [2:2] +isNotClosedLoop = bits, U32, 1144, [3:3] +isZeroRpm = bits, U32, 1144, [4:4] +hasInitBoost = bits, U32, 1144, [5:5] +rpmTooLow = bits, U32, 1144, [6:6] +tpsTooLow = bits, U32, 1144, [7:7] +mapTooLow = bits, U32, 1144, [8:8] +isPlantValid = bits, U32, 1144, [9:9] +isBoostControlled = bits, U32, 1144, [10:10] +luaTargetAdd = scalar, S16, 1148, "v", 0.5,0 +boostOutput = scalar, S16, 1150, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1152, "v", 1,0 +openLoopPart = scalar, F32, 1156, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1160, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1164, "%", 0.5,0 +boostControlTarget = scalar, S16, 1166, "kPa", 0.03333333333333333,0 +; total TS size = 1168 +acButtonState = scalar, S08, 1168, "", 1, 0 +m_acEnabled = bits, U32, 1172, [0:0] +engineTooSlow = bits, U32, 1172, [1:1] +engineTooFast = bits, U32, 1172, [2:2] +noClt = bits, U32, 1172, [3:3] +engineTooHot = bits, U32, 1172, [4:4] +tpsTooHigh = bits, U32, 1172, [5:5] +isDisabledByLua = bits, U32, 1172, [6:6] +acCompressorState = bits, U32, 1172, [7:7] +acPressureTooLow = bits, U32, 1172, [8:8] +acPressureTooHigh = bits, U32, 1172, [9:9] +; total TS size = 1176 +cranking0 = bits, U32, 1176, [0:0] +notRunning0 = bits, U32, 1176, [1:1] +disabledWhileEngineStopped0 = bits, U32, 1176, [2:2] +brokenClt0 = bits, U32, 1176, [3:3] +enabledForAc0 = bits, U32, 1176, [4:4] +hot0 = bits, U32, 1176, [5:5] +cold0 = bits, U32, 1176, [6:6] +disabledBySpeed0 = bits, U32, 1176, [7:7] +radiatorFanStatus0 = scalar, U08, 1180, "", 1, 0 +; total TS size = 1184 +cranking1 = bits, U32, 1184, [0:0] +notRunning1 = bits, U32, 1184, [1:1] +disabledWhileEngineStopped1 = bits, U32, 1184, [2:2] +brokenClt1 = bits, U32, 1184, [3:3] +enabledForAc1 = bits, U32, 1184, [4:4] +hot1 = bits, U32, 1184, [5:5] +cold1 = bits, U32, 1184, [6:6] +disabledBySpeed1 = bits, U32, 1184, [7:7] +radiatorFanStatus1 = scalar, U08, 1188, "", 1, 0 +; total TS size = 1192 +isPrime = bits, U32, 1192, [0:0] +engineTurnedRecently = bits, U32, 1192, [1:1] +isFuelPumpOn = bits, U32, 1192, [2:2] +ignitionOn = bits, U32, 1192, [3:3] +; total TS size = 1196 +isBenchTest = bits, U32, 1196, [0:0] +hasIgnitionVoltage = bits, U32, 1196, [1:1] +mainRelayState = bits, U32, 1196, [2:2] +delayedShutoffRequested = bits, U32, 1196, [3:3] +; total TS size = 1200 +lua_fuelAdd = scalar, F32, 1200, "g", 1, 0 +lua_fuelMult = scalar, F32, 1204, "", 1, 0 +lua_clutchUpState = bits, U32, 1208, [0:0] +lua_brakePedalState = bits, U32, 1208, [1:1] +lua_acRequestState = bits, U32, 1208, [2:2] +lua_luaDisableEtb = bits, U32, 1208, [3:3] +lua_luaIgnCut = bits, U32, 1208, [4:4] +lua_luaFuelCut = bits, U32, 1208, [5:5] +lua_clutchDownState = bits, U32, 1208, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1208, [7:7] +sd_tCharge = scalar, S16, 1212, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1216, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1220, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1224, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1228, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1232, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1236, "", 1, 0 +hellenBoardId = scalar, S16, 1240, "id", 1, 0 +clutchUpState = scalar, S08, 1242, "", 1, 0 +clutchDownState = scalar, S08, 1243, "", 1, 0 +brakePedalState = scalar, S08, 1244, "", 1, 0 +startStopState = scalar, S08, 1245, "", 1, 0 +smartChipState = scalar, S08, 1246, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1247, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1248, "", 1, 0 +startStopPhysicalState = bits, U32, 1252, [0:0] +acrActive = bits, U32, 1252, [1:1] +acrEngineMovedRecently = bits, U32, 1252, [2:2] +heaterControlEnabled = bits, U32, 1252, [3:3] +luaDigitalState0 = bits, U32, 1252, [4:4] +luaDigitalState1 = bits, U32, 1252, [5:5] +luaDigitalState2 = bits, U32, 1252, [6:6] +luaDigitalState3 = bits, U32, 1252, [7:7] +startStopStateToggleCounter = scalar, U32, 1256, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1260, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1264, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1268, "", 1, 0 +desiredRpmLimit = scalar, S16, 1272, "rpm", 1, 0 +fuelInjectionCounter = scalar, U32, 1276, "", 1, 0 +globalSparkCounter = scalar, U32, 1280, "", 1, 0 +fuelingLoad = scalar, F32, 1284, "", 1, 0 +ignitionLoad = scalar, F32, 1288, "", 1, 0 +veTableYAxis = scalar, U16, 1292, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1294, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1295, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1296, "", 1, 0 +; total TS size = 1300 +tpsFrom = scalar, F32, 1300 +tpsTo = scalar, F32, 1304 +deltaTps = scalar, F32, 1308 +extraFuel = scalar, F32, 1312, "", 1, 0 +valueFromTable = scalar, F32, 1316, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1320, [0:0] +isBelowDecelThreshold = bits, U32, 1320, [1:1] +isTimeToResetAccumulator = bits, U32, 1320, [2:2] +isFractionalEnrichment = bits, U32, 1320, [3:3] +belowEpsilon = bits, U32, 1320, [4:4] +tooShort = bits, U32, 1320, [5:5] +fractionalInjFuel = scalar, F32, 1324, "", 1, 0 +accumulatedValue = scalar, F32, 1328, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1332, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1336, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1340, "", 1, 0 +cycleCnt = scalar, S32, 1344, "", 1, 0 +; total TS size = 1348 +hwEventCounters1 = scalar, U32, 1348, "", 1, 0 +hwEventCounters2 = scalar, U32, 1352, "", 1, 0 +hwEventCounters3 = scalar, U32, 1356, "", 1, 0 +hwEventCounters4 = scalar, U32, 1360, "", 1, 0 +hwEventCounters5 = scalar, U32, 1364, "", 1, 0 +hwEventCounters6 = scalar, U32, 1368, "", 1, 0 +vvtCamCounter = scalar, U32, 1372, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1376, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1380, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1384, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1385, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1388, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1392, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1396, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1400, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1404, [0:0] +triggerElapsedUs = scalar, U32, 1408, "", 1, 0 +; total TS size = 1412 +crankSynchronizationCounter0 = scalar, U32, 1412, "", 1, 0 +vvtSyncGapRatio0 = scalar, F32, 1416, "", 1, 0 +vvtToothDurations00 = scalar, U32, 1420, "us", 1, 0 +vvtCurrentPosition0 = scalar, F32, 1424, "sync: Primary Cam Position", 1, 0 +vvtToothPosition10 = scalar, F32, 1428, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition20 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition30 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition40 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio0 = scalar, F32, 1444, "", 1, 0 +triggerStateIndex0 = scalar, U08, 1448, "", 1, 0 +vvtStateIndex0 = scalar, U08, 1449, "", 1, 0 +; total TS size = 1452 +crankSynchronizationCounter1 = scalar, U32, 1452, "", 1, 0 +vvtSyncGapRatio1 = scalar, F32, 1456, "", 1, 0 +vvtToothDurations01 = scalar, U32, 1460, "us", 1, 0 +vvtCurrentPosition1 = scalar, F32, 1464, "sync: Primary Cam Position", 1, 0 +vvtToothPosition11 = scalar, F32, 1468, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition21 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition31 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition41 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio1 = scalar, F32, 1484, "", 1, 0 +triggerStateIndex1 = scalar, U08, 1488, "", 1, 0 +vvtStateIndex1 = scalar, U08, 1489, "", 1, 0 +; total TS size = 1492 +crankSynchronizationCounter2 = scalar, U32, 1492, "", 1, 0 +vvtSyncGapRatio2 = scalar, F32, 1496, "", 1, 0 +vvtToothDurations02 = scalar, U32, 1500, "us", 1, 0 +vvtCurrentPosition2 = scalar, F32, 1504, "sync: Primary Cam Position", 1, 0 +vvtToothPosition12 = scalar, F32, 1508, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition22 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition32 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition42 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio2 = scalar, F32, 1524, "", 1, 0 +triggerStateIndex2 = scalar, U08, 1528, "", 1, 0 +vvtStateIndex2 = scalar, U08, 1529, "", 1, 0 +; total TS size = 1532 +crankSynchronizationCounter3 = scalar, U32, 1532, "", 1, 0 +vvtSyncGapRatio3 = scalar, F32, 1536, "", 1, 0 +vvtToothDurations03 = scalar, U32, 1540, "us", 1, 0 +vvtCurrentPosition3 = scalar, F32, 1544, "sync: Primary Cam Position", 1, 0 +vvtToothPosition13 = scalar, F32, 1548, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition23 = scalar, F32, 1552, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition33 = scalar, F32, 1556, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition43 = scalar, F32, 1560, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio3 = scalar, F32, 1564, "", 1, 0 +triggerStateIndex3 = scalar, U08, 1568, "", 1, 0 +vvtStateIndex3 = scalar, U08, 1569, "", 1, 0 +; total TS size = 1572 +crankSynchronizationCounter4 = scalar, U32, 1572, "", 1, 0 +vvtSyncGapRatio4 = scalar, F32, 1576, "", 1, 0 +vvtToothDurations04 = scalar, U32, 1580, "us", 1, 0 +vvtCurrentPosition4 = scalar, F32, 1584, "sync: Primary Cam Position", 1, 0 +vvtToothPosition14 = scalar, F32, 1588, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition24 = scalar, F32, 1592, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition34 = scalar, F32, 1596, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition44 = scalar, F32, 1600, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio4 = scalar, F32, 1604, "", 1, 0 +triggerStateIndex4 = scalar, U08, 1608, "", 1, 0 +vvtStateIndex4 = scalar, U08, 1609, "", 1, 0 +; total TS size = 1612 +camResyncCounter = scalar, U08, 1612, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1616, [0:0] +; total TS size = 1620 +wallFuelCorrection = scalar, F32, 1620, "", 1, 0 +wallFuel = scalar, F32, 1624, "", 1, 0 +; total TS size = 1628 +idleState = bits, S32, 1628, [0:2], "not important" +currentIdlePosition = scalar, F32, 1632 +baseIdlePosition = scalar, F32, 1636 +idleClosedLoop = scalar, F32, 1640 +iacByTpsTaper = scalar, F32, 1644 +throttlePedalUpState = scalar, S32, 1648, "", 1, 0 +mightResetPid = bits, U32, 1652, [0:0] +shouldResetPid = bits, U32, 1652, [1:1] +wasResetPid = bits, U32, 1652, [2:2] +mustResetPid = bits, U32, 1652, [3:3] +isCranking = bits, U32, 1652, [4:4] +isIacTableForCoasting = bits, U32, 1652, [5:5] +notIdling = bits, U32, 1652, [6:6] +needReset = bits, U32, 1652, [7:7] +isInDeadZone = bits, U32, 1652, [8:8] +isBlipping = bits, U32, 1652, [9:9] +useClosedLoop = bits, U32, 1652, [10:10] +badTps = bits, U32, 1652, [11:11] +looksLikeRunning = bits, U32, 1652, [12:12] +looksLikeCoasting = bits, U32, 1652, [13:13] +looksLikeCrankToIdle = bits, U32, 1652, [14:14] +isIdleCoasting = bits, U32, 1652, [15:15] +isIdleClosedLoop = bits, U32, 1652, [16:16] +idleTarget = scalar, S32, 1656, "", 1, 0 +targetRpmByClt = scalar, S32, 1660, "", 1, 0 +targetRpmAc = scalar, S32, 1664, "", 1, 0 +iacByRpmTaper = scalar, F32, 1668 +luaAdd = scalar, F32, 1672 +; total TS size = 1676 +targetWithIdlePosition0 = scalar, F32, 1676, "per", 1,0 +trim0 = scalar, F32, 1680, "", 1, 0 +luaAdjustment0 = scalar, F32, 1684, "per", 1,0 +m_wastegatePosition0 = scalar, F32, 1688, "per", 1,0 +etbFeedForward0 = scalar, F32, 1692 +etbIntegralError0 = scalar, F32, 1696, "", 1, 0 +etbCurrentTarget0 = scalar, F32, 1700, "%", 1, 0 +etbCurrentAdjustedTarget0 = scalar, F32, 1704, "%", 1, 0 +etbRevLimitActive0 = bits, U32, 1708, [0:0] +jamDetected0 = bits, U32, 1708, [1:1] +etbTpsErrorCounter0 = scalar, U16, 1712, "count", 1,0 +etbPpsErrorCounter0 = scalar, U16, 1714, "count", 1,0 +etbErrorCode0 = scalar, S08, 1716, "", 1, 0 +tcEtbDrop0 = scalar, S08, 1717, "%", 1, 0 +jamTimer0 = scalar, U16, 1718, "sec", 0.01, 0 +adjustedEtbTarget0 = scalar, S08, 1720, "%", 1, 0 +; total TS size = 1724 +targetWithIdlePosition1 = scalar, F32, 1724, "per", 1,0 +trim1 = scalar, F32, 1728, "", 1, 0 +luaAdjustment1 = scalar, F32, 1732, "per", 1,0 +m_wastegatePosition1 = scalar, F32, 1736, "per", 1,0 +etbFeedForward1 = scalar, F32, 1740 +etbIntegralError1 = scalar, F32, 1744, "", 1, 0 +etbCurrentTarget1 = scalar, F32, 1748, "%", 1, 0 +etbCurrentAdjustedTarget1 = scalar, F32, 1752, "%", 1, 0 +etbRevLimitActive1 = bits, U32, 1756, [0:0] +jamDetected1 = bits, U32, 1756, [1:1] +etbTpsErrorCounter1 = scalar, U16, 1760, "count", 1,0 +etbPpsErrorCounter1 = scalar, U16, 1762, "count", 1,0 +etbErrorCode1 = scalar, S08, 1764, "", 1, 0 +tcEtbDrop1 = scalar, S08, 1765, "%", 1, 0 +jamTimer1 = scalar, U16, 1766, "sec", 0.01, 0 +adjustedEtbTarget1 = scalar, S08, 1768, "%", 1, 0 +; total TS size = 1772 +faultCode0 = scalar, U08, 1772, "", 1, 0 +heaterDuty0 = scalar, U08, 1773, "%", 1, 0 +pumpDuty0 = scalar, U08, 1774, "%", 1, 0 +tempC0 = scalar, U16, 1776, "C", 1, 0 +nernstVoltage0 = scalar, U16, 1778, "V", 0.001, 0 +esr0 = scalar, U16, 1780, "ohm", 1, 0 +; total TS size = 1784 +faultCode1 = scalar, U08, 1784, "", 1, 0 +heaterDuty1 = scalar, U08, 1785, "%", 1, 0 +pumpDuty1 = scalar, U08, 1786, "%", 1, 0 +tempC1 = scalar, U16, 1788, "C", 1, 0 +nernstVoltage1 = scalar, U16, 1790, "V", 0.001, 0 +esr1 = scalar, U16, 1792, "ohm", 1, 0 +; total TS size = 1796 +dcOutput0 = scalar, F32, 1796, "per", 1,0 +isEnabled0_int = scalar, U08, 1800, "per", 1,0 +isEnabled0 = bits, U32, 1804, [0:0] +; total TS size = 1808 +value0 = scalar, U16, 1808, "value", 1,0 +value1 = scalar, U16, 1810, "value", 1,0 +errorRate = scalar, F32, 1812, "ratio", 1,0 +; total TS size = 1816 +vvtTarget = scalar, U16, 1816, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1818, "%", 0.5, 0 +; total TS size = 1820 +lambdaCurrentlyGood = bits, U32, 1820, [0:0] +lambdaMonitorCut = bits, U32, 1820, [1:1] +lambdaTimeSinceGood = scalar, U16, 1824, "sec", 0.01, 0 +; total TS size = 1828 time = { timeNow } @@ -3621,6 +3653,7 @@ lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs8 requiresPowerCycle = cylinderBore + requiresPowerCycle = knockFrequency readOnly = warning_message readOnly = device_uid1 @@ -5038,6 +5071,26 @@ gaugeCategory = Knock knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knockSpectrumChannelCylGauge = m_knockSpectrumChannelCyl, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStartGauge = m_knockFrequencyStart, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStepGauge = m_knockFrequencyStep, "Knock Frequency Step", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFuelTrimMultiplier = m_knockFuelTrimMultiplier, "Knock Fuel Trim", "mult", 0, 0, 0, 0, 0, 30, 1, 1 + knockSpectrum1 = m_knockSpectrum1, "Knock Spectrum1", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum2 = m_knockSpectrum2, "knockSpectrum2", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum3 = m_knockSpectrum3, "knockSpectrum3", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum4 = m_knockSpectrum4, "knockSpectrum4", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum5 = m_knockSpectrum5, "knockSpectrum5", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum6 = m_knockSpectrum6, "knockSpectrum6", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum7 = m_knockSpectrum7, "knockSpectrum7", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum8 = m_knockSpectrum8, "knockSpectrum8", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum9 = m_knockSpectrum9, "knockSpectrum9", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum10 = m_knockSpectrum10, "knockSpectrum10", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum11 = m_knockSpectrum11, "knockSpectrum11", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum12 = m_knockSpectrum12, "knockSpectrum12", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum13 = m_knockSpectrum13, "knockSpectrum13", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum14 = m_knockSpectrum14, "knockSpectrum14", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum15 = m_knockSpectrum15, "knockSpectrum15", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum16 = m_knockSpectrum16, "knockSpectrum16", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -5636,6 +5689,26 @@ entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" entry = m_knockCount, "Knock: Count", int, "%d" entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_knockFrequency, "knock: frequency", int, "%d" +entry = m_knockSpectrum1, "Knock: SpectrumData 1", int, "%d" +entry = m_knockSpectrum2, "Knock: SpectrumData 2", int, "%d" +entry = m_knockSpectrum3, "Knock: SpectrumData 3", int, "%d" +entry = m_knockSpectrum4, "Knock: SpectrumData 4", int, "%d" +entry = m_knockSpectrum5, "Knock: SpectrumData 5", int, "%d" +entry = m_knockSpectrum6, "Knock: SpectrumData 6", int, "%d" +entry = m_knockSpectrum7, "Knock: SpectrumData 7", int, "%d" +entry = m_knockSpectrum8, "Knock: SpectrumData 8", int, "%d" +entry = m_knockSpectrum9, "Knock: SpectrumData 9", int, "%d" +entry = m_knockSpectrum10, "Knock: SpectrumData 10", int, "%d" +entry = m_knockSpectrum11, "Knock: SpectrumData 11", int, "%d" +entry = m_knockSpectrum12, "Knock: SpectrumData 12", int, "%d" +entry = m_knockSpectrum13, "Knock: SpectrumData 13", int, "%d" +entry = m_knockSpectrum14, "Knock: SpectrumData 14", int, "%d" +entry = m_knockSpectrum15, "Knock: SpectrumData 15", int, "%d" +entry = m_knockSpectrum16, "Knock: SpectrumData 16", int, "%d" +entry = m_knockSpectrumChannelCyl, "Knock: ChannelAndCylNumber", int, "%d" +entry = m_knockFrequencyStart, "Knock: Start Freq", int, "%d" +entry = m_knockFrequencyStep, "Knock: Step Freq", float, "%.3f" +entry = m_knockFuelTrimMultiplier, "Knock: Fuel trim when knock", float, "%.3f" entry = tcuCurrentGear, "TCU: Current Gear", int, "%d" entry = tcRatio, "TCU: Torque Converter Ratio", float, "%.3f" entry = lastShiftTime, "lastShiftTime", float, "%.3f" @@ -6532,6 +6605,31 @@ dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard graphLine = m_knockFrequency + graphLine = m_knockSpectrum1 + graphLine = m_knockSpectrum2 + liveGraph = knock_controller_6_Graph, "Graph", South + graphLine = m_knockSpectrum3 + graphLine = m_knockSpectrum4 + graphLine = m_knockSpectrum5 + graphLine = m_knockSpectrum6 + liveGraph = knock_controller_7_Graph, "Graph", South + graphLine = m_knockSpectrum7 + graphLine = m_knockSpectrum8 + graphLine = m_knockSpectrum9 + graphLine = m_knockSpectrum10 + liveGraph = knock_controller_8_Graph, "Graph", South + graphLine = m_knockSpectrum11 + graphLine = m_knockSpectrum12 + graphLine = m_knockSpectrum13 + graphLine = m_knockSpectrum14 + liveGraph = knock_controller_9_Graph, "Graph", South + graphLine = m_knockSpectrum15 + graphLine = m_knockSpectrum16 + graphLine = m_knockSpectrumChannelCyl + graphLine = m_knockFrequencyStart + liveGraph = knock_controller_10_Graph, "Graph", South + graphLine = m_knockFrequencyStep + graphLine = m_knockFuelTrimMultiplier indicatorPanel = tcu_controllerIndicatorPanel, 2 indicator = {isShifting}, "isShifting No", "isShifting Yes" @@ -8565,9 +8663,13 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockCfg, "Sense" field = "Enable", enableSoftwareKnock field = "Cylinder Bore", cylinderBore, {enableSoftwareKnock} + field = "Estimated Knock Frequency",knockFrequency, {enableSoftwareKnock} field = "Detection mode", knockDetectionUseDoubleFrequency field = "Detection Window Start",knockDetectionWindowStart, {enableSoftwareKnock} field = "Sampling Duration", knockSamplingDuration, {enableSoftwareKnock} + field = "Enable Knock Spectrogram", enableKnockSpectrogram, {enableSoftwareKnock} + field = "Enable Knock Spectrogram Filter", enableKnockSpectrogramFilter, {enableKnockSpectrogram} + field = "Knock Spectrum Sensitivity", knockSpectrumSensitivity, {enableKnockSpectrogram} field = "" field = "Select the nearest sensor for each cylinder" @@ -8587,6 +8689,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockResponseCfg, "Response" field = knockRetardAggression, knockRetardAggression field = knockRetardReapplyRate, knockRetardReapplyRate + field = knockFuelTrimAggression, knockFuelTrimAggression + field = knockFuelTrimReapplyRate, knockFuelTrimReapplyRate + field = knockFuelTrim, knockFuelTrim + field = knockSuppressMinTps, knockSuppressMinTps dialog = softwareKnockLeft, "" panel = softwareKnockCfg diff --git a/firmware/tunerstudio/generated/rusefi_alphax-8chan.ini b/firmware/tunerstudio/generated/rusefi_alphax-8chan.ini index 22356dfc66..e2dd13aa1c 100644 --- a/firmware/tunerstudio/generated/rusefi_alphax-8chan.ini +++ b/firmware/tunerstudio/generated/rusefi_alphax-8chan.ini @@ -38,12 +38,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.10.21.alphax-8chan.1545637850" + signature = "rusEFI master.2024.10.21.alphax-8chan.2148062501" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.10.21.alphax-8chan.1545637850" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.10.21.alphax-8chan.2148062501" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -777,6 +777,7 @@ devBit7 = bits, U32, 1508, [27:27], "false", "true" unusedSkipWasHere = bits, U32, 1508, [28:28], "false", "true" invertExhaustCamVVTSignal = bits, U32, 1508, [29:29], "Rising", "Falling" enableKnockSpectrogram = bits, U32, 1508, [30:30], "false", "true" +enableKnockSpectrogramFilter = bits, U32, 1508, [31:31], "false", "true" afterCrankingIACtaperDuration = scalar, S16, 1512, "cycles", 1, 0, 0, 5000, 0 iacByTpsTaper = scalar, S16, 1514, "percent", 1, 0, 0, 500, 0 unusedAuxSeria = bits, U16, 1516, [0:8], $gpio_list @@ -1397,7 +1398,13 @@ auxLinear4_v1 = scalar, F32, 3896, "volts", 1, 0, 0, 10, 2 auxLinear4_value1 = scalar, F32, 3900, "", 1, 0, -100000, 1000000, 2 auxLinear4_v2 = scalar, F32, 3904, "volts", 1, 0, 0, 10, 2 auxLinear4_value2 = scalar, F32, 3908, "", 1, 0, -100000, 1000000, 2 -unusedOftenChangesDuringFirmwareUpdate = array, U08, 3912, [128], "units", 1, 0, 0, 1, 0 +knockSuppressMinTps = scalar, U08, 3912, "%", 1, 0, 0, 100, 1 +knockFuelTrimAggression = scalar, U08, 3913, "%", 0.1, 0, 0, 20, 1 +knockFuelTrimReapplyRate = scalar, U08, 3914, "deg/s", 0.1, 0, 0, 10, 1 +knockFuelTrim = scalar, U08, 3915, "%", 1, 0, 0, 30, 1 +knockSpectrumSensitivity = scalar, F32, 3916, "sense", 1, 0, 0, 1, 2 +knockFrequency = scalar, F32, 3920, "Hz", 1, 0, 0, 20000, 2 +unusedOftenChangesDuringFirmwareUpdate = array, U08, 3924, [116], "units", 1, 0, 0, 1, 0 postCrankingFactor = array, F32, 4040, [6x6], "mult", 1, 0, 1, 3, 2 postCrankingDurationBins = array, F32, 4184, [6], "count", 1, 0, 0, 1000, 0 postCrankingCLTBins = array, S16, 4208, [6], "C", 1, 0, -100, 250, 0 @@ -2462,6 +2469,11 @@ boardUseFlexPullDown = bits, U32, 22984, [10:10], "With Pull Up", "With Pull Dow minAcPressure = "value of A/C pressure in kPa before that compressor is disengaged" maxAcPressure = "value of A/C pressure in kPa after that compressor is disengaged" minimumOilPressureTimeout = "Delay before cutting fuel due to low oil pressure. Use this to ignore short pressure blips and sensor noise." + knockSuppressMinTps = "Below TPS value all knock suppression will be disabled." + knockFuelTrimAggression = "Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump)," + knockFuelTrimReapplyRate = "After a knock event, reapply fuel at this rate." + knockFuelTrim = "Fuel trim when knock, max 30%" + knockFrequency = "Estimated knock frequency, ignore cylinderBore if this one > 0" etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, open loop component of PID closed loop control" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2574,7 +2586,7 @@ boardUseFlexPullDown = bits, U32, 22984, [10:10], "With Pull Up", "With Pull Dow ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1752 + ochBlockSize = 1828 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3115,370 +3127,390 @@ m_knockThreshold = scalar, F32, 960, "", 1, 0 m_knockCount = scalar, U32, 964, "", 1, 0 m_maximumRetard = scalar, F32, 968, "", 1, 0 m_knockFrequency = scalar, U32, 972, "Hz", 1, 0 -; total TS size = 976 -tcuCurrentGear = scalar, S08, 976, "gear", 1, 0 -tcRatio = scalar, U16, 978, "value", 0.01, 0 -lastShiftTime = scalar, F32, 980, "", 1, 0 -tcu_currentRange = scalar, U08, 984, "", 1, 0 -pressureControlDuty = scalar, S08, 985, "%", 1,0 -torqueConverterDuty = scalar, S08, 986, "%", 1,0 -isShifting = bits, U32, 988, [0:0] -; total TS size = 992 -throttleUseWotModel = bits, U32, 992, [0:0] -throttleModelCrossoverAngle = scalar, S16, 996, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1000, "g/s", 1, 0 -; total TS size = 1004 -m_requested_pump = scalar, F32, 1004, "", 1, 0 -fuel_requested_percent = scalar, F32, 1008, "", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1012, "", 1, 0 -noValve = bits, U32, 1016, [0:0] -angleAboveMin = bits, U32, 1016, [1:1] -isHpfpInactive = bits, U32, 1016, [2:2] -m_pressureTarget_kPa = scalar, F32, 1020, "", 1, 0 -nextLobe = scalar, F32, 1024, "", 1, 0 -di_nextStart = scalar, F32, 1028, "v", 1, 0 -; total TS size = 1032 -m_deadtime = scalar, F32, 1032, "ms", 1, 0 -pressureDelta = scalar, F32, 1036, "kPa", 1, 0 -pressureRatio = scalar, F32, 1040, "", 1, 0 -; total TS size = 1044 -retardThresholdRpm = scalar, S32, 1044, "", 1, 0 -launchActivatePinState = bits, U32, 1048, [0:0] -isPreLaunchCondition = bits, U32, 1048, [1:1] -isLaunchCondition = bits, U32, 1048, [2:2] -isSwitchActivated = bits, U32, 1048, [3:3] -isClutchActivated = bits, U32, 1048, [4:4] -isBrakePedalActivated = bits, U32, 1048, [5:5] -isValidInputPin = bits, U32, 1048, [6:6] -activateSwitchCondition = bits, U32, 1048, [7:7] -rpmLaunchCondition = bits, U32, 1048, [8:8] -rpmPreLaunchCondition = bits, U32, 1048, [9:9] -speedCondition = bits, U32, 1048, [10:10] -tpsCondition = bits, U32, 1048, [11:11] +m_knockSpectrum1 = scalar, U32, 976, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 980, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 984, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 988, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1040, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1042, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1044, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1048, "multiplier", 1, 0 ; total TS size = 1052 -isTorqueReductionTriggerPinValid = bits, U32, 1052, [0:0] -torqueReductionTriggerPinState = bits, U32, 1052, [1:1] -isTimeConditionSatisfied = bits, U32, 1052, [2:2] -isRpmConditionSatisfied = bits, U32, 1052, [3:3] -isAppConditionSatisfied = bits, U32, 1052, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1052, [5:5] -; total TS size = 1056 -isAntilagCondition = bits, U32, 1056, [0:0] -ALSMinRPMCondition = bits, U32, 1056, [1:1] -ALSMaxRPMCondition = bits, U32, 1056, [2:2] -ALSMinCLTCondition = bits, U32, 1056, [3:3] -ALSMaxCLTCondition = bits, U32, 1056, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1056, [5:5] -isALSSwitchActivated = bits, U32, 1056, [6:6] -ALSActivatePinState = bits, U32, 1056, [7:7] -ALSSwitchCondition = bits, U32, 1056, [8:8] -ALSTimerCondition = bits, U32, 1056, [9:9] -fuelALSCorrection = scalar, F32, 1060, "", 1, 0 -timingALSCorrection = scalar, S16, 1064, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1066, "deg", 0.01, 0 +tcuCurrentGear = scalar, S08, 1052, "gear", 1, 0 +tcRatio = scalar, U16, 1054, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1056, "", 1, 0 +tcu_currentRange = scalar, U08, 1060, "", 1, 0 +pressureControlDuty = scalar, S08, 1061, "%", 1,0 +torqueConverterDuty = scalar, S08, 1062, "%", 1,0 +isShifting = bits, U32, 1064, [0:0] ; total TS size = 1068 -isTpsInvalid = bits, U32, 1068, [0:0] -m_shouldResetPid = bits, U32, 1068, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1068, [2:2] -isNotClosedLoop = bits, U32, 1068, [3:3] -isZeroRpm = bits, U32, 1068, [4:4] -hasInitBoost = bits, U32, 1068, [5:5] -rpmTooLow = bits, U32, 1068, [6:6] -tpsTooLow = bits, U32, 1068, [7:7] -mapTooLow = bits, U32, 1068, [8:8] -isPlantValid = bits, U32, 1068, [9:9] -isBoostControlled = bits, U32, 1068, [10:10] -luaTargetAdd = scalar, S16, 1072, "v", 0.5,0 -boostOutput = scalar, S16, 1074, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1076, "v", 1,0 -openLoopPart = scalar, F32, 1080, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1084, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1088, "%", 0.5,0 -boostControlTarget = scalar, S16, 1090, "kPa", 0.03333333333333333,0 -; total TS size = 1092 -acButtonState = scalar, S08, 1092, "", 1, 0 -m_acEnabled = bits, U32, 1096, [0:0] -engineTooSlow = bits, U32, 1096, [1:1] -engineTooFast = bits, U32, 1096, [2:2] -noClt = bits, U32, 1096, [3:3] -engineTooHot = bits, U32, 1096, [4:4] -tpsTooHigh = bits, U32, 1096, [5:5] -isDisabledByLua = bits, U32, 1096, [6:6] -acCompressorState = bits, U32, 1096, [7:7] -acPressureTooLow = bits, U32, 1096, [8:8] -acPressureTooHigh = bits, U32, 1096, [9:9] -; total TS size = 1100 -cranking0 = bits, U32, 1100, [0:0] -notRunning0 = bits, U32, 1100, [1:1] -disabledWhileEngineStopped0 = bits, U32, 1100, [2:2] -brokenClt0 = bits, U32, 1100, [3:3] -enabledForAc0 = bits, U32, 1100, [4:4] -hot0 = bits, U32, 1100, [5:5] -cold0 = bits, U32, 1100, [6:6] -disabledBySpeed0 = bits, U32, 1100, [7:7] -radiatorFanStatus0 = scalar, U08, 1104, "", 1, 0 +throttleUseWotModel = bits, U32, 1068, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1072, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1076, "g/s", 1, 0 +; total TS size = 1080 +m_requested_pump = scalar, F32, 1080, "", 1, 0 +fuel_requested_percent = scalar, F32, 1084, "", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1088, "", 1, 0 +noValve = bits, U32, 1092, [0:0] +angleAboveMin = bits, U32, 1092, [1:1] +isHpfpInactive = bits, U32, 1092, [2:2] +m_pressureTarget_kPa = scalar, F32, 1096, "", 1, 0 +nextLobe = scalar, F32, 1100, "", 1, 0 +di_nextStart = scalar, F32, 1104, "v", 1, 0 ; total TS size = 1108 -cranking1 = bits, U32, 1108, [0:0] -notRunning1 = bits, U32, 1108, [1:1] -disabledWhileEngineStopped1 = bits, U32, 1108, [2:2] -brokenClt1 = bits, U32, 1108, [3:3] -enabledForAc1 = bits, U32, 1108, [4:4] -hot1 = bits, U32, 1108, [5:5] -cold1 = bits, U32, 1108, [6:6] -disabledBySpeed1 = bits, U32, 1108, [7:7] -radiatorFanStatus1 = scalar, U08, 1112, "", 1, 0 -; total TS size = 1116 -isPrime = bits, U32, 1116, [0:0] -engineTurnedRecently = bits, U32, 1116, [1:1] -isFuelPumpOn = bits, U32, 1116, [2:2] -ignitionOn = bits, U32, 1116, [3:3] +m_deadtime = scalar, F32, 1108, "ms", 1, 0 +pressureDelta = scalar, F32, 1112, "kPa", 1, 0 +pressureRatio = scalar, F32, 1116, "", 1, 0 ; total TS size = 1120 -isBenchTest = bits, U32, 1120, [0:0] -hasIgnitionVoltage = bits, U32, 1120, [1:1] -mainRelayState = bits, U32, 1120, [2:2] -delayedShutoffRequested = bits, U32, 1120, [3:3] -; total TS size = 1124 -lua_fuelAdd = scalar, F32, 1124, "g", 1, 0 -lua_fuelMult = scalar, F32, 1128, "", 1, 0 -lua_clutchUpState = bits, U32, 1132, [0:0] -lua_brakePedalState = bits, U32, 1132, [1:1] -lua_acRequestState = bits, U32, 1132, [2:2] -lua_luaDisableEtb = bits, U32, 1132, [3:3] -lua_luaIgnCut = bits, U32, 1132, [4:4] -lua_luaFuelCut = bits, U32, 1132, [5:5] -lua_clutchDownState = bits, U32, 1132, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1132, [7:7] -sd_tCharge = scalar, S16, 1136, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1140, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1144, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1148, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1152, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1156, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1160, "", 1, 0 -hellenBoardId = scalar, S16, 1164, "id", 1, 0 -clutchUpState = scalar, S08, 1166, "", 1, 0 -clutchDownState = scalar, S08, 1167, "", 1, 0 -brakePedalState = scalar, S08, 1168, "", 1, 0 -startStopState = scalar, S08, 1169, "", 1, 0 -smartChipState = scalar, S08, 1170, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1171, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1172, "", 1, 0 -startStopPhysicalState = bits, U32, 1176, [0:0] -acrActive = bits, U32, 1176, [1:1] -acrEngineMovedRecently = bits, U32, 1176, [2:2] -heaterControlEnabled = bits, U32, 1176, [3:3] -luaDigitalState0 = bits, U32, 1176, [4:4] -luaDigitalState1 = bits, U32, 1176, [5:5] -luaDigitalState2 = bits, U32, 1176, [6:6] -luaDigitalState3 = bits, U32, 1176, [7:7] -startStopStateToggleCounter = scalar, U32, 1180, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1184, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1188, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1192, "", 1, 0 -desiredRpmLimit = scalar, S16, 1196, "rpm", 1, 0 -fuelInjectionCounter = scalar, U32, 1200, "", 1, 0 -globalSparkCounter = scalar, U32, 1204, "", 1, 0 -fuelingLoad = scalar, F32, 1208, "", 1, 0 -ignitionLoad = scalar, F32, 1212, "", 1, 0 -veTableYAxis = scalar, U16, 1216, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1218, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1219, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1220, "", 1, 0 -; total TS size = 1224 -tpsFrom = scalar, F32, 1224 -tpsTo = scalar, F32, 1228 -deltaTps = scalar, F32, 1232 -extraFuel = scalar, F32, 1236, "", 1, 0 -valueFromTable = scalar, F32, 1240, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1244, [0:0] -isBelowDecelThreshold = bits, U32, 1244, [1:1] -isTimeToResetAccumulator = bits, U32, 1244, [2:2] -isFractionalEnrichment = bits, U32, 1244, [3:3] -belowEpsilon = bits, U32, 1244, [4:4] -tooShort = bits, U32, 1244, [5:5] -fractionalInjFuel = scalar, F32, 1248, "", 1, 0 -accumulatedValue = scalar, F32, 1252, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1256, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1260, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1264, "", 1, 0 -cycleCnt = scalar, S32, 1268, "", 1, 0 -; total TS size = 1272 -hwEventCounters1 = scalar, U32, 1272, "", 1, 0 -hwEventCounters2 = scalar, U32, 1276, "", 1, 0 -hwEventCounters3 = scalar, U32, 1280, "", 1, 0 -hwEventCounters4 = scalar, U32, 1284, "", 1, 0 -hwEventCounters5 = scalar, U32, 1288, "", 1, 0 -hwEventCounters6 = scalar, U32, 1292, "", 1, 0 -vvtCamCounter = scalar, U32, 1296, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1300, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1304, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1308, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1309, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1312, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1316, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1320, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1324, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1328, [0:0] -triggerElapsedUs = scalar, U32, 1332, "", 1, 0 -; total TS size = 1336 -crankSynchronizationCounter0 = scalar, U32, 1336, "", 1, 0 -vvtSyncGapRatio0 = scalar, F32, 1340, "", 1, 0 -vvtToothDurations00 = scalar, U32, 1344, "us", 1, 0 -vvtCurrentPosition0 = scalar, F32, 1348, "sync: Primary Cam Position", 1, 0 -vvtToothPosition10 = scalar, F32, 1352, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition20 = scalar, F32, 1356, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition30 = scalar, F32, 1360, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition40 = scalar, F32, 1364, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio0 = scalar, F32, 1368, "", 1, 0 -triggerStateIndex0 = scalar, U08, 1372, "", 1, 0 -vvtStateIndex0 = scalar, U08, 1373, "", 1, 0 -; total TS size = 1376 -crankSynchronizationCounter1 = scalar, U32, 1376, "", 1, 0 -vvtSyncGapRatio1 = scalar, F32, 1380, "", 1, 0 -vvtToothDurations01 = scalar, U32, 1384, "us", 1, 0 -vvtCurrentPosition1 = scalar, F32, 1388, "sync: Primary Cam Position", 1, 0 -vvtToothPosition11 = scalar, F32, 1392, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition21 = scalar, F32, 1396, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition31 = scalar, F32, 1400, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition41 = scalar, F32, 1404, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio1 = scalar, F32, 1408, "", 1, 0 -triggerStateIndex1 = scalar, U08, 1412, "", 1, 0 -vvtStateIndex1 = scalar, U08, 1413, "", 1, 0 -; total TS size = 1416 -crankSynchronizationCounter2 = scalar, U32, 1416, "", 1, 0 -vvtSyncGapRatio2 = scalar, F32, 1420, "", 1, 0 -vvtToothDurations02 = scalar, U32, 1424, "us", 1, 0 -vvtCurrentPosition2 = scalar, F32, 1428, "sync: Primary Cam Position", 1, 0 -vvtToothPosition12 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition22 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition32 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition42 = scalar, F32, 1444, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio2 = scalar, F32, 1448, "", 1, 0 -triggerStateIndex2 = scalar, U08, 1452, "", 1, 0 -vvtStateIndex2 = scalar, U08, 1453, "", 1, 0 -; total TS size = 1456 -crankSynchronizationCounter3 = scalar, U32, 1456, "", 1, 0 -vvtSyncGapRatio3 = scalar, F32, 1460, "", 1, 0 -vvtToothDurations03 = scalar, U32, 1464, "us", 1, 0 -vvtCurrentPosition3 = scalar, F32, 1468, "sync: Primary Cam Position", 1, 0 -vvtToothPosition13 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition23 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition33 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition43 = scalar, F32, 1484, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio3 = scalar, F32, 1488, "", 1, 0 -triggerStateIndex3 = scalar, U08, 1492, "", 1, 0 -vvtStateIndex3 = scalar, U08, 1493, "", 1, 0 -; total TS size = 1496 -crankSynchronizationCounter4 = scalar, U32, 1496, "", 1, 0 -vvtSyncGapRatio4 = scalar, F32, 1500, "", 1, 0 -vvtToothDurations04 = scalar, U32, 1504, "us", 1, 0 -vvtCurrentPosition4 = scalar, F32, 1508, "sync: Primary Cam Position", 1, 0 -vvtToothPosition14 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition24 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition34 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition44 = scalar, F32, 1524, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio4 = scalar, F32, 1528, "", 1, 0 -triggerStateIndex4 = scalar, U08, 1532, "", 1, 0 -vvtStateIndex4 = scalar, U08, 1533, "", 1, 0 -; total TS size = 1536 -camResyncCounter = scalar, U08, 1536, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1540, [0:0] -; total TS size = 1544 -wallFuelCorrection = scalar, F32, 1544, "", 1, 0 -wallFuel = scalar, F32, 1548, "", 1, 0 -; total TS size = 1552 -idleState = bits, S32, 1552, [0:2], "not important" -currentIdlePosition = scalar, F32, 1556 -baseIdlePosition = scalar, F32, 1560 -idleClosedLoop = scalar, F32, 1564 -iacByTpsTaper = scalar, F32, 1568 -throttlePedalUpState = scalar, S32, 1572, "", 1, 0 -mightResetPid = bits, U32, 1576, [0:0] -shouldResetPid = bits, U32, 1576, [1:1] -wasResetPid = bits, U32, 1576, [2:2] -mustResetPid = bits, U32, 1576, [3:3] -isCranking = bits, U32, 1576, [4:4] -isIacTableForCoasting = bits, U32, 1576, [5:5] -notIdling = bits, U32, 1576, [6:6] -needReset = bits, U32, 1576, [7:7] -isInDeadZone = bits, U32, 1576, [8:8] -isBlipping = bits, U32, 1576, [9:9] -useClosedLoop = bits, U32, 1576, [10:10] -badTps = bits, U32, 1576, [11:11] -looksLikeRunning = bits, U32, 1576, [12:12] -looksLikeCoasting = bits, U32, 1576, [13:13] -looksLikeCrankToIdle = bits, U32, 1576, [14:14] -isIdleCoasting = bits, U32, 1576, [15:15] -isIdleClosedLoop = bits, U32, 1576, [16:16] -idleTarget = scalar, S32, 1580, "", 1, 0 -targetRpmByClt = scalar, S32, 1584, "", 1, 0 -targetRpmAc = scalar, S32, 1588, "", 1, 0 -iacByRpmTaper = scalar, F32, 1592 -luaAdd = scalar, F32, 1596 -; total TS size = 1600 -targetWithIdlePosition0 = scalar, F32, 1600, "per", 1,0 -trim0 = scalar, F32, 1604, "", 1, 0 -luaAdjustment0 = scalar, F32, 1608, "per", 1,0 -m_wastegatePosition0 = scalar, F32, 1612, "per", 1,0 -etbFeedForward0 = scalar, F32, 1616 -etbIntegralError0 = scalar, F32, 1620, "", 1, 0 -etbCurrentTarget0 = scalar, F32, 1624, "%", 1, 0 -etbCurrentAdjustedTarget0 = scalar, F32, 1628, "%", 1, 0 -etbRevLimitActive0 = bits, U32, 1632, [0:0] -jamDetected0 = bits, U32, 1632, [1:1] -etbTpsErrorCounter0 = scalar, U16, 1636, "count", 1,0 -etbPpsErrorCounter0 = scalar, U16, 1638, "count", 1,0 -etbErrorCode0 = scalar, S08, 1640, "", 1, 0 -tcEtbDrop0 = scalar, S08, 1641, "%", 1, 0 -jamTimer0 = scalar, U16, 1642, "sec", 0.01, 0 -adjustedEtbTarget0 = scalar, S08, 1644, "%", 1, 0 -; total TS size = 1648 -targetWithIdlePosition1 = scalar, F32, 1648, "per", 1,0 -trim1 = scalar, F32, 1652, "", 1, 0 -luaAdjustment1 = scalar, F32, 1656, "per", 1,0 -m_wastegatePosition1 = scalar, F32, 1660, "per", 1,0 -etbFeedForward1 = scalar, F32, 1664 -etbIntegralError1 = scalar, F32, 1668, "", 1, 0 -etbCurrentTarget1 = scalar, F32, 1672, "%", 1, 0 -etbCurrentAdjustedTarget1 = scalar, F32, 1676, "%", 1, 0 -etbRevLimitActive1 = bits, U32, 1680, [0:0] -jamDetected1 = bits, U32, 1680, [1:1] -etbTpsErrorCounter1 = scalar, U16, 1684, "count", 1,0 -etbPpsErrorCounter1 = scalar, U16, 1686, "count", 1,0 -etbErrorCode1 = scalar, S08, 1688, "", 1, 0 -tcEtbDrop1 = scalar, S08, 1689, "%", 1, 0 -jamTimer1 = scalar, U16, 1690, "sec", 0.01, 0 -adjustedEtbTarget1 = scalar, S08, 1692, "%", 1, 0 -; total TS size = 1696 -faultCode0 = scalar, U08, 1696, "", 1, 0 -heaterDuty0 = scalar, U08, 1697, "%", 1, 0 -pumpDuty0 = scalar, U08, 1698, "%", 1, 0 -tempC0 = scalar, U16, 1700, "C", 1, 0 -nernstVoltage0 = scalar, U16, 1702, "V", 0.001, 0 -esr0 = scalar, U16, 1704, "ohm", 1, 0 -; total TS size = 1708 -faultCode1 = scalar, U08, 1708, "", 1, 0 -heaterDuty1 = scalar, U08, 1709, "%", 1, 0 -pumpDuty1 = scalar, U08, 1710, "%", 1, 0 -tempC1 = scalar, U16, 1712, "C", 1, 0 -nernstVoltage1 = scalar, U16, 1714, "V", 0.001, 0 -esr1 = scalar, U16, 1716, "ohm", 1, 0 -; total TS size = 1720 -dcOutput0 = scalar, F32, 1720, "per", 1,0 -isEnabled0_int = scalar, U08, 1724, "per", 1,0 -isEnabled0 = bits, U32, 1728, [0:0] -; total TS size = 1732 -value0 = scalar, U16, 1732, "value", 1,0 -value1 = scalar, U16, 1734, "value", 1,0 -errorRate = scalar, F32, 1736, "ratio", 1,0 -; total TS size = 1740 -vvtTarget = scalar, U16, 1740, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1742, "%", 0.5, 0 -; total TS size = 1744 -lambdaCurrentlyGood = bits, U32, 1744, [0:0] -lambdaMonitorCut = bits, U32, 1744, [1:1] -lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 -; total TS size = 1752 +retardThresholdRpm = scalar, S32, 1120, "", 1, 0 +launchActivatePinState = bits, U32, 1124, [0:0] +isPreLaunchCondition = bits, U32, 1124, [1:1] +isLaunchCondition = bits, U32, 1124, [2:2] +isSwitchActivated = bits, U32, 1124, [3:3] +isClutchActivated = bits, U32, 1124, [4:4] +isBrakePedalActivated = bits, U32, 1124, [5:5] +isValidInputPin = bits, U32, 1124, [6:6] +activateSwitchCondition = bits, U32, 1124, [7:7] +rpmLaunchCondition = bits, U32, 1124, [8:8] +rpmPreLaunchCondition = bits, U32, 1124, [9:9] +speedCondition = bits, U32, 1124, [10:10] +tpsCondition = bits, U32, 1124, [11:11] +; total TS size = 1128 +isTorqueReductionTriggerPinValid = bits, U32, 1128, [0:0] +torqueReductionTriggerPinState = bits, U32, 1128, [1:1] +isTimeConditionSatisfied = bits, U32, 1128, [2:2] +isRpmConditionSatisfied = bits, U32, 1128, [3:3] +isAppConditionSatisfied = bits, U32, 1128, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1128, [5:5] +; total TS size = 1132 +isAntilagCondition = bits, U32, 1132, [0:0] +ALSMinRPMCondition = bits, U32, 1132, [1:1] +ALSMaxRPMCondition = bits, U32, 1132, [2:2] +ALSMinCLTCondition = bits, U32, 1132, [3:3] +ALSMaxCLTCondition = bits, U32, 1132, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1132, [5:5] +isALSSwitchActivated = bits, U32, 1132, [6:6] +ALSActivatePinState = bits, U32, 1132, [7:7] +ALSSwitchCondition = bits, U32, 1132, [8:8] +ALSTimerCondition = bits, U32, 1132, [9:9] +fuelALSCorrection = scalar, F32, 1136, "", 1, 0 +timingALSCorrection = scalar, S16, 1140, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1142, "deg", 0.01, 0 +; total TS size = 1144 +isTpsInvalid = bits, U32, 1144, [0:0] +m_shouldResetPid = bits, U32, 1144, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1144, [2:2] +isNotClosedLoop = bits, U32, 1144, [3:3] +isZeroRpm = bits, U32, 1144, [4:4] +hasInitBoost = bits, U32, 1144, [5:5] +rpmTooLow = bits, U32, 1144, [6:6] +tpsTooLow = bits, U32, 1144, [7:7] +mapTooLow = bits, U32, 1144, [8:8] +isPlantValid = bits, U32, 1144, [9:9] +isBoostControlled = bits, U32, 1144, [10:10] +luaTargetAdd = scalar, S16, 1148, "v", 0.5,0 +boostOutput = scalar, S16, 1150, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1152, "v", 1,0 +openLoopPart = scalar, F32, 1156, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1160, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1164, "%", 0.5,0 +boostControlTarget = scalar, S16, 1166, "kPa", 0.03333333333333333,0 +; total TS size = 1168 +acButtonState = scalar, S08, 1168, "", 1, 0 +m_acEnabled = bits, U32, 1172, [0:0] +engineTooSlow = bits, U32, 1172, [1:1] +engineTooFast = bits, U32, 1172, [2:2] +noClt = bits, U32, 1172, [3:3] +engineTooHot = bits, U32, 1172, [4:4] +tpsTooHigh = bits, U32, 1172, [5:5] +isDisabledByLua = bits, U32, 1172, [6:6] +acCompressorState = bits, U32, 1172, [7:7] +acPressureTooLow = bits, U32, 1172, [8:8] +acPressureTooHigh = bits, U32, 1172, [9:9] +; total TS size = 1176 +cranking0 = bits, U32, 1176, [0:0] +notRunning0 = bits, U32, 1176, [1:1] +disabledWhileEngineStopped0 = bits, U32, 1176, [2:2] +brokenClt0 = bits, U32, 1176, [3:3] +enabledForAc0 = bits, U32, 1176, [4:4] +hot0 = bits, U32, 1176, [5:5] +cold0 = bits, U32, 1176, [6:6] +disabledBySpeed0 = bits, U32, 1176, [7:7] +radiatorFanStatus0 = scalar, U08, 1180, "", 1, 0 +; total TS size = 1184 +cranking1 = bits, U32, 1184, [0:0] +notRunning1 = bits, U32, 1184, [1:1] +disabledWhileEngineStopped1 = bits, U32, 1184, [2:2] +brokenClt1 = bits, U32, 1184, [3:3] +enabledForAc1 = bits, U32, 1184, [4:4] +hot1 = bits, U32, 1184, [5:5] +cold1 = bits, U32, 1184, [6:6] +disabledBySpeed1 = bits, U32, 1184, [7:7] +radiatorFanStatus1 = scalar, U08, 1188, "", 1, 0 +; total TS size = 1192 +isPrime = bits, U32, 1192, [0:0] +engineTurnedRecently = bits, U32, 1192, [1:1] +isFuelPumpOn = bits, U32, 1192, [2:2] +ignitionOn = bits, U32, 1192, [3:3] +; total TS size = 1196 +isBenchTest = bits, U32, 1196, [0:0] +hasIgnitionVoltage = bits, U32, 1196, [1:1] +mainRelayState = bits, U32, 1196, [2:2] +delayedShutoffRequested = bits, U32, 1196, [3:3] +; total TS size = 1200 +lua_fuelAdd = scalar, F32, 1200, "g", 1, 0 +lua_fuelMult = scalar, F32, 1204, "", 1, 0 +lua_clutchUpState = bits, U32, 1208, [0:0] +lua_brakePedalState = bits, U32, 1208, [1:1] +lua_acRequestState = bits, U32, 1208, [2:2] +lua_luaDisableEtb = bits, U32, 1208, [3:3] +lua_luaIgnCut = bits, U32, 1208, [4:4] +lua_luaFuelCut = bits, U32, 1208, [5:5] +lua_clutchDownState = bits, U32, 1208, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1208, [7:7] +sd_tCharge = scalar, S16, 1212, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1216, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1220, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1224, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1228, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1232, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1236, "", 1, 0 +hellenBoardId = scalar, S16, 1240, "id", 1, 0 +clutchUpState = scalar, S08, 1242, "", 1, 0 +clutchDownState = scalar, S08, 1243, "", 1, 0 +brakePedalState = scalar, S08, 1244, "", 1, 0 +startStopState = scalar, S08, 1245, "", 1, 0 +smartChipState = scalar, S08, 1246, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1247, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1248, "", 1, 0 +startStopPhysicalState = bits, U32, 1252, [0:0] +acrActive = bits, U32, 1252, [1:1] +acrEngineMovedRecently = bits, U32, 1252, [2:2] +heaterControlEnabled = bits, U32, 1252, [3:3] +luaDigitalState0 = bits, U32, 1252, [4:4] +luaDigitalState1 = bits, U32, 1252, [5:5] +luaDigitalState2 = bits, U32, 1252, [6:6] +luaDigitalState3 = bits, U32, 1252, [7:7] +startStopStateToggleCounter = scalar, U32, 1256, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1260, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1264, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1268, "", 1, 0 +desiredRpmLimit = scalar, S16, 1272, "rpm", 1, 0 +fuelInjectionCounter = scalar, U32, 1276, "", 1, 0 +globalSparkCounter = scalar, U32, 1280, "", 1, 0 +fuelingLoad = scalar, F32, 1284, "", 1, 0 +ignitionLoad = scalar, F32, 1288, "", 1, 0 +veTableYAxis = scalar, U16, 1292, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1294, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1295, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1296, "", 1, 0 +; total TS size = 1300 +tpsFrom = scalar, F32, 1300 +tpsTo = scalar, F32, 1304 +deltaTps = scalar, F32, 1308 +extraFuel = scalar, F32, 1312, "", 1, 0 +valueFromTable = scalar, F32, 1316, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1320, [0:0] +isBelowDecelThreshold = bits, U32, 1320, [1:1] +isTimeToResetAccumulator = bits, U32, 1320, [2:2] +isFractionalEnrichment = bits, U32, 1320, [3:3] +belowEpsilon = bits, U32, 1320, [4:4] +tooShort = bits, U32, 1320, [5:5] +fractionalInjFuel = scalar, F32, 1324, "", 1, 0 +accumulatedValue = scalar, F32, 1328, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1332, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1336, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1340, "", 1, 0 +cycleCnt = scalar, S32, 1344, "", 1, 0 +; total TS size = 1348 +hwEventCounters1 = scalar, U32, 1348, "", 1, 0 +hwEventCounters2 = scalar, U32, 1352, "", 1, 0 +hwEventCounters3 = scalar, U32, 1356, "", 1, 0 +hwEventCounters4 = scalar, U32, 1360, "", 1, 0 +hwEventCounters5 = scalar, U32, 1364, "", 1, 0 +hwEventCounters6 = scalar, U32, 1368, "", 1, 0 +vvtCamCounter = scalar, U32, 1372, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1376, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1380, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1384, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1385, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1388, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1392, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1396, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1400, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1404, [0:0] +triggerElapsedUs = scalar, U32, 1408, "", 1, 0 +; total TS size = 1412 +crankSynchronizationCounter0 = scalar, U32, 1412, "", 1, 0 +vvtSyncGapRatio0 = scalar, F32, 1416, "", 1, 0 +vvtToothDurations00 = scalar, U32, 1420, "us", 1, 0 +vvtCurrentPosition0 = scalar, F32, 1424, "sync: Primary Cam Position", 1, 0 +vvtToothPosition10 = scalar, F32, 1428, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition20 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition30 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition40 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio0 = scalar, F32, 1444, "", 1, 0 +triggerStateIndex0 = scalar, U08, 1448, "", 1, 0 +vvtStateIndex0 = scalar, U08, 1449, "", 1, 0 +; total TS size = 1452 +crankSynchronizationCounter1 = scalar, U32, 1452, "", 1, 0 +vvtSyncGapRatio1 = scalar, F32, 1456, "", 1, 0 +vvtToothDurations01 = scalar, U32, 1460, "us", 1, 0 +vvtCurrentPosition1 = scalar, F32, 1464, "sync: Primary Cam Position", 1, 0 +vvtToothPosition11 = scalar, F32, 1468, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition21 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition31 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition41 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio1 = scalar, F32, 1484, "", 1, 0 +triggerStateIndex1 = scalar, U08, 1488, "", 1, 0 +vvtStateIndex1 = scalar, U08, 1489, "", 1, 0 +; total TS size = 1492 +crankSynchronizationCounter2 = scalar, U32, 1492, "", 1, 0 +vvtSyncGapRatio2 = scalar, F32, 1496, "", 1, 0 +vvtToothDurations02 = scalar, U32, 1500, "us", 1, 0 +vvtCurrentPosition2 = scalar, F32, 1504, "sync: Primary Cam Position", 1, 0 +vvtToothPosition12 = scalar, F32, 1508, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition22 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition32 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition42 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio2 = scalar, F32, 1524, "", 1, 0 +triggerStateIndex2 = scalar, U08, 1528, "", 1, 0 +vvtStateIndex2 = scalar, U08, 1529, "", 1, 0 +; total TS size = 1532 +crankSynchronizationCounter3 = scalar, U32, 1532, "", 1, 0 +vvtSyncGapRatio3 = scalar, F32, 1536, "", 1, 0 +vvtToothDurations03 = scalar, U32, 1540, "us", 1, 0 +vvtCurrentPosition3 = scalar, F32, 1544, "sync: Primary Cam Position", 1, 0 +vvtToothPosition13 = scalar, F32, 1548, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition23 = scalar, F32, 1552, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition33 = scalar, F32, 1556, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition43 = scalar, F32, 1560, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio3 = scalar, F32, 1564, "", 1, 0 +triggerStateIndex3 = scalar, U08, 1568, "", 1, 0 +vvtStateIndex3 = scalar, U08, 1569, "", 1, 0 +; total TS size = 1572 +crankSynchronizationCounter4 = scalar, U32, 1572, "", 1, 0 +vvtSyncGapRatio4 = scalar, F32, 1576, "", 1, 0 +vvtToothDurations04 = scalar, U32, 1580, "us", 1, 0 +vvtCurrentPosition4 = scalar, F32, 1584, "sync: Primary Cam Position", 1, 0 +vvtToothPosition14 = scalar, F32, 1588, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition24 = scalar, F32, 1592, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition34 = scalar, F32, 1596, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition44 = scalar, F32, 1600, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio4 = scalar, F32, 1604, "", 1, 0 +triggerStateIndex4 = scalar, U08, 1608, "", 1, 0 +vvtStateIndex4 = scalar, U08, 1609, "", 1, 0 +; total TS size = 1612 +camResyncCounter = scalar, U08, 1612, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1616, [0:0] +; total TS size = 1620 +wallFuelCorrection = scalar, F32, 1620, "", 1, 0 +wallFuel = scalar, F32, 1624, "", 1, 0 +; total TS size = 1628 +idleState = bits, S32, 1628, [0:2], "not important" +currentIdlePosition = scalar, F32, 1632 +baseIdlePosition = scalar, F32, 1636 +idleClosedLoop = scalar, F32, 1640 +iacByTpsTaper = scalar, F32, 1644 +throttlePedalUpState = scalar, S32, 1648, "", 1, 0 +mightResetPid = bits, U32, 1652, [0:0] +shouldResetPid = bits, U32, 1652, [1:1] +wasResetPid = bits, U32, 1652, [2:2] +mustResetPid = bits, U32, 1652, [3:3] +isCranking = bits, U32, 1652, [4:4] +isIacTableForCoasting = bits, U32, 1652, [5:5] +notIdling = bits, U32, 1652, [6:6] +needReset = bits, U32, 1652, [7:7] +isInDeadZone = bits, U32, 1652, [8:8] +isBlipping = bits, U32, 1652, [9:9] +useClosedLoop = bits, U32, 1652, [10:10] +badTps = bits, U32, 1652, [11:11] +looksLikeRunning = bits, U32, 1652, [12:12] +looksLikeCoasting = bits, U32, 1652, [13:13] +looksLikeCrankToIdle = bits, U32, 1652, [14:14] +isIdleCoasting = bits, U32, 1652, [15:15] +isIdleClosedLoop = bits, U32, 1652, [16:16] +idleTarget = scalar, S32, 1656, "", 1, 0 +targetRpmByClt = scalar, S32, 1660, "", 1, 0 +targetRpmAc = scalar, S32, 1664, "", 1, 0 +iacByRpmTaper = scalar, F32, 1668 +luaAdd = scalar, F32, 1672 +; total TS size = 1676 +targetWithIdlePosition0 = scalar, F32, 1676, "per", 1,0 +trim0 = scalar, F32, 1680, "", 1, 0 +luaAdjustment0 = scalar, F32, 1684, "per", 1,0 +m_wastegatePosition0 = scalar, F32, 1688, "per", 1,0 +etbFeedForward0 = scalar, F32, 1692 +etbIntegralError0 = scalar, F32, 1696, "", 1, 0 +etbCurrentTarget0 = scalar, F32, 1700, "%", 1, 0 +etbCurrentAdjustedTarget0 = scalar, F32, 1704, "%", 1, 0 +etbRevLimitActive0 = bits, U32, 1708, [0:0] +jamDetected0 = bits, U32, 1708, [1:1] +etbTpsErrorCounter0 = scalar, U16, 1712, "count", 1,0 +etbPpsErrorCounter0 = scalar, U16, 1714, "count", 1,0 +etbErrorCode0 = scalar, S08, 1716, "", 1, 0 +tcEtbDrop0 = scalar, S08, 1717, "%", 1, 0 +jamTimer0 = scalar, U16, 1718, "sec", 0.01, 0 +adjustedEtbTarget0 = scalar, S08, 1720, "%", 1, 0 +; total TS size = 1724 +targetWithIdlePosition1 = scalar, F32, 1724, "per", 1,0 +trim1 = scalar, F32, 1728, "", 1, 0 +luaAdjustment1 = scalar, F32, 1732, "per", 1,0 +m_wastegatePosition1 = scalar, F32, 1736, "per", 1,0 +etbFeedForward1 = scalar, F32, 1740 +etbIntegralError1 = scalar, F32, 1744, "", 1, 0 +etbCurrentTarget1 = scalar, F32, 1748, "%", 1, 0 +etbCurrentAdjustedTarget1 = scalar, F32, 1752, "%", 1, 0 +etbRevLimitActive1 = bits, U32, 1756, [0:0] +jamDetected1 = bits, U32, 1756, [1:1] +etbTpsErrorCounter1 = scalar, U16, 1760, "count", 1,0 +etbPpsErrorCounter1 = scalar, U16, 1762, "count", 1,0 +etbErrorCode1 = scalar, S08, 1764, "", 1, 0 +tcEtbDrop1 = scalar, S08, 1765, "%", 1, 0 +jamTimer1 = scalar, U16, 1766, "sec", 0.01, 0 +adjustedEtbTarget1 = scalar, S08, 1768, "%", 1, 0 +; total TS size = 1772 +faultCode0 = scalar, U08, 1772, "", 1, 0 +heaterDuty0 = scalar, U08, 1773, "%", 1, 0 +pumpDuty0 = scalar, U08, 1774, "%", 1, 0 +tempC0 = scalar, U16, 1776, "C", 1, 0 +nernstVoltage0 = scalar, U16, 1778, "V", 0.001, 0 +esr0 = scalar, U16, 1780, "ohm", 1, 0 +; total TS size = 1784 +faultCode1 = scalar, U08, 1784, "", 1, 0 +heaterDuty1 = scalar, U08, 1785, "%", 1, 0 +pumpDuty1 = scalar, U08, 1786, "%", 1, 0 +tempC1 = scalar, U16, 1788, "C", 1, 0 +nernstVoltage1 = scalar, U16, 1790, "V", 0.001, 0 +esr1 = scalar, U16, 1792, "ohm", 1, 0 +; total TS size = 1796 +dcOutput0 = scalar, F32, 1796, "per", 1,0 +isEnabled0_int = scalar, U08, 1800, "per", 1,0 +isEnabled0 = bits, U32, 1804, [0:0] +; total TS size = 1808 +value0 = scalar, U16, 1808, "value", 1,0 +value1 = scalar, U16, 1810, "value", 1,0 +errorRate = scalar, F32, 1812, "ratio", 1,0 +; total TS size = 1816 +vvtTarget = scalar, U16, 1816, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1818, "%", 0.5, 0 +; total TS size = 1820 +lambdaCurrentlyGood = bits, U32, 1820, [0:0] +lambdaMonitorCut = bits, U32, 1820, [1:1] +lambdaTimeSinceGood = scalar, U16, 1824, "sec", 0.01, 0 +; total TS size = 1828 time = { timeNow } @@ -3630,6 +3662,7 @@ lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs8 requiresPowerCycle = cylinderBore + requiresPowerCycle = knockFrequency readOnly = warning_message readOnly = device_uid1 @@ -5047,6 +5080,26 @@ gaugeCategory = Knock knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knockSpectrumChannelCylGauge = m_knockSpectrumChannelCyl, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStartGauge = m_knockFrequencyStart, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStepGauge = m_knockFrequencyStep, "Knock Frequency Step", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFuelTrimMultiplier = m_knockFuelTrimMultiplier, "Knock Fuel Trim", "mult", 0, 0, 0, 0, 0, 30, 1, 1 + knockSpectrum1 = m_knockSpectrum1, "Knock Spectrum1", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum2 = m_knockSpectrum2, "knockSpectrum2", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum3 = m_knockSpectrum3, "knockSpectrum3", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum4 = m_knockSpectrum4, "knockSpectrum4", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum5 = m_knockSpectrum5, "knockSpectrum5", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum6 = m_knockSpectrum6, "knockSpectrum6", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum7 = m_knockSpectrum7, "knockSpectrum7", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum8 = m_knockSpectrum8, "knockSpectrum8", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum9 = m_knockSpectrum9, "knockSpectrum9", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum10 = m_knockSpectrum10, "knockSpectrum10", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum11 = m_knockSpectrum11, "knockSpectrum11", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum12 = m_knockSpectrum12, "knockSpectrum12", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum13 = m_knockSpectrum13, "knockSpectrum13", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum14 = m_knockSpectrum14, "knockSpectrum14", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum15 = m_knockSpectrum15, "knockSpectrum15", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum16 = m_knockSpectrum16, "knockSpectrum16", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -5646,6 +5699,26 @@ entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" entry = m_knockCount, "Knock: Count", int, "%d" entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_knockFrequency, "knock: frequency", int, "%d" +entry = m_knockSpectrum1, "Knock: SpectrumData 1", int, "%d" +entry = m_knockSpectrum2, "Knock: SpectrumData 2", int, "%d" +entry = m_knockSpectrum3, "Knock: SpectrumData 3", int, "%d" +entry = m_knockSpectrum4, "Knock: SpectrumData 4", int, "%d" +entry = m_knockSpectrum5, "Knock: SpectrumData 5", int, "%d" +entry = m_knockSpectrum6, "Knock: SpectrumData 6", int, "%d" +entry = m_knockSpectrum7, "Knock: SpectrumData 7", int, "%d" +entry = m_knockSpectrum8, "Knock: SpectrumData 8", int, "%d" +entry = m_knockSpectrum9, "Knock: SpectrumData 9", int, "%d" +entry = m_knockSpectrum10, "Knock: SpectrumData 10", int, "%d" +entry = m_knockSpectrum11, "Knock: SpectrumData 11", int, "%d" +entry = m_knockSpectrum12, "Knock: SpectrumData 12", int, "%d" +entry = m_knockSpectrum13, "Knock: SpectrumData 13", int, "%d" +entry = m_knockSpectrum14, "Knock: SpectrumData 14", int, "%d" +entry = m_knockSpectrum15, "Knock: SpectrumData 15", int, "%d" +entry = m_knockSpectrum16, "Knock: SpectrumData 16", int, "%d" +entry = m_knockSpectrumChannelCyl, "Knock: ChannelAndCylNumber", int, "%d" +entry = m_knockFrequencyStart, "Knock: Start Freq", int, "%d" +entry = m_knockFrequencyStep, "Knock: Step Freq", float, "%.3f" +entry = m_knockFuelTrimMultiplier, "Knock: Fuel trim when knock", float, "%.3f" entry = tcuCurrentGear, "TCU: Current Gear", int, "%d" entry = tcRatio, "TCU: Torque Converter Ratio", float, "%.3f" entry = lastShiftTime, "lastShiftTime", float, "%.3f" @@ -6554,6 +6627,31 @@ dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard graphLine = m_knockFrequency + graphLine = m_knockSpectrum1 + graphLine = m_knockSpectrum2 + liveGraph = knock_controller_6_Graph, "Graph", South + graphLine = m_knockSpectrum3 + graphLine = m_knockSpectrum4 + graphLine = m_knockSpectrum5 + graphLine = m_knockSpectrum6 + liveGraph = knock_controller_7_Graph, "Graph", South + graphLine = m_knockSpectrum7 + graphLine = m_knockSpectrum8 + graphLine = m_knockSpectrum9 + graphLine = m_knockSpectrum10 + liveGraph = knock_controller_8_Graph, "Graph", South + graphLine = m_knockSpectrum11 + graphLine = m_knockSpectrum12 + graphLine = m_knockSpectrum13 + graphLine = m_knockSpectrum14 + liveGraph = knock_controller_9_Graph, "Graph", South + graphLine = m_knockSpectrum15 + graphLine = m_knockSpectrum16 + graphLine = m_knockSpectrumChannelCyl + graphLine = m_knockFrequencyStart + liveGraph = knock_controller_10_Graph, "Graph", South + graphLine = m_knockFrequencyStep + graphLine = m_knockFuelTrimMultiplier indicatorPanel = tcu_controllerIndicatorPanel, 2 indicator = {isShifting}, "isShifting No", "isShifting Yes" @@ -8588,9 +8686,13 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockCfg, "Sense" field = "Enable", enableSoftwareKnock field = "Cylinder Bore", cylinderBore, {enableSoftwareKnock} + field = "Estimated Knock Frequency",knockFrequency, {enableSoftwareKnock} field = "Detection mode", knockDetectionUseDoubleFrequency field = "Detection Window Start",knockDetectionWindowStart, {enableSoftwareKnock} field = "Sampling Duration", knockSamplingDuration, {enableSoftwareKnock} + field = "Enable Knock Spectrogram", enableKnockSpectrogram, {enableSoftwareKnock} + field = "Enable Knock Spectrogram Filter", enableKnockSpectrogramFilter, {enableKnockSpectrogram} + field = "Knock Spectrum Sensitivity", knockSpectrumSensitivity, {enableKnockSpectrogram} field = "" field = "Select the nearest sensor for each cylinder" @@ -8610,6 +8712,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockResponseCfg, "Response" field = knockRetardAggression, knockRetardAggression field = knockRetardReapplyRate, knockRetardReapplyRate + field = knockFuelTrimAggression, knockFuelTrimAggression + field = knockFuelTrimReapplyRate, knockFuelTrimReapplyRate + field = knockFuelTrim, knockFuelTrim + field = knockSuppressMinTps, knockSuppressMinTps dialog = softwareKnockLeft, "" panel = softwareKnockCfg diff --git a/firmware/tunerstudio/generated/rusefi_alphax-8chan_f7.ini b/firmware/tunerstudio/generated/rusefi_alphax-8chan_f7.ini index e885be28fb..67cc03ebc5 100644 --- a/firmware/tunerstudio/generated/rusefi_alphax-8chan_f7.ini +++ b/firmware/tunerstudio/generated/rusefi_alphax-8chan_f7.ini @@ -38,12 +38,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.10.21.alphax-8chan_f7.1545637850" + signature = "rusEFI master.2024.10.21.alphax-8chan_f7.2148062501" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.10.21.alphax-8chan_f7.1545637850" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.10.21.alphax-8chan_f7.2148062501" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -777,6 +777,7 @@ devBit7 = bits, U32, 1508, [27:27], "false", "true" unusedSkipWasHere = bits, U32, 1508, [28:28], "false", "true" invertExhaustCamVVTSignal = bits, U32, 1508, [29:29], "Rising", "Falling" enableKnockSpectrogram = bits, U32, 1508, [30:30], "false", "true" +enableKnockSpectrogramFilter = bits, U32, 1508, [31:31], "false", "true" afterCrankingIACtaperDuration = scalar, S16, 1512, "cycles", 1, 0, 0, 5000, 0 iacByTpsTaper = scalar, S16, 1514, "percent", 1, 0, 0, 500, 0 unusedAuxSeria = bits, U16, 1516, [0:8], $gpio_list @@ -1397,7 +1398,13 @@ auxLinear4_v1 = scalar, F32, 3896, "volts", 1, 0, 0, 10, 2 auxLinear4_value1 = scalar, F32, 3900, "", 1, 0, -100000, 1000000, 2 auxLinear4_v2 = scalar, F32, 3904, "volts", 1, 0, 0, 10, 2 auxLinear4_value2 = scalar, F32, 3908, "", 1, 0, -100000, 1000000, 2 -unusedOftenChangesDuringFirmwareUpdate = array, U08, 3912, [128], "units", 1, 0, 0, 1, 0 +knockSuppressMinTps = scalar, U08, 3912, "%", 1, 0, 0, 100, 1 +knockFuelTrimAggression = scalar, U08, 3913, "%", 0.1, 0, 0, 20, 1 +knockFuelTrimReapplyRate = scalar, U08, 3914, "deg/s", 0.1, 0, 0, 10, 1 +knockFuelTrim = scalar, U08, 3915, "%", 1, 0, 0, 30, 1 +knockSpectrumSensitivity = scalar, F32, 3916, "sense", 1, 0, 0, 1, 2 +knockFrequency = scalar, F32, 3920, "Hz", 1, 0, 0, 20000, 2 +unusedOftenChangesDuringFirmwareUpdate = array, U08, 3924, [116], "units", 1, 0, 0, 1, 0 postCrankingFactor = array, F32, 4040, [6x6], "mult", 1, 0, 1, 3, 2 postCrankingDurationBins = array, F32, 4184, [6], "count", 1, 0, 0, 1000, 0 postCrankingCLTBins = array, S16, 4208, [6], "C", 1, 0, -100, 250, 0 @@ -2462,6 +2469,11 @@ boardUseFlexPullDown = bits, U32, 22984, [10:10], "With Pull Up", "With Pull Dow minAcPressure = "value of A/C pressure in kPa before that compressor is disengaged" maxAcPressure = "value of A/C pressure in kPa after that compressor is disengaged" minimumOilPressureTimeout = "Delay before cutting fuel due to low oil pressure. Use this to ignore short pressure blips and sensor noise." + knockSuppressMinTps = "Below TPS value all knock suppression will be disabled." + knockFuelTrimAggression = "Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump)," + knockFuelTrimReapplyRate = "After a knock event, reapply fuel at this rate." + knockFuelTrim = "Fuel trim when knock, max 30%" + knockFrequency = "Estimated knock frequency, ignore cylinderBore if this one > 0" etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, open loop component of PID closed loop control" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2574,7 +2586,7 @@ boardUseFlexPullDown = bits, U32, 22984, [10:10], "With Pull Up", "With Pull Dow ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1752 + ochBlockSize = 1828 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3115,370 +3127,390 @@ m_knockThreshold = scalar, F32, 960, "", 1, 0 m_knockCount = scalar, U32, 964, "", 1, 0 m_maximumRetard = scalar, F32, 968, "", 1, 0 m_knockFrequency = scalar, U32, 972, "Hz", 1, 0 -; total TS size = 976 -tcuCurrentGear = scalar, S08, 976, "gear", 1, 0 -tcRatio = scalar, U16, 978, "value", 0.01, 0 -lastShiftTime = scalar, F32, 980, "", 1, 0 -tcu_currentRange = scalar, U08, 984, "", 1, 0 -pressureControlDuty = scalar, S08, 985, "%", 1,0 -torqueConverterDuty = scalar, S08, 986, "%", 1,0 -isShifting = bits, U32, 988, [0:0] -; total TS size = 992 -throttleUseWotModel = bits, U32, 992, [0:0] -throttleModelCrossoverAngle = scalar, S16, 996, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1000, "g/s", 1, 0 -; total TS size = 1004 -m_requested_pump = scalar, F32, 1004, "", 1, 0 -fuel_requested_percent = scalar, F32, 1008, "", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1012, "", 1, 0 -noValve = bits, U32, 1016, [0:0] -angleAboveMin = bits, U32, 1016, [1:1] -isHpfpInactive = bits, U32, 1016, [2:2] -m_pressureTarget_kPa = scalar, F32, 1020, "", 1, 0 -nextLobe = scalar, F32, 1024, "", 1, 0 -di_nextStart = scalar, F32, 1028, "v", 1, 0 -; total TS size = 1032 -m_deadtime = scalar, F32, 1032, "ms", 1, 0 -pressureDelta = scalar, F32, 1036, "kPa", 1, 0 -pressureRatio = scalar, F32, 1040, "", 1, 0 -; total TS size = 1044 -retardThresholdRpm = scalar, S32, 1044, "", 1, 0 -launchActivatePinState = bits, U32, 1048, [0:0] -isPreLaunchCondition = bits, U32, 1048, [1:1] -isLaunchCondition = bits, U32, 1048, [2:2] -isSwitchActivated = bits, U32, 1048, [3:3] -isClutchActivated = bits, U32, 1048, [4:4] -isBrakePedalActivated = bits, U32, 1048, [5:5] -isValidInputPin = bits, U32, 1048, [6:6] -activateSwitchCondition = bits, U32, 1048, [7:7] -rpmLaunchCondition = bits, U32, 1048, [8:8] -rpmPreLaunchCondition = bits, U32, 1048, [9:9] -speedCondition = bits, U32, 1048, [10:10] -tpsCondition = bits, U32, 1048, [11:11] +m_knockSpectrum1 = scalar, U32, 976, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 980, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 984, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 988, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1040, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1042, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1044, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1048, "multiplier", 1, 0 ; total TS size = 1052 -isTorqueReductionTriggerPinValid = bits, U32, 1052, [0:0] -torqueReductionTriggerPinState = bits, U32, 1052, [1:1] -isTimeConditionSatisfied = bits, U32, 1052, [2:2] -isRpmConditionSatisfied = bits, U32, 1052, [3:3] -isAppConditionSatisfied = bits, U32, 1052, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1052, [5:5] -; total TS size = 1056 -isAntilagCondition = bits, U32, 1056, [0:0] -ALSMinRPMCondition = bits, U32, 1056, [1:1] -ALSMaxRPMCondition = bits, U32, 1056, [2:2] -ALSMinCLTCondition = bits, U32, 1056, [3:3] -ALSMaxCLTCondition = bits, U32, 1056, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1056, [5:5] -isALSSwitchActivated = bits, U32, 1056, [6:6] -ALSActivatePinState = bits, U32, 1056, [7:7] -ALSSwitchCondition = bits, U32, 1056, [8:8] -ALSTimerCondition = bits, U32, 1056, [9:9] -fuelALSCorrection = scalar, F32, 1060, "", 1, 0 -timingALSCorrection = scalar, S16, 1064, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1066, "deg", 0.01, 0 +tcuCurrentGear = scalar, S08, 1052, "gear", 1, 0 +tcRatio = scalar, U16, 1054, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1056, "", 1, 0 +tcu_currentRange = scalar, U08, 1060, "", 1, 0 +pressureControlDuty = scalar, S08, 1061, "%", 1,0 +torqueConverterDuty = scalar, S08, 1062, "%", 1,0 +isShifting = bits, U32, 1064, [0:0] ; total TS size = 1068 -isTpsInvalid = bits, U32, 1068, [0:0] -m_shouldResetPid = bits, U32, 1068, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1068, [2:2] -isNotClosedLoop = bits, U32, 1068, [3:3] -isZeroRpm = bits, U32, 1068, [4:4] -hasInitBoost = bits, U32, 1068, [5:5] -rpmTooLow = bits, U32, 1068, [6:6] -tpsTooLow = bits, U32, 1068, [7:7] -mapTooLow = bits, U32, 1068, [8:8] -isPlantValid = bits, U32, 1068, [9:9] -isBoostControlled = bits, U32, 1068, [10:10] -luaTargetAdd = scalar, S16, 1072, "v", 0.5,0 -boostOutput = scalar, S16, 1074, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1076, "v", 1,0 -openLoopPart = scalar, F32, 1080, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1084, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1088, "%", 0.5,0 -boostControlTarget = scalar, S16, 1090, "kPa", 0.03333333333333333,0 -; total TS size = 1092 -acButtonState = scalar, S08, 1092, "", 1, 0 -m_acEnabled = bits, U32, 1096, [0:0] -engineTooSlow = bits, U32, 1096, [1:1] -engineTooFast = bits, U32, 1096, [2:2] -noClt = bits, U32, 1096, [3:3] -engineTooHot = bits, U32, 1096, [4:4] -tpsTooHigh = bits, U32, 1096, [5:5] -isDisabledByLua = bits, U32, 1096, [6:6] -acCompressorState = bits, U32, 1096, [7:7] -acPressureTooLow = bits, U32, 1096, [8:8] -acPressureTooHigh = bits, U32, 1096, [9:9] -; total TS size = 1100 -cranking0 = bits, U32, 1100, [0:0] -notRunning0 = bits, U32, 1100, [1:1] -disabledWhileEngineStopped0 = bits, U32, 1100, [2:2] -brokenClt0 = bits, U32, 1100, [3:3] -enabledForAc0 = bits, U32, 1100, [4:4] -hot0 = bits, U32, 1100, [5:5] -cold0 = bits, U32, 1100, [6:6] -disabledBySpeed0 = bits, U32, 1100, [7:7] -radiatorFanStatus0 = scalar, U08, 1104, "", 1, 0 +throttleUseWotModel = bits, U32, 1068, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1072, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1076, "g/s", 1, 0 +; total TS size = 1080 +m_requested_pump = scalar, F32, 1080, "", 1, 0 +fuel_requested_percent = scalar, F32, 1084, "", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1088, "", 1, 0 +noValve = bits, U32, 1092, [0:0] +angleAboveMin = bits, U32, 1092, [1:1] +isHpfpInactive = bits, U32, 1092, [2:2] +m_pressureTarget_kPa = scalar, F32, 1096, "", 1, 0 +nextLobe = scalar, F32, 1100, "", 1, 0 +di_nextStart = scalar, F32, 1104, "v", 1, 0 ; total TS size = 1108 -cranking1 = bits, U32, 1108, [0:0] -notRunning1 = bits, U32, 1108, [1:1] -disabledWhileEngineStopped1 = bits, U32, 1108, [2:2] -brokenClt1 = bits, U32, 1108, [3:3] -enabledForAc1 = bits, U32, 1108, [4:4] -hot1 = bits, U32, 1108, [5:5] -cold1 = bits, U32, 1108, [6:6] -disabledBySpeed1 = bits, U32, 1108, [7:7] -radiatorFanStatus1 = scalar, U08, 1112, "", 1, 0 -; total TS size = 1116 -isPrime = bits, U32, 1116, [0:0] -engineTurnedRecently = bits, U32, 1116, [1:1] -isFuelPumpOn = bits, U32, 1116, [2:2] -ignitionOn = bits, U32, 1116, [3:3] +m_deadtime = scalar, F32, 1108, "ms", 1, 0 +pressureDelta = scalar, F32, 1112, "kPa", 1, 0 +pressureRatio = scalar, F32, 1116, "", 1, 0 ; total TS size = 1120 -isBenchTest = bits, U32, 1120, [0:0] -hasIgnitionVoltage = bits, U32, 1120, [1:1] -mainRelayState = bits, U32, 1120, [2:2] -delayedShutoffRequested = bits, U32, 1120, [3:3] -; total TS size = 1124 -lua_fuelAdd = scalar, F32, 1124, "g", 1, 0 -lua_fuelMult = scalar, F32, 1128, "", 1, 0 -lua_clutchUpState = bits, U32, 1132, [0:0] -lua_brakePedalState = bits, U32, 1132, [1:1] -lua_acRequestState = bits, U32, 1132, [2:2] -lua_luaDisableEtb = bits, U32, 1132, [3:3] -lua_luaIgnCut = bits, U32, 1132, [4:4] -lua_luaFuelCut = bits, U32, 1132, [5:5] -lua_clutchDownState = bits, U32, 1132, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1132, [7:7] -sd_tCharge = scalar, S16, 1136, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1140, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1144, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1148, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1152, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1156, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1160, "", 1, 0 -hellenBoardId = scalar, S16, 1164, "id", 1, 0 -clutchUpState = scalar, S08, 1166, "", 1, 0 -clutchDownState = scalar, S08, 1167, "", 1, 0 -brakePedalState = scalar, S08, 1168, "", 1, 0 -startStopState = scalar, S08, 1169, "", 1, 0 -smartChipState = scalar, S08, 1170, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1171, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1172, "", 1, 0 -startStopPhysicalState = bits, U32, 1176, [0:0] -acrActive = bits, U32, 1176, [1:1] -acrEngineMovedRecently = bits, U32, 1176, [2:2] -heaterControlEnabled = bits, U32, 1176, [3:3] -luaDigitalState0 = bits, U32, 1176, [4:4] -luaDigitalState1 = bits, U32, 1176, [5:5] -luaDigitalState2 = bits, U32, 1176, [6:6] -luaDigitalState3 = bits, U32, 1176, [7:7] -startStopStateToggleCounter = scalar, U32, 1180, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1184, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1188, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1192, "", 1, 0 -desiredRpmLimit = scalar, S16, 1196, "rpm", 1, 0 -fuelInjectionCounter = scalar, U32, 1200, "", 1, 0 -globalSparkCounter = scalar, U32, 1204, "", 1, 0 -fuelingLoad = scalar, F32, 1208, "", 1, 0 -ignitionLoad = scalar, F32, 1212, "", 1, 0 -veTableYAxis = scalar, U16, 1216, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1218, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1219, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1220, "", 1, 0 -; total TS size = 1224 -tpsFrom = scalar, F32, 1224 -tpsTo = scalar, F32, 1228 -deltaTps = scalar, F32, 1232 -extraFuel = scalar, F32, 1236, "", 1, 0 -valueFromTable = scalar, F32, 1240, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1244, [0:0] -isBelowDecelThreshold = bits, U32, 1244, [1:1] -isTimeToResetAccumulator = bits, U32, 1244, [2:2] -isFractionalEnrichment = bits, U32, 1244, [3:3] -belowEpsilon = bits, U32, 1244, [4:4] -tooShort = bits, U32, 1244, [5:5] -fractionalInjFuel = scalar, F32, 1248, "", 1, 0 -accumulatedValue = scalar, F32, 1252, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1256, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1260, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1264, "", 1, 0 -cycleCnt = scalar, S32, 1268, "", 1, 0 -; total TS size = 1272 -hwEventCounters1 = scalar, U32, 1272, "", 1, 0 -hwEventCounters2 = scalar, U32, 1276, "", 1, 0 -hwEventCounters3 = scalar, U32, 1280, "", 1, 0 -hwEventCounters4 = scalar, U32, 1284, "", 1, 0 -hwEventCounters5 = scalar, U32, 1288, "", 1, 0 -hwEventCounters6 = scalar, U32, 1292, "", 1, 0 -vvtCamCounter = scalar, U32, 1296, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1300, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1304, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1308, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1309, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1312, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1316, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1320, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1324, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1328, [0:0] -triggerElapsedUs = scalar, U32, 1332, "", 1, 0 -; total TS size = 1336 -crankSynchronizationCounter0 = scalar, U32, 1336, "", 1, 0 -vvtSyncGapRatio0 = scalar, F32, 1340, "", 1, 0 -vvtToothDurations00 = scalar, U32, 1344, "us", 1, 0 -vvtCurrentPosition0 = scalar, F32, 1348, "sync: Primary Cam Position", 1, 0 -vvtToothPosition10 = scalar, F32, 1352, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition20 = scalar, F32, 1356, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition30 = scalar, F32, 1360, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition40 = scalar, F32, 1364, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio0 = scalar, F32, 1368, "", 1, 0 -triggerStateIndex0 = scalar, U08, 1372, "", 1, 0 -vvtStateIndex0 = scalar, U08, 1373, "", 1, 0 -; total TS size = 1376 -crankSynchronizationCounter1 = scalar, U32, 1376, "", 1, 0 -vvtSyncGapRatio1 = scalar, F32, 1380, "", 1, 0 -vvtToothDurations01 = scalar, U32, 1384, "us", 1, 0 -vvtCurrentPosition1 = scalar, F32, 1388, "sync: Primary Cam Position", 1, 0 -vvtToothPosition11 = scalar, F32, 1392, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition21 = scalar, F32, 1396, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition31 = scalar, F32, 1400, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition41 = scalar, F32, 1404, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio1 = scalar, F32, 1408, "", 1, 0 -triggerStateIndex1 = scalar, U08, 1412, "", 1, 0 -vvtStateIndex1 = scalar, U08, 1413, "", 1, 0 -; total TS size = 1416 -crankSynchronizationCounter2 = scalar, U32, 1416, "", 1, 0 -vvtSyncGapRatio2 = scalar, F32, 1420, "", 1, 0 -vvtToothDurations02 = scalar, U32, 1424, "us", 1, 0 -vvtCurrentPosition2 = scalar, F32, 1428, "sync: Primary Cam Position", 1, 0 -vvtToothPosition12 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition22 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition32 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition42 = scalar, F32, 1444, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio2 = scalar, F32, 1448, "", 1, 0 -triggerStateIndex2 = scalar, U08, 1452, "", 1, 0 -vvtStateIndex2 = scalar, U08, 1453, "", 1, 0 -; total TS size = 1456 -crankSynchronizationCounter3 = scalar, U32, 1456, "", 1, 0 -vvtSyncGapRatio3 = scalar, F32, 1460, "", 1, 0 -vvtToothDurations03 = scalar, U32, 1464, "us", 1, 0 -vvtCurrentPosition3 = scalar, F32, 1468, "sync: Primary Cam Position", 1, 0 -vvtToothPosition13 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition23 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition33 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition43 = scalar, F32, 1484, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio3 = scalar, F32, 1488, "", 1, 0 -triggerStateIndex3 = scalar, U08, 1492, "", 1, 0 -vvtStateIndex3 = scalar, U08, 1493, "", 1, 0 -; total TS size = 1496 -crankSynchronizationCounter4 = scalar, U32, 1496, "", 1, 0 -vvtSyncGapRatio4 = scalar, F32, 1500, "", 1, 0 -vvtToothDurations04 = scalar, U32, 1504, "us", 1, 0 -vvtCurrentPosition4 = scalar, F32, 1508, "sync: Primary Cam Position", 1, 0 -vvtToothPosition14 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition24 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition34 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition44 = scalar, F32, 1524, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio4 = scalar, F32, 1528, "", 1, 0 -triggerStateIndex4 = scalar, U08, 1532, "", 1, 0 -vvtStateIndex4 = scalar, U08, 1533, "", 1, 0 -; total TS size = 1536 -camResyncCounter = scalar, U08, 1536, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1540, [0:0] -; total TS size = 1544 -wallFuelCorrection = scalar, F32, 1544, "", 1, 0 -wallFuel = scalar, F32, 1548, "", 1, 0 -; total TS size = 1552 -idleState = bits, S32, 1552, [0:2], "not important" -currentIdlePosition = scalar, F32, 1556 -baseIdlePosition = scalar, F32, 1560 -idleClosedLoop = scalar, F32, 1564 -iacByTpsTaper = scalar, F32, 1568 -throttlePedalUpState = scalar, S32, 1572, "", 1, 0 -mightResetPid = bits, U32, 1576, [0:0] -shouldResetPid = bits, U32, 1576, [1:1] -wasResetPid = bits, U32, 1576, [2:2] -mustResetPid = bits, U32, 1576, [3:3] -isCranking = bits, U32, 1576, [4:4] -isIacTableForCoasting = bits, U32, 1576, [5:5] -notIdling = bits, U32, 1576, [6:6] -needReset = bits, U32, 1576, [7:7] -isInDeadZone = bits, U32, 1576, [8:8] -isBlipping = bits, U32, 1576, [9:9] -useClosedLoop = bits, U32, 1576, [10:10] -badTps = bits, U32, 1576, [11:11] -looksLikeRunning = bits, U32, 1576, [12:12] -looksLikeCoasting = bits, U32, 1576, [13:13] -looksLikeCrankToIdle = bits, U32, 1576, [14:14] -isIdleCoasting = bits, U32, 1576, [15:15] -isIdleClosedLoop = bits, U32, 1576, [16:16] -idleTarget = scalar, S32, 1580, "", 1, 0 -targetRpmByClt = scalar, S32, 1584, "", 1, 0 -targetRpmAc = scalar, S32, 1588, "", 1, 0 -iacByRpmTaper = scalar, F32, 1592 -luaAdd = scalar, F32, 1596 -; total TS size = 1600 -targetWithIdlePosition0 = scalar, F32, 1600, "per", 1,0 -trim0 = scalar, F32, 1604, "", 1, 0 -luaAdjustment0 = scalar, F32, 1608, "per", 1,0 -m_wastegatePosition0 = scalar, F32, 1612, "per", 1,0 -etbFeedForward0 = scalar, F32, 1616 -etbIntegralError0 = scalar, F32, 1620, "", 1, 0 -etbCurrentTarget0 = scalar, F32, 1624, "%", 1, 0 -etbCurrentAdjustedTarget0 = scalar, F32, 1628, "%", 1, 0 -etbRevLimitActive0 = bits, U32, 1632, [0:0] -jamDetected0 = bits, U32, 1632, [1:1] -etbTpsErrorCounter0 = scalar, U16, 1636, "count", 1,0 -etbPpsErrorCounter0 = scalar, U16, 1638, "count", 1,0 -etbErrorCode0 = scalar, S08, 1640, "", 1, 0 -tcEtbDrop0 = scalar, S08, 1641, "%", 1, 0 -jamTimer0 = scalar, U16, 1642, "sec", 0.01, 0 -adjustedEtbTarget0 = scalar, S08, 1644, "%", 1, 0 -; total TS size = 1648 -targetWithIdlePosition1 = scalar, F32, 1648, "per", 1,0 -trim1 = scalar, F32, 1652, "", 1, 0 -luaAdjustment1 = scalar, F32, 1656, "per", 1,0 -m_wastegatePosition1 = scalar, F32, 1660, "per", 1,0 -etbFeedForward1 = scalar, F32, 1664 -etbIntegralError1 = scalar, F32, 1668, "", 1, 0 -etbCurrentTarget1 = scalar, F32, 1672, "%", 1, 0 -etbCurrentAdjustedTarget1 = scalar, F32, 1676, "%", 1, 0 -etbRevLimitActive1 = bits, U32, 1680, [0:0] -jamDetected1 = bits, U32, 1680, [1:1] -etbTpsErrorCounter1 = scalar, U16, 1684, "count", 1,0 -etbPpsErrorCounter1 = scalar, U16, 1686, "count", 1,0 -etbErrorCode1 = scalar, S08, 1688, "", 1, 0 -tcEtbDrop1 = scalar, S08, 1689, "%", 1, 0 -jamTimer1 = scalar, U16, 1690, "sec", 0.01, 0 -adjustedEtbTarget1 = scalar, S08, 1692, "%", 1, 0 -; total TS size = 1696 -faultCode0 = scalar, U08, 1696, "", 1, 0 -heaterDuty0 = scalar, U08, 1697, "%", 1, 0 -pumpDuty0 = scalar, U08, 1698, "%", 1, 0 -tempC0 = scalar, U16, 1700, "C", 1, 0 -nernstVoltage0 = scalar, U16, 1702, "V", 0.001, 0 -esr0 = scalar, U16, 1704, "ohm", 1, 0 -; total TS size = 1708 -faultCode1 = scalar, U08, 1708, "", 1, 0 -heaterDuty1 = scalar, U08, 1709, "%", 1, 0 -pumpDuty1 = scalar, U08, 1710, "%", 1, 0 -tempC1 = scalar, U16, 1712, "C", 1, 0 -nernstVoltage1 = scalar, U16, 1714, "V", 0.001, 0 -esr1 = scalar, U16, 1716, "ohm", 1, 0 -; total TS size = 1720 -dcOutput0 = scalar, F32, 1720, "per", 1,0 -isEnabled0_int = scalar, U08, 1724, "per", 1,0 -isEnabled0 = bits, U32, 1728, [0:0] -; total TS size = 1732 -value0 = scalar, U16, 1732, "value", 1,0 -value1 = scalar, U16, 1734, "value", 1,0 -errorRate = scalar, F32, 1736, "ratio", 1,0 -; total TS size = 1740 -vvtTarget = scalar, U16, 1740, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1742, "%", 0.5, 0 -; total TS size = 1744 -lambdaCurrentlyGood = bits, U32, 1744, [0:0] -lambdaMonitorCut = bits, U32, 1744, [1:1] -lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 -; total TS size = 1752 +retardThresholdRpm = scalar, S32, 1120, "", 1, 0 +launchActivatePinState = bits, U32, 1124, [0:0] +isPreLaunchCondition = bits, U32, 1124, [1:1] +isLaunchCondition = bits, U32, 1124, [2:2] +isSwitchActivated = bits, U32, 1124, [3:3] +isClutchActivated = bits, U32, 1124, [4:4] +isBrakePedalActivated = bits, U32, 1124, [5:5] +isValidInputPin = bits, U32, 1124, [6:6] +activateSwitchCondition = bits, U32, 1124, [7:7] +rpmLaunchCondition = bits, U32, 1124, [8:8] +rpmPreLaunchCondition = bits, U32, 1124, [9:9] +speedCondition = bits, U32, 1124, [10:10] +tpsCondition = bits, U32, 1124, [11:11] +; total TS size = 1128 +isTorqueReductionTriggerPinValid = bits, U32, 1128, [0:0] +torqueReductionTriggerPinState = bits, U32, 1128, [1:1] +isTimeConditionSatisfied = bits, U32, 1128, [2:2] +isRpmConditionSatisfied = bits, U32, 1128, [3:3] +isAppConditionSatisfied = bits, U32, 1128, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1128, [5:5] +; total TS size = 1132 +isAntilagCondition = bits, U32, 1132, [0:0] +ALSMinRPMCondition = bits, U32, 1132, [1:1] +ALSMaxRPMCondition = bits, U32, 1132, [2:2] +ALSMinCLTCondition = bits, U32, 1132, [3:3] +ALSMaxCLTCondition = bits, U32, 1132, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1132, [5:5] +isALSSwitchActivated = bits, U32, 1132, [6:6] +ALSActivatePinState = bits, U32, 1132, [7:7] +ALSSwitchCondition = bits, U32, 1132, [8:8] +ALSTimerCondition = bits, U32, 1132, [9:9] +fuelALSCorrection = scalar, F32, 1136, "", 1, 0 +timingALSCorrection = scalar, S16, 1140, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1142, "deg", 0.01, 0 +; total TS size = 1144 +isTpsInvalid = bits, U32, 1144, [0:0] +m_shouldResetPid = bits, U32, 1144, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1144, [2:2] +isNotClosedLoop = bits, U32, 1144, [3:3] +isZeroRpm = bits, U32, 1144, [4:4] +hasInitBoost = bits, U32, 1144, [5:5] +rpmTooLow = bits, U32, 1144, [6:6] +tpsTooLow = bits, U32, 1144, [7:7] +mapTooLow = bits, U32, 1144, [8:8] +isPlantValid = bits, U32, 1144, [9:9] +isBoostControlled = bits, U32, 1144, [10:10] +luaTargetAdd = scalar, S16, 1148, "v", 0.5,0 +boostOutput = scalar, S16, 1150, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1152, "v", 1,0 +openLoopPart = scalar, F32, 1156, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1160, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1164, "%", 0.5,0 +boostControlTarget = scalar, S16, 1166, "kPa", 0.03333333333333333,0 +; total TS size = 1168 +acButtonState = scalar, S08, 1168, "", 1, 0 +m_acEnabled = bits, U32, 1172, [0:0] +engineTooSlow = bits, U32, 1172, [1:1] +engineTooFast = bits, U32, 1172, [2:2] +noClt = bits, U32, 1172, [3:3] +engineTooHot = bits, U32, 1172, [4:4] +tpsTooHigh = bits, U32, 1172, [5:5] +isDisabledByLua = bits, U32, 1172, [6:6] +acCompressorState = bits, U32, 1172, [7:7] +acPressureTooLow = bits, U32, 1172, [8:8] +acPressureTooHigh = bits, U32, 1172, [9:9] +; total TS size = 1176 +cranking0 = bits, U32, 1176, [0:0] +notRunning0 = bits, U32, 1176, [1:1] +disabledWhileEngineStopped0 = bits, U32, 1176, [2:2] +brokenClt0 = bits, U32, 1176, [3:3] +enabledForAc0 = bits, U32, 1176, [4:4] +hot0 = bits, U32, 1176, [5:5] +cold0 = bits, U32, 1176, [6:6] +disabledBySpeed0 = bits, U32, 1176, [7:7] +radiatorFanStatus0 = scalar, U08, 1180, "", 1, 0 +; total TS size = 1184 +cranking1 = bits, U32, 1184, [0:0] +notRunning1 = bits, U32, 1184, [1:1] +disabledWhileEngineStopped1 = bits, U32, 1184, [2:2] +brokenClt1 = bits, U32, 1184, [3:3] +enabledForAc1 = bits, U32, 1184, [4:4] +hot1 = bits, U32, 1184, [5:5] +cold1 = bits, U32, 1184, [6:6] +disabledBySpeed1 = bits, U32, 1184, [7:7] +radiatorFanStatus1 = scalar, U08, 1188, "", 1, 0 +; total TS size = 1192 +isPrime = bits, U32, 1192, [0:0] +engineTurnedRecently = bits, U32, 1192, [1:1] +isFuelPumpOn = bits, U32, 1192, [2:2] +ignitionOn = bits, U32, 1192, [3:3] +; total TS size = 1196 +isBenchTest = bits, U32, 1196, [0:0] +hasIgnitionVoltage = bits, U32, 1196, [1:1] +mainRelayState = bits, U32, 1196, [2:2] +delayedShutoffRequested = bits, U32, 1196, [3:3] +; total TS size = 1200 +lua_fuelAdd = scalar, F32, 1200, "g", 1, 0 +lua_fuelMult = scalar, F32, 1204, "", 1, 0 +lua_clutchUpState = bits, U32, 1208, [0:0] +lua_brakePedalState = bits, U32, 1208, [1:1] +lua_acRequestState = bits, U32, 1208, [2:2] +lua_luaDisableEtb = bits, U32, 1208, [3:3] +lua_luaIgnCut = bits, U32, 1208, [4:4] +lua_luaFuelCut = bits, U32, 1208, [5:5] +lua_clutchDownState = bits, U32, 1208, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1208, [7:7] +sd_tCharge = scalar, S16, 1212, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1216, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1220, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1224, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1228, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1232, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1236, "", 1, 0 +hellenBoardId = scalar, S16, 1240, "id", 1, 0 +clutchUpState = scalar, S08, 1242, "", 1, 0 +clutchDownState = scalar, S08, 1243, "", 1, 0 +brakePedalState = scalar, S08, 1244, "", 1, 0 +startStopState = scalar, S08, 1245, "", 1, 0 +smartChipState = scalar, S08, 1246, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1247, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1248, "", 1, 0 +startStopPhysicalState = bits, U32, 1252, [0:0] +acrActive = bits, U32, 1252, [1:1] +acrEngineMovedRecently = bits, U32, 1252, [2:2] +heaterControlEnabled = bits, U32, 1252, [3:3] +luaDigitalState0 = bits, U32, 1252, [4:4] +luaDigitalState1 = bits, U32, 1252, [5:5] +luaDigitalState2 = bits, U32, 1252, [6:6] +luaDigitalState3 = bits, U32, 1252, [7:7] +startStopStateToggleCounter = scalar, U32, 1256, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1260, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1264, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1268, "", 1, 0 +desiredRpmLimit = scalar, S16, 1272, "rpm", 1, 0 +fuelInjectionCounter = scalar, U32, 1276, "", 1, 0 +globalSparkCounter = scalar, U32, 1280, "", 1, 0 +fuelingLoad = scalar, F32, 1284, "", 1, 0 +ignitionLoad = scalar, F32, 1288, "", 1, 0 +veTableYAxis = scalar, U16, 1292, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1294, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1295, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1296, "", 1, 0 +; total TS size = 1300 +tpsFrom = scalar, F32, 1300 +tpsTo = scalar, F32, 1304 +deltaTps = scalar, F32, 1308 +extraFuel = scalar, F32, 1312, "", 1, 0 +valueFromTable = scalar, F32, 1316, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1320, [0:0] +isBelowDecelThreshold = bits, U32, 1320, [1:1] +isTimeToResetAccumulator = bits, U32, 1320, [2:2] +isFractionalEnrichment = bits, U32, 1320, [3:3] +belowEpsilon = bits, U32, 1320, [4:4] +tooShort = bits, U32, 1320, [5:5] +fractionalInjFuel = scalar, F32, 1324, "", 1, 0 +accumulatedValue = scalar, F32, 1328, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1332, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1336, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1340, "", 1, 0 +cycleCnt = scalar, S32, 1344, "", 1, 0 +; total TS size = 1348 +hwEventCounters1 = scalar, U32, 1348, "", 1, 0 +hwEventCounters2 = scalar, U32, 1352, "", 1, 0 +hwEventCounters3 = scalar, U32, 1356, "", 1, 0 +hwEventCounters4 = scalar, U32, 1360, "", 1, 0 +hwEventCounters5 = scalar, U32, 1364, "", 1, 0 +hwEventCounters6 = scalar, U32, 1368, "", 1, 0 +vvtCamCounter = scalar, U32, 1372, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1376, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1380, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1384, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1385, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1388, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1392, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1396, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1400, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1404, [0:0] +triggerElapsedUs = scalar, U32, 1408, "", 1, 0 +; total TS size = 1412 +crankSynchronizationCounter0 = scalar, U32, 1412, "", 1, 0 +vvtSyncGapRatio0 = scalar, F32, 1416, "", 1, 0 +vvtToothDurations00 = scalar, U32, 1420, "us", 1, 0 +vvtCurrentPosition0 = scalar, F32, 1424, "sync: Primary Cam Position", 1, 0 +vvtToothPosition10 = scalar, F32, 1428, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition20 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition30 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition40 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio0 = scalar, F32, 1444, "", 1, 0 +triggerStateIndex0 = scalar, U08, 1448, "", 1, 0 +vvtStateIndex0 = scalar, U08, 1449, "", 1, 0 +; total TS size = 1452 +crankSynchronizationCounter1 = scalar, U32, 1452, "", 1, 0 +vvtSyncGapRatio1 = scalar, F32, 1456, "", 1, 0 +vvtToothDurations01 = scalar, U32, 1460, "us", 1, 0 +vvtCurrentPosition1 = scalar, F32, 1464, "sync: Primary Cam Position", 1, 0 +vvtToothPosition11 = scalar, F32, 1468, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition21 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition31 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition41 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio1 = scalar, F32, 1484, "", 1, 0 +triggerStateIndex1 = scalar, U08, 1488, "", 1, 0 +vvtStateIndex1 = scalar, U08, 1489, "", 1, 0 +; total TS size = 1492 +crankSynchronizationCounter2 = scalar, U32, 1492, "", 1, 0 +vvtSyncGapRatio2 = scalar, F32, 1496, "", 1, 0 +vvtToothDurations02 = scalar, U32, 1500, "us", 1, 0 +vvtCurrentPosition2 = scalar, F32, 1504, "sync: Primary Cam Position", 1, 0 +vvtToothPosition12 = scalar, F32, 1508, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition22 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition32 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition42 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio2 = scalar, F32, 1524, "", 1, 0 +triggerStateIndex2 = scalar, U08, 1528, "", 1, 0 +vvtStateIndex2 = scalar, U08, 1529, "", 1, 0 +; total TS size = 1532 +crankSynchronizationCounter3 = scalar, U32, 1532, "", 1, 0 +vvtSyncGapRatio3 = scalar, F32, 1536, "", 1, 0 +vvtToothDurations03 = scalar, U32, 1540, "us", 1, 0 +vvtCurrentPosition3 = scalar, F32, 1544, "sync: Primary Cam Position", 1, 0 +vvtToothPosition13 = scalar, F32, 1548, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition23 = scalar, F32, 1552, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition33 = scalar, F32, 1556, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition43 = scalar, F32, 1560, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio3 = scalar, F32, 1564, "", 1, 0 +triggerStateIndex3 = scalar, U08, 1568, "", 1, 0 +vvtStateIndex3 = scalar, U08, 1569, "", 1, 0 +; total TS size = 1572 +crankSynchronizationCounter4 = scalar, U32, 1572, "", 1, 0 +vvtSyncGapRatio4 = scalar, F32, 1576, "", 1, 0 +vvtToothDurations04 = scalar, U32, 1580, "us", 1, 0 +vvtCurrentPosition4 = scalar, F32, 1584, "sync: Primary Cam Position", 1, 0 +vvtToothPosition14 = scalar, F32, 1588, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition24 = scalar, F32, 1592, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition34 = scalar, F32, 1596, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition44 = scalar, F32, 1600, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio4 = scalar, F32, 1604, "", 1, 0 +triggerStateIndex4 = scalar, U08, 1608, "", 1, 0 +vvtStateIndex4 = scalar, U08, 1609, "", 1, 0 +; total TS size = 1612 +camResyncCounter = scalar, U08, 1612, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1616, [0:0] +; total TS size = 1620 +wallFuelCorrection = scalar, F32, 1620, "", 1, 0 +wallFuel = scalar, F32, 1624, "", 1, 0 +; total TS size = 1628 +idleState = bits, S32, 1628, [0:2], "not important" +currentIdlePosition = scalar, F32, 1632 +baseIdlePosition = scalar, F32, 1636 +idleClosedLoop = scalar, F32, 1640 +iacByTpsTaper = scalar, F32, 1644 +throttlePedalUpState = scalar, S32, 1648, "", 1, 0 +mightResetPid = bits, U32, 1652, [0:0] +shouldResetPid = bits, U32, 1652, [1:1] +wasResetPid = bits, U32, 1652, [2:2] +mustResetPid = bits, U32, 1652, [3:3] +isCranking = bits, U32, 1652, [4:4] +isIacTableForCoasting = bits, U32, 1652, [5:5] +notIdling = bits, U32, 1652, [6:6] +needReset = bits, U32, 1652, [7:7] +isInDeadZone = bits, U32, 1652, [8:8] +isBlipping = bits, U32, 1652, [9:9] +useClosedLoop = bits, U32, 1652, [10:10] +badTps = bits, U32, 1652, [11:11] +looksLikeRunning = bits, U32, 1652, [12:12] +looksLikeCoasting = bits, U32, 1652, [13:13] +looksLikeCrankToIdle = bits, U32, 1652, [14:14] +isIdleCoasting = bits, U32, 1652, [15:15] +isIdleClosedLoop = bits, U32, 1652, [16:16] +idleTarget = scalar, S32, 1656, "", 1, 0 +targetRpmByClt = scalar, S32, 1660, "", 1, 0 +targetRpmAc = scalar, S32, 1664, "", 1, 0 +iacByRpmTaper = scalar, F32, 1668 +luaAdd = scalar, F32, 1672 +; total TS size = 1676 +targetWithIdlePosition0 = scalar, F32, 1676, "per", 1,0 +trim0 = scalar, F32, 1680, "", 1, 0 +luaAdjustment0 = scalar, F32, 1684, "per", 1,0 +m_wastegatePosition0 = scalar, F32, 1688, "per", 1,0 +etbFeedForward0 = scalar, F32, 1692 +etbIntegralError0 = scalar, F32, 1696, "", 1, 0 +etbCurrentTarget0 = scalar, F32, 1700, "%", 1, 0 +etbCurrentAdjustedTarget0 = scalar, F32, 1704, "%", 1, 0 +etbRevLimitActive0 = bits, U32, 1708, [0:0] +jamDetected0 = bits, U32, 1708, [1:1] +etbTpsErrorCounter0 = scalar, U16, 1712, "count", 1,0 +etbPpsErrorCounter0 = scalar, U16, 1714, "count", 1,0 +etbErrorCode0 = scalar, S08, 1716, "", 1, 0 +tcEtbDrop0 = scalar, S08, 1717, "%", 1, 0 +jamTimer0 = scalar, U16, 1718, "sec", 0.01, 0 +adjustedEtbTarget0 = scalar, S08, 1720, "%", 1, 0 +; total TS size = 1724 +targetWithIdlePosition1 = scalar, F32, 1724, "per", 1,0 +trim1 = scalar, F32, 1728, "", 1, 0 +luaAdjustment1 = scalar, F32, 1732, "per", 1,0 +m_wastegatePosition1 = scalar, F32, 1736, "per", 1,0 +etbFeedForward1 = scalar, F32, 1740 +etbIntegralError1 = scalar, F32, 1744, "", 1, 0 +etbCurrentTarget1 = scalar, F32, 1748, "%", 1, 0 +etbCurrentAdjustedTarget1 = scalar, F32, 1752, "%", 1, 0 +etbRevLimitActive1 = bits, U32, 1756, [0:0] +jamDetected1 = bits, U32, 1756, [1:1] +etbTpsErrorCounter1 = scalar, U16, 1760, "count", 1,0 +etbPpsErrorCounter1 = scalar, U16, 1762, "count", 1,0 +etbErrorCode1 = scalar, S08, 1764, "", 1, 0 +tcEtbDrop1 = scalar, S08, 1765, "%", 1, 0 +jamTimer1 = scalar, U16, 1766, "sec", 0.01, 0 +adjustedEtbTarget1 = scalar, S08, 1768, "%", 1, 0 +; total TS size = 1772 +faultCode0 = scalar, U08, 1772, "", 1, 0 +heaterDuty0 = scalar, U08, 1773, "%", 1, 0 +pumpDuty0 = scalar, U08, 1774, "%", 1, 0 +tempC0 = scalar, U16, 1776, "C", 1, 0 +nernstVoltage0 = scalar, U16, 1778, "V", 0.001, 0 +esr0 = scalar, U16, 1780, "ohm", 1, 0 +; total TS size = 1784 +faultCode1 = scalar, U08, 1784, "", 1, 0 +heaterDuty1 = scalar, U08, 1785, "%", 1, 0 +pumpDuty1 = scalar, U08, 1786, "%", 1, 0 +tempC1 = scalar, U16, 1788, "C", 1, 0 +nernstVoltage1 = scalar, U16, 1790, "V", 0.001, 0 +esr1 = scalar, U16, 1792, "ohm", 1, 0 +; total TS size = 1796 +dcOutput0 = scalar, F32, 1796, "per", 1,0 +isEnabled0_int = scalar, U08, 1800, "per", 1,0 +isEnabled0 = bits, U32, 1804, [0:0] +; total TS size = 1808 +value0 = scalar, U16, 1808, "value", 1,0 +value1 = scalar, U16, 1810, "value", 1,0 +errorRate = scalar, F32, 1812, "ratio", 1,0 +; total TS size = 1816 +vvtTarget = scalar, U16, 1816, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1818, "%", 0.5, 0 +; total TS size = 1820 +lambdaCurrentlyGood = bits, U32, 1820, [0:0] +lambdaMonitorCut = bits, U32, 1820, [1:1] +lambdaTimeSinceGood = scalar, U16, 1824, "sec", 0.01, 0 +; total TS size = 1828 time = { timeNow } @@ -3630,6 +3662,7 @@ lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs8 requiresPowerCycle = cylinderBore + requiresPowerCycle = knockFrequency readOnly = warning_message readOnly = device_uid1 @@ -5047,6 +5080,26 @@ gaugeCategory = Knock knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knockSpectrumChannelCylGauge = m_knockSpectrumChannelCyl, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStartGauge = m_knockFrequencyStart, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStepGauge = m_knockFrequencyStep, "Knock Frequency Step", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFuelTrimMultiplier = m_knockFuelTrimMultiplier, "Knock Fuel Trim", "mult", 0, 0, 0, 0, 0, 30, 1, 1 + knockSpectrum1 = m_knockSpectrum1, "Knock Spectrum1", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum2 = m_knockSpectrum2, "knockSpectrum2", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum3 = m_knockSpectrum3, "knockSpectrum3", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum4 = m_knockSpectrum4, "knockSpectrum4", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum5 = m_knockSpectrum5, "knockSpectrum5", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum6 = m_knockSpectrum6, "knockSpectrum6", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum7 = m_knockSpectrum7, "knockSpectrum7", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum8 = m_knockSpectrum8, "knockSpectrum8", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum9 = m_knockSpectrum9, "knockSpectrum9", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum10 = m_knockSpectrum10, "knockSpectrum10", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum11 = m_knockSpectrum11, "knockSpectrum11", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum12 = m_knockSpectrum12, "knockSpectrum12", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum13 = m_knockSpectrum13, "knockSpectrum13", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum14 = m_knockSpectrum14, "knockSpectrum14", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum15 = m_knockSpectrum15, "knockSpectrum15", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum16 = m_knockSpectrum16, "knockSpectrum16", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -5646,6 +5699,26 @@ entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" entry = m_knockCount, "Knock: Count", int, "%d" entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_knockFrequency, "knock: frequency", int, "%d" +entry = m_knockSpectrum1, "Knock: SpectrumData 1", int, "%d" +entry = m_knockSpectrum2, "Knock: SpectrumData 2", int, "%d" +entry = m_knockSpectrum3, "Knock: SpectrumData 3", int, "%d" +entry = m_knockSpectrum4, "Knock: SpectrumData 4", int, "%d" +entry = m_knockSpectrum5, "Knock: SpectrumData 5", int, "%d" +entry = m_knockSpectrum6, "Knock: SpectrumData 6", int, "%d" +entry = m_knockSpectrum7, "Knock: SpectrumData 7", int, "%d" +entry = m_knockSpectrum8, "Knock: SpectrumData 8", int, "%d" +entry = m_knockSpectrum9, "Knock: SpectrumData 9", int, "%d" +entry = m_knockSpectrum10, "Knock: SpectrumData 10", int, "%d" +entry = m_knockSpectrum11, "Knock: SpectrumData 11", int, "%d" +entry = m_knockSpectrum12, "Knock: SpectrumData 12", int, "%d" +entry = m_knockSpectrum13, "Knock: SpectrumData 13", int, "%d" +entry = m_knockSpectrum14, "Knock: SpectrumData 14", int, "%d" +entry = m_knockSpectrum15, "Knock: SpectrumData 15", int, "%d" +entry = m_knockSpectrum16, "Knock: SpectrumData 16", int, "%d" +entry = m_knockSpectrumChannelCyl, "Knock: ChannelAndCylNumber", int, "%d" +entry = m_knockFrequencyStart, "Knock: Start Freq", int, "%d" +entry = m_knockFrequencyStep, "Knock: Step Freq", float, "%.3f" +entry = m_knockFuelTrimMultiplier, "Knock: Fuel trim when knock", float, "%.3f" entry = tcuCurrentGear, "TCU: Current Gear", int, "%d" entry = tcRatio, "TCU: Torque Converter Ratio", float, "%.3f" entry = lastShiftTime, "lastShiftTime", float, "%.3f" @@ -6554,6 +6627,31 @@ dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard graphLine = m_knockFrequency + graphLine = m_knockSpectrum1 + graphLine = m_knockSpectrum2 + liveGraph = knock_controller_6_Graph, "Graph", South + graphLine = m_knockSpectrum3 + graphLine = m_knockSpectrum4 + graphLine = m_knockSpectrum5 + graphLine = m_knockSpectrum6 + liveGraph = knock_controller_7_Graph, "Graph", South + graphLine = m_knockSpectrum7 + graphLine = m_knockSpectrum8 + graphLine = m_knockSpectrum9 + graphLine = m_knockSpectrum10 + liveGraph = knock_controller_8_Graph, "Graph", South + graphLine = m_knockSpectrum11 + graphLine = m_knockSpectrum12 + graphLine = m_knockSpectrum13 + graphLine = m_knockSpectrum14 + liveGraph = knock_controller_9_Graph, "Graph", South + graphLine = m_knockSpectrum15 + graphLine = m_knockSpectrum16 + graphLine = m_knockSpectrumChannelCyl + graphLine = m_knockFrequencyStart + liveGraph = knock_controller_10_Graph, "Graph", South + graphLine = m_knockFrequencyStep + graphLine = m_knockFuelTrimMultiplier indicatorPanel = tcu_controllerIndicatorPanel, 2 indicator = {isShifting}, "isShifting No", "isShifting Yes" @@ -8588,9 +8686,13 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockCfg, "Sense" field = "Enable", enableSoftwareKnock field = "Cylinder Bore", cylinderBore, {enableSoftwareKnock} + field = "Estimated Knock Frequency",knockFrequency, {enableSoftwareKnock} field = "Detection mode", knockDetectionUseDoubleFrequency field = "Detection Window Start",knockDetectionWindowStart, {enableSoftwareKnock} field = "Sampling Duration", knockSamplingDuration, {enableSoftwareKnock} + field = "Enable Knock Spectrogram", enableKnockSpectrogram, {enableSoftwareKnock} + field = "Enable Knock Spectrogram Filter", enableKnockSpectrogramFilter, {enableKnockSpectrogram} + field = "Knock Spectrum Sensitivity", knockSpectrumSensitivity, {enableKnockSpectrogram} field = "" field = "Select the nearest sensor for each cylinder" @@ -8610,6 +8712,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockResponseCfg, "Response" field = knockRetardAggression, knockRetardAggression field = knockRetardReapplyRate, knockRetardReapplyRate + field = knockFuelTrimAggression, knockFuelTrimAggression + field = knockFuelTrimReapplyRate, knockFuelTrimReapplyRate + field = knockFuelTrim, knockFuelTrim + field = knockSuppressMinTps, knockSuppressMinTps dialog = softwareKnockLeft, "" panel = softwareKnockCfg diff --git a/firmware/tunerstudio/generated/rusefi_alphax-silver.ini b/firmware/tunerstudio/generated/rusefi_alphax-silver.ini index 07237401e9..db00e95656 100644 --- a/firmware/tunerstudio/generated/rusefi_alphax-silver.ini +++ b/firmware/tunerstudio/generated/rusefi_alphax-silver.ini @@ -38,12 +38,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.10.21.alphax-silver.3143619007" + signature = "rusEFI master.2024.10.21.alphax-silver.1735887680" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.10.21.alphax-silver.3143619007" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.10.21.alphax-silver.1735887680" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -774,6 +774,7 @@ devBit7 = bits, U32, 1492, [27:27], "false", "true" unusedSkipWasHere = bits, U32, 1492, [28:28], "false", "true" invertExhaustCamVVTSignal = bits, U32, 1492, [29:29], "Rising", "Falling" enableKnockSpectrogram = bits, U32, 1492, [30:30], "false", "true" +enableKnockSpectrogramFilter = bits, U32, 1492, [31:31], "false", "true" afterCrankingIACtaperDuration = scalar, S16, 1496, "cycles", 1, 0, 0, 5000, 0 iacByTpsTaper = scalar, S16, 1498, "percent", 1, 0, 0, 500, 0 unusedAuxSeria = bits, U16, 1500, [0:8], $gpio_list @@ -1395,7 +1396,13 @@ auxLinear4_value1 = scalar, F32, 3884, "", 1, 0, -100000, 1000000, 2 auxLinear4_v2 = scalar, F32, 3888, "volts", 1, 0, 0, 10, 2 auxLinear4_value2 = scalar, F32, 3892, "", 1, 0, -100000, 1000000, 2 boardUseTempPullUp = bits, U32, 3896, [0:0], "Piggyback Mode", "With Pull Ups" -unusedOftenChangesDuringFirmwareUpdate = array, U08, 3900, [128], "units", 1, 0, 0, 1, 0 +knockSuppressMinTps = scalar, U08, 3900, "%", 1, 0, 0, 100, 1 +knockFuelTrimAggression = scalar, U08, 3901, "%", 0.1, 0, 0, 20, 1 +knockFuelTrimReapplyRate = scalar, U08, 3902, "deg/s", 0.1, 0, 0, 10, 1 +knockFuelTrim = scalar, U08, 3903, "%", 1, 0, 0, 30, 1 +knockSpectrumSensitivity = scalar, F32, 3904, "sense", 1, 0, 0, 1, 2 +knockFrequency = scalar, F32, 3908, "Hz", 1, 0, 0, 20000, 2 +unusedOftenChangesDuringFirmwareUpdate = array, U08, 3912, [116], "units", 1, 0, 0, 1, 0 postCrankingFactor = array, F32, 4028, [6x6], "mult", 1, 0, 1, 3, 2 postCrankingDurationBins = array, F32, 4172, [6], "count", 1, 0, 0, 1000, 0 postCrankingCLTBins = array, S16, 4196, [6], "C", 1, 0, -100, 250, 0 @@ -2449,6 +2456,11 @@ minimumOilPressureValues = array, U08, 22964, [8], "kPa", 10.0, 0, 0, 1000, 0 minAcPressure = "value of A/C pressure in kPa before that compressor is disengaged" maxAcPressure = "value of A/C pressure in kPa after that compressor is disengaged" minimumOilPressureTimeout = "Delay before cutting fuel due to low oil pressure. Use this to ignore short pressure blips and sensor noise." + knockSuppressMinTps = "Below TPS value all knock suppression will be disabled." + knockFuelTrimAggression = "Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump)," + knockFuelTrimReapplyRate = "After a knock event, reapply fuel at this rate." + knockFuelTrim = "Fuel trim when knock, max 30%" + knockFrequency = "Estimated knock frequency, ignore cylinderBore if this one > 0" etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, open loop component of PID closed loop control" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2561,7 +2573,7 @@ minimumOilPressureValues = array, U08, 22964, [8], "kPa", 10.0, 0, 0, 1000, 0 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1752 + ochBlockSize = 1828 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3102,370 +3114,390 @@ m_knockThreshold = scalar, F32, 960, "", 1, 0 m_knockCount = scalar, U32, 964, "", 1, 0 m_maximumRetard = scalar, F32, 968, "", 1, 0 m_knockFrequency = scalar, U32, 972, "Hz", 1, 0 -; total TS size = 976 -tcuCurrentGear = scalar, S08, 976, "gear", 1, 0 -tcRatio = scalar, U16, 978, "value", 0.01, 0 -lastShiftTime = scalar, F32, 980, "", 1, 0 -tcu_currentRange = scalar, U08, 984, "", 1, 0 -pressureControlDuty = scalar, S08, 985, "%", 1,0 -torqueConverterDuty = scalar, S08, 986, "%", 1,0 -isShifting = bits, U32, 988, [0:0] -; total TS size = 992 -throttleUseWotModel = bits, U32, 992, [0:0] -throttleModelCrossoverAngle = scalar, S16, 996, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1000, "g/s", 1, 0 -; total TS size = 1004 -m_requested_pump = scalar, F32, 1004, "", 1, 0 -fuel_requested_percent = scalar, F32, 1008, "", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1012, "", 1, 0 -noValve = bits, U32, 1016, [0:0] -angleAboveMin = bits, U32, 1016, [1:1] -isHpfpInactive = bits, U32, 1016, [2:2] -m_pressureTarget_kPa = scalar, F32, 1020, "", 1, 0 -nextLobe = scalar, F32, 1024, "", 1, 0 -di_nextStart = scalar, F32, 1028, "v", 1, 0 -; total TS size = 1032 -m_deadtime = scalar, F32, 1032, "ms", 1, 0 -pressureDelta = scalar, F32, 1036, "kPa", 1, 0 -pressureRatio = scalar, F32, 1040, "", 1, 0 -; total TS size = 1044 -retardThresholdRpm = scalar, S32, 1044, "", 1, 0 -launchActivatePinState = bits, U32, 1048, [0:0] -isPreLaunchCondition = bits, U32, 1048, [1:1] -isLaunchCondition = bits, U32, 1048, [2:2] -isSwitchActivated = bits, U32, 1048, [3:3] -isClutchActivated = bits, U32, 1048, [4:4] -isBrakePedalActivated = bits, U32, 1048, [5:5] -isValidInputPin = bits, U32, 1048, [6:6] -activateSwitchCondition = bits, U32, 1048, [7:7] -rpmLaunchCondition = bits, U32, 1048, [8:8] -rpmPreLaunchCondition = bits, U32, 1048, [9:9] -speedCondition = bits, U32, 1048, [10:10] -tpsCondition = bits, U32, 1048, [11:11] +m_knockSpectrum1 = scalar, U32, 976, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 980, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 984, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 988, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1040, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1042, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1044, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1048, "multiplier", 1, 0 ; total TS size = 1052 -isTorqueReductionTriggerPinValid = bits, U32, 1052, [0:0] -torqueReductionTriggerPinState = bits, U32, 1052, [1:1] -isTimeConditionSatisfied = bits, U32, 1052, [2:2] -isRpmConditionSatisfied = bits, U32, 1052, [3:3] -isAppConditionSatisfied = bits, U32, 1052, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1052, [5:5] -; total TS size = 1056 -isAntilagCondition = bits, U32, 1056, [0:0] -ALSMinRPMCondition = bits, U32, 1056, [1:1] -ALSMaxRPMCondition = bits, U32, 1056, [2:2] -ALSMinCLTCondition = bits, U32, 1056, [3:3] -ALSMaxCLTCondition = bits, U32, 1056, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1056, [5:5] -isALSSwitchActivated = bits, U32, 1056, [6:6] -ALSActivatePinState = bits, U32, 1056, [7:7] -ALSSwitchCondition = bits, U32, 1056, [8:8] -ALSTimerCondition = bits, U32, 1056, [9:9] -fuelALSCorrection = scalar, F32, 1060, "", 1, 0 -timingALSCorrection = scalar, S16, 1064, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1066, "deg", 0.01, 0 +tcuCurrentGear = scalar, S08, 1052, "gear", 1, 0 +tcRatio = scalar, U16, 1054, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1056, "", 1, 0 +tcu_currentRange = scalar, U08, 1060, "", 1, 0 +pressureControlDuty = scalar, S08, 1061, "%", 1,0 +torqueConverterDuty = scalar, S08, 1062, "%", 1,0 +isShifting = bits, U32, 1064, [0:0] ; total TS size = 1068 -isTpsInvalid = bits, U32, 1068, [0:0] -m_shouldResetPid = bits, U32, 1068, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1068, [2:2] -isNotClosedLoop = bits, U32, 1068, [3:3] -isZeroRpm = bits, U32, 1068, [4:4] -hasInitBoost = bits, U32, 1068, [5:5] -rpmTooLow = bits, U32, 1068, [6:6] -tpsTooLow = bits, U32, 1068, [7:7] -mapTooLow = bits, U32, 1068, [8:8] -isPlantValid = bits, U32, 1068, [9:9] -isBoostControlled = bits, U32, 1068, [10:10] -luaTargetAdd = scalar, S16, 1072, "v", 0.5,0 -boostOutput = scalar, S16, 1074, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1076, "v", 1,0 -openLoopPart = scalar, F32, 1080, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1084, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1088, "%", 0.5,0 -boostControlTarget = scalar, S16, 1090, "kPa", 0.03333333333333333,0 -; total TS size = 1092 -acButtonState = scalar, S08, 1092, "", 1, 0 -m_acEnabled = bits, U32, 1096, [0:0] -engineTooSlow = bits, U32, 1096, [1:1] -engineTooFast = bits, U32, 1096, [2:2] -noClt = bits, U32, 1096, [3:3] -engineTooHot = bits, U32, 1096, [4:4] -tpsTooHigh = bits, U32, 1096, [5:5] -isDisabledByLua = bits, U32, 1096, [6:6] -acCompressorState = bits, U32, 1096, [7:7] -acPressureTooLow = bits, U32, 1096, [8:8] -acPressureTooHigh = bits, U32, 1096, [9:9] -; total TS size = 1100 -cranking0 = bits, U32, 1100, [0:0] -notRunning0 = bits, U32, 1100, [1:1] -disabledWhileEngineStopped0 = bits, U32, 1100, [2:2] -brokenClt0 = bits, U32, 1100, [3:3] -enabledForAc0 = bits, U32, 1100, [4:4] -hot0 = bits, U32, 1100, [5:5] -cold0 = bits, U32, 1100, [6:6] -disabledBySpeed0 = bits, U32, 1100, [7:7] -radiatorFanStatus0 = scalar, U08, 1104, "", 1, 0 +throttleUseWotModel = bits, U32, 1068, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1072, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1076, "g/s", 1, 0 +; total TS size = 1080 +m_requested_pump = scalar, F32, 1080, "", 1, 0 +fuel_requested_percent = scalar, F32, 1084, "", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1088, "", 1, 0 +noValve = bits, U32, 1092, [0:0] +angleAboveMin = bits, U32, 1092, [1:1] +isHpfpInactive = bits, U32, 1092, [2:2] +m_pressureTarget_kPa = scalar, F32, 1096, "", 1, 0 +nextLobe = scalar, F32, 1100, "", 1, 0 +di_nextStart = scalar, F32, 1104, "v", 1, 0 ; total TS size = 1108 -cranking1 = bits, U32, 1108, [0:0] -notRunning1 = bits, U32, 1108, [1:1] -disabledWhileEngineStopped1 = bits, U32, 1108, [2:2] -brokenClt1 = bits, U32, 1108, [3:3] -enabledForAc1 = bits, U32, 1108, [4:4] -hot1 = bits, U32, 1108, [5:5] -cold1 = bits, U32, 1108, [6:6] -disabledBySpeed1 = bits, U32, 1108, [7:7] -radiatorFanStatus1 = scalar, U08, 1112, "", 1, 0 -; total TS size = 1116 -isPrime = bits, U32, 1116, [0:0] -engineTurnedRecently = bits, U32, 1116, [1:1] -isFuelPumpOn = bits, U32, 1116, [2:2] -ignitionOn = bits, U32, 1116, [3:3] +m_deadtime = scalar, F32, 1108, "ms", 1, 0 +pressureDelta = scalar, F32, 1112, "kPa", 1, 0 +pressureRatio = scalar, F32, 1116, "", 1, 0 ; total TS size = 1120 -isBenchTest = bits, U32, 1120, [0:0] -hasIgnitionVoltage = bits, U32, 1120, [1:1] -mainRelayState = bits, U32, 1120, [2:2] -delayedShutoffRequested = bits, U32, 1120, [3:3] -; total TS size = 1124 -lua_fuelAdd = scalar, F32, 1124, "g", 1, 0 -lua_fuelMult = scalar, F32, 1128, "", 1, 0 -lua_clutchUpState = bits, U32, 1132, [0:0] -lua_brakePedalState = bits, U32, 1132, [1:1] -lua_acRequestState = bits, U32, 1132, [2:2] -lua_luaDisableEtb = bits, U32, 1132, [3:3] -lua_luaIgnCut = bits, U32, 1132, [4:4] -lua_luaFuelCut = bits, U32, 1132, [5:5] -lua_clutchDownState = bits, U32, 1132, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1132, [7:7] -sd_tCharge = scalar, S16, 1136, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1140, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1144, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1148, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1152, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1156, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1160, "", 1, 0 -hellenBoardId = scalar, S16, 1164, "id", 1, 0 -clutchUpState = scalar, S08, 1166, "", 1, 0 -clutchDownState = scalar, S08, 1167, "", 1, 0 -brakePedalState = scalar, S08, 1168, "", 1, 0 -startStopState = scalar, S08, 1169, "", 1, 0 -smartChipState = scalar, S08, 1170, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1171, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1172, "", 1, 0 -startStopPhysicalState = bits, U32, 1176, [0:0] -acrActive = bits, U32, 1176, [1:1] -acrEngineMovedRecently = bits, U32, 1176, [2:2] -heaterControlEnabled = bits, U32, 1176, [3:3] -luaDigitalState0 = bits, U32, 1176, [4:4] -luaDigitalState1 = bits, U32, 1176, [5:5] -luaDigitalState2 = bits, U32, 1176, [6:6] -luaDigitalState3 = bits, U32, 1176, [7:7] -startStopStateToggleCounter = scalar, U32, 1180, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1184, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1188, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1192, "", 1, 0 -desiredRpmLimit = scalar, S16, 1196, "rpm", 1, 0 -fuelInjectionCounter = scalar, U32, 1200, "", 1, 0 -globalSparkCounter = scalar, U32, 1204, "", 1, 0 -fuelingLoad = scalar, F32, 1208, "", 1, 0 -ignitionLoad = scalar, F32, 1212, "", 1, 0 -veTableYAxis = scalar, U16, 1216, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1218, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1219, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1220, "", 1, 0 -; total TS size = 1224 -tpsFrom = scalar, F32, 1224 -tpsTo = scalar, F32, 1228 -deltaTps = scalar, F32, 1232 -extraFuel = scalar, F32, 1236, "", 1, 0 -valueFromTable = scalar, F32, 1240, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1244, [0:0] -isBelowDecelThreshold = bits, U32, 1244, [1:1] -isTimeToResetAccumulator = bits, U32, 1244, [2:2] -isFractionalEnrichment = bits, U32, 1244, [3:3] -belowEpsilon = bits, U32, 1244, [4:4] -tooShort = bits, U32, 1244, [5:5] -fractionalInjFuel = scalar, F32, 1248, "", 1, 0 -accumulatedValue = scalar, F32, 1252, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1256, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1260, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1264, "", 1, 0 -cycleCnt = scalar, S32, 1268, "", 1, 0 -; total TS size = 1272 -hwEventCounters1 = scalar, U32, 1272, "", 1, 0 -hwEventCounters2 = scalar, U32, 1276, "", 1, 0 -hwEventCounters3 = scalar, U32, 1280, "", 1, 0 -hwEventCounters4 = scalar, U32, 1284, "", 1, 0 -hwEventCounters5 = scalar, U32, 1288, "", 1, 0 -hwEventCounters6 = scalar, U32, 1292, "", 1, 0 -vvtCamCounter = scalar, U32, 1296, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1300, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1304, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1308, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1309, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1312, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1316, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1320, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1324, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1328, [0:0] -triggerElapsedUs = scalar, U32, 1332, "", 1, 0 -; total TS size = 1336 -crankSynchronizationCounter0 = scalar, U32, 1336, "", 1, 0 -vvtSyncGapRatio0 = scalar, F32, 1340, "", 1, 0 -vvtToothDurations00 = scalar, U32, 1344, "us", 1, 0 -vvtCurrentPosition0 = scalar, F32, 1348, "sync: Primary Cam Position", 1, 0 -vvtToothPosition10 = scalar, F32, 1352, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition20 = scalar, F32, 1356, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition30 = scalar, F32, 1360, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition40 = scalar, F32, 1364, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio0 = scalar, F32, 1368, "", 1, 0 -triggerStateIndex0 = scalar, U08, 1372, "", 1, 0 -vvtStateIndex0 = scalar, U08, 1373, "", 1, 0 -; total TS size = 1376 -crankSynchronizationCounter1 = scalar, U32, 1376, "", 1, 0 -vvtSyncGapRatio1 = scalar, F32, 1380, "", 1, 0 -vvtToothDurations01 = scalar, U32, 1384, "us", 1, 0 -vvtCurrentPosition1 = scalar, F32, 1388, "sync: Primary Cam Position", 1, 0 -vvtToothPosition11 = scalar, F32, 1392, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition21 = scalar, F32, 1396, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition31 = scalar, F32, 1400, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition41 = scalar, F32, 1404, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio1 = scalar, F32, 1408, "", 1, 0 -triggerStateIndex1 = scalar, U08, 1412, "", 1, 0 -vvtStateIndex1 = scalar, U08, 1413, "", 1, 0 -; total TS size = 1416 -crankSynchronizationCounter2 = scalar, U32, 1416, "", 1, 0 -vvtSyncGapRatio2 = scalar, F32, 1420, "", 1, 0 -vvtToothDurations02 = scalar, U32, 1424, "us", 1, 0 -vvtCurrentPosition2 = scalar, F32, 1428, "sync: Primary Cam Position", 1, 0 -vvtToothPosition12 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition22 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition32 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition42 = scalar, F32, 1444, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio2 = scalar, F32, 1448, "", 1, 0 -triggerStateIndex2 = scalar, U08, 1452, "", 1, 0 -vvtStateIndex2 = scalar, U08, 1453, "", 1, 0 -; total TS size = 1456 -crankSynchronizationCounter3 = scalar, U32, 1456, "", 1, 0 -vvtSyncGapRatio3 = scalar, F32, 1460, "", 1, 0 -vvtToothDurations03 = scalar, U32, 1464, "us", 1, 0 -vvtCurrentPosition3 = scalar, F32, 1468, "sync: Primary Cam Position", 1, 0 -vvtToothPosition13 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition23 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition33 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition43 = scalar, F32, 1484, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio3 = scalar, F32, 1488, "", 1, 0 -triggerStateIndex3 = scalar, U08, 1492, "", 1, 0 -vvtStateIndex3 = scalar, U08, 1493, "", 1, 0 -; total TS size = 1496 -crankSynchronizationCounter4 = scalar, U32, 1496, "", 1, 0 -vvtSyncGapRatio4 = scalar, F32, 1500, "", 1, 0 -vvtToothDurations04 = scalar, U32, 1504, "us", 1, 0 -vvtCurrentPosition4 = scalar, F32, 1508, "sync: Primary Cam Position", 1, 0 -vvtToothPosition14 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition24 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition34 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition44 = scalar, F32, 1524, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio4 = scalar, F32, 1528, "", 1, 0 -triggerStateIndex4 = scalar, U08, 1532, "", 1, 0 -vvtStateIndex4 = scalar, U08, 1533, "", 1, 0 -; total TS size = 1536 -camResyncCounter = scalar, U08, 1536, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1540, [0:0] -; total TS size = 1544 -wallFuelCorrection = scalar, F32, 1544, "", 1, 0 -wallFuel = scalar, F32, 1548, "", 1, 0 -; total TS size = 1552 -idleState = bits, S32, 1552, [0:2], "not important" -currentIdlePosition = scalar, F32, 1556 -baseIdlePosition = scalar, F32, 1560 -idleClosedLoop = scalar, F32, 1564 -iacByTpsTaper = scalar, F32, 1568 -throttlePedalUpState = scalar, S32, 1572, "", 1, 0 -mightResetPid = bits, U32, 1576, [0:0] -shouldResetPid = bits, U32, 1576, [1:1] -wasResetPid = bits, U32, 1576, [2:2] -mustResetPid = bits, U32, 1576, [3:3] -isCranking = bits, U32, 1576, [4:4] -isIacTableForCoasting = bits, U32, 1576, [5:5] -notIdling = bits, U32, 1576, [6:6] -needReset = bits, U32, 1576, [7:7] -isInDeadZone = bits, U32, 1576, [8:8] -isBlipping = bits, U32, 1576, [9:9] -useClosedLoop = bits, U32, 1576, [10:10] -badTps = bits, U32, 1576, [11:11] -looksLikeRunning = bits, U32, 1576, [12:12] -looksLikeCoasting = bits, U32, 1576, [13:13] -looksLikeCrankToIdle = bits, U32, 1576, [14:14] -isIdleCoasting = bits, U32, 1576, [15:15] -isIdleClosedLoop = bits, U32, 1576, [16:16] -idleTarget = scalar, S32, 1580, "", 1, 0 -targetRpmByClt = scalar, S32, 1584, "", 1, 0 -targetRpmAc = scalar, S32, 1588, "", 1, 0 -iacByRpmTaper = scalar, F32, 1592 -luaAdd = scalar, F32, 1596 -; total TS size = 1600 -targetWithIdlePosition0 = scalar, F32, 1600, "per", 1,0 -trim0 = scalar, F32, 1604, "", 1, 0 -luaAdjustment0 = scalar, F32, 1608, "per", 1,0 -m_wastegatePosition0 = scalar, F32, 1612, "per", 1,0 -etbFeedForward0 = scalar, F32, 1616 -etbIntegralError0 = scalar, F32, 1620, "", 1, 0 -etbCurrentTarget0 = scalar, F32, 1624, "%", 1, 0 -etbCurrentAdjustedTarget0 = scalar, F32, 1628, "%", 1, 0 -etbRevLimitActive0 = bits, U32, 1632, [0:0] -jamDetected0 = bits, U32, 1632, [1:1] -etbTpsErrorCounter0 = scalar, U16, 1636, "count", 1,0 -etbPpsErrorCounter0 = scalar, U16, 1638, "count", 1,0 -etbErrorCode0 = scalar, S08, 1640, "", 1, 0 -tcEtbDrop0 = scalar, S08, 1641, "%", 1, 0 -jamTimer0 = scalar, U16, 1642, "sec", 0.01, 0 -adjustedEtbTarget0 = scalar, S08, 1644, "%", 1, 0 -; total TS size = 1648 -targetWithIdlePosition1 = scalar, F32, 1648, "per", 1,0 -trim1 = scalar, F32, 1652, "", 1, 0 -luaAdjustment1 = scalar, F32, 1656, "per", 1,0 -m_wastegatePosition1 = scalar, F32, 1660, "per", 1,0 -etbFeedForward1 = scalar, F32, 1664 -etbIntegralError1 = scalar, F32, 1668, "", 1, 0 -etbCurrentTarget1 = scalar, F32, 1672, "%", 1, 0 -etbCurrentAdjustedTarget1 = scalar, F32, 1676, "%", 1, 0 -etbRevLimitActive1 = bits, U32, 1680, [0:0] -jamDetected1 = bits, U32, 1680, [1:1] -etbTpsErrorCounter1 = scalar, U16, 1684, "count", 1,0 -etbPpsErrorCounter1 = scalar, U16, 1686, "count", 1,0 -etbErrorCode1 = scalar, S08, 1688, "", 1, 0 -tcEtbDrop1 = scalar, S08, 1689, "%", 1, 0 -jamTimer1 = scalar, U16, 1690, "sec", 0.01, 0 -adjustedEtbTarget1 = scalar, S08, 1692, "%", 1, 0 -; total TS size = 1696 -faultCode0 = scalar, U08, 1696, "", 1, 0 -heaterDuty0 = scalar, U08, 1697, "%", 1, 0 -pumpDuty0 = scalar, U08, 1698, "%", 1, 0 -tempC0 = scalar, U16, 1700, "C", 1, 0 -nernstVoltage0 = scalar, U16, 1702, "V", 0.001, 0 -esr0 = scalar, U16, 1704, "ohm", 1, 0 -; total TS size = 1708 -faultCode1 = scalar, U08, 1708, "", 1, 0 -heaterDuty1 = scalar, U08, 1709, "%", 1, 0 -pumpDuty1 = scalar, U08, 1710, "%", 1, 0 -tempC1 = scalar, U16, 1712, "C", 1, 0 -nernstVoltage1 = scalar, U16, 1714, "V", 0.001, 0 -esr1 = scalar, U16, 1716, "ohm", 1, 0 -; total TS size = 1720 -dcOutput0 = scalar, F32, 1720, "per", 1,0 -isEnabled0_int = scalar, U08, 1724, "per", 1,0 -isEnabled0 = bits, U32, 1728, [0:0] -; total TS size = 1732 -value0 = scalar, U16, 1732, "value", 1,0 -value1 = scalar, U16, 1734, "value", 1,0 -errorRate = scalar, F32, 1736, "ratio", 1,0 -; total TS size = 1740 -vvtTarget = scalar, U16, 1740, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1742, "%", 0.5, 0 -; total TS size = 1744 -lambdaCurrentlyGood = bits, U32, 1744, [0:0] -lambdaMonitorCut = bits, U32, 1744, [1:1] -lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 -; total TS size = 1752 +retardThresholdRpm = scalar, S32, 1120, "", 1, 0 +launchActivatePinState = bits, U32, 1124, [0:0] +isPreLaunchCondition = bits, U32, 1124, [1:1] +isLaunchCondition = bits, U32, 1124, [2:2] +isSwitchActivated = bits, U32, 1124, [3:3] +isClutchActivated = bits, U32, 1124, [4:4] +isBrakePedalActivated = bits, U32, 1124, [5:5] +isValidInputPin = bits, U32, 1124, [6:6] +activateSwitchCondition = bits, U32, 1124, [7:7] +rpmLaunchCondition = bits, U32, 1124, [8:8] +rpmPreLaunchCondition = bits, U32, 1124, [9:9] +speedCondition = bits, U32, 1124, [10:10] +tpsCondition = bits, U32, 1124, [11:11] +; total TS size = 1128 +isTorqueReductionTriggerPinValid = bits, U32, 1128, [0:0] +torqueReductionTriggerPinState = bits, U32, 1128, [1:1] +isTimeConditionSatisfied = bits, U32, 1128, [2:2] +isRpmConditionSatisfied = bits, U32, 1128, [3:3] +isAppConditionSatisfied = bits, U32, 1128, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1128, [5:5] +; total TS size = 1132 +isAntilagCondition = bits, U32, 1132, [0:0] +ALSMinRPMCondition = bits, U32, 1132, [1:1] +ALSMaxRPMCondition = bits, U32, 1132, [2:2] +ALSMinCLTCondition = bits, U32, 1132, [3:3] +ALSMaxCLTCondition = bits, U32, 1132, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1132, [5:5] +isALSSwitchActivated = bits, U32, 1132, [6:6] +ALSActivatePinState = bits, U32, 1132, [7:7] +ALSSwitchCondition = bits, U32, 1132, [8:8] +ALSTimerCondition = bits, U32, 1132, [9:9] +fuelALSCorrection = scalar, F32, 1136, "", 1, 0 +timingALSCorrection = scalar, S16, 1140, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1142, "deg", 0.01, 0 +; total TS size = 1144 +isTpsInvalid = bits, U32, 1144, [0:0] +m_shouldResetPid = bits, U32, 1144, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1144, [2:2] +isNotClosedLoop = bits, U32, 1144, [3:3] +isZeroRpm = bits, U32, 1144, [4:4] +hasInitBoost = bits, U32, 1144, [5:5] +rpmTooLow = bits, U32, 1144, [6:6] +tpsTooLow = bits, U32, 1144, [7:7] +mapTooLow = bits, U32, 1144, [8:8] +isPlantValid = bits, U32, 1144, [9:9] +isBoostControlled = bits, U32, 1144, [10:10] +luaTargetAdd = scalar, S16, 1148, "v", 0.5,0 +boostOutput = scalar, S16, 1150, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1152, "v", 1,0 +openLoopPart = scalar, F32, 1156, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1160, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1164, "%", 0.5,0 +boostControlTarget = scalar, S16, 1166, "kPa", 0.03333333333333333,0 +; total TS size = 1168 +acButtonState = scalar, S08, 1168, "", 1, 0 +m_acEnabled = bits, U32, 1172, [0:0] +engineTooSlow = bits, U32, 1172, [1:1] +engineTooFast = bits, U32, 1172, [2:2] +noClt = bits, U32, 1172, [3:3] +engineTooHot = bits, U32, 1172, [4:4] +tpsTooHigh = bits, U32, 1172, [5:5] +isDisabledByLua = bits, U32, 1172, [6:6] +acCompressorState = bits, U32, 1172, [7:7] +acPressureTooLow = bits, U32, 1172, [8:8] +acPressureTooHigh = bits, U32, 1172, [9:9] +; total TS size = 1176 +cranking0 = bits, U32, 1176, [0:0] +notRunning0 = bits, U32, 1176, [1:1] +disabledWhileEngineStopped0 = bits, U32, 1176, [2:2] +brokenClt0 = bits, U32, 1176, [3:3] +enabledForAc0 = bits, U32, 1176, [4:4] +hot0 = bits, U32, 1176, [5:5] +cold0 = bits, U32, 1176, [6:6] +disabledBySpeed0 = bits, U32, 1176, [7:7] +radiatorFanStatus0 = scalar, U08, 1180, "", 1, 0 +; total TS size = 1184 +cranking1 = bits, U32, 1184, [0:0] +notRunning1 = bits, U32, 1184, [1:1] +disabledWhileEngineStopped1 = bits, U32, 1184, [2:2] +brokenClt1 = bits, U32, 1184, [3:3] +enabledForAc1 = bits, U32, 1184, [4:4] +hot1 = bits, U32, 1184, [5:5] +cold1 = bits, U32, 1184, [6:6] +disabledBySpeed1 = bits, U32, 1184, [7:7] +radiatorFanStatus1 = scalar, U08, 1188, "", 1, 0 +; total TS size = 1192 +isPrime = bits, U32, 1192, [0:0] +engineTurnedRecently = bits, U32, 1192, [1:1] +isFuelPumpOn = bits, U32, 1192, [2:2] +ignitionOn = bits, U32, 1192, [3:3] +; total TS size = 1196 +isBenchTest = bits, U32, 1196, [0:0] +hasIgnitionVoltage = bits, U32, 1196, [1:1] +mainRelayState = bits, U32, 1196, [2:2] +delayedShutoffRequested = bits, U32, 1196, [3:3] +; total TS size = 1200 +lua_fuelAdd = scalar, F32, 1200, "g", 1, 0 +lua_fuelMult = scalar, F32, 1204, "", 1, 0 +lua_clutchUpState = bits, U32, 1208, [0:0] +lua_brakePedalState = bits, U32, 1208, [1:1] +lua_acRequestState = bits, U32, 1208, [2:2] +lua_luaDisableEtb = bits, U32, 1208, [3:3] +lua_luaIgnCut = bits, U32, 1208, [4:4] +lua_luaFuelCut = bits, U32, 1208, [5:5] +lua_clutchDownState = bits, U32, 1208, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1208, [7:7] +sd_tCharge = scalar, S16, 1212, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1216, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1220, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1224, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1228, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1232, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1236, "", 1, 0 +hellenBoardId = scalar, S16, 1240, "id", 1, 0 +clutchUpState = scalar, S08, 1242, "", 1, 0 +clutchDownState = scalar, S08, 1243, "", 1, 0 +brakePedalState = scalar, S08, 1244, "", 1, 0 +startStopState = scalar, S08, 1245, "", 1, 0 +smartChipState = scalar, S08, 1246, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1247, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1248, "", 1, 0 +startStopPhysicalState = bits, U32, 1252, [0:0] +acrActive = bits, U32, 1252, [1:1] +acrEngineMovedRecently = bits, U32, 1252, [2:2] +heaterControlEnabled = bits, U32, 1252, [3:3] +luaDigitalState0 = bits, U32, 1252, [4:4] +luaDigitalState1 = bits, U32, 1252, [5:5] +luaDigitalState2 = bits, U32, 1252, [6:6] +luaDigitalState3 = bits, U32, 1252, [7:7] +startStopStateToggleCounter = scalar, U32, 1256, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1260, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1264, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1268, "", 1, 0 +desiredRpmLimit = scalar, S16, 1272, "rpm", 1, 0 +fuelInjectionCounter = scalar, U32, 1276, "", 1, 0 +globalSparkCounter = scalar, U32, 1280, "", 1, 0 +fuelingLoad = scalar, F32, 1284, "", 1, 0 +ignitionLoad = scalar, F32, 1288, "", 1, 0 +veTableYAxis = scalar, U16, 1292, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1294, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1295, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1296, "", 1, 0 +; total TS size = 1300 +tpsFrom = scalar, F32, 1300 +tpsTo = scalar, F32, 1304 +deltaTps = scalar, F32, 1308 +extraFuel = scalar, F32, 1312, "", 1, 0 +valueFromTable = scalar, F32, 1316, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1320, [0:0] +isBelowDecelThreshold = bits, U32, 1320, [1:1] +isTimeToResetAccumulator = bits, U32, 1320, [2:2] +isFractionalEnrichment = bits, U32, 1320, [3:3] +belowEpsilon = bits, U32, 1320, [4:4] +tooShort = bits, U32, 1320, [5:5] +fractionalInjFuel = scalar, F32, 1324, "", 1, 0 +accumulatedValue = scalar, F32, 1328, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1332, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1336, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1340, "", 1, 0 +cycleCnt = scalar, S32, 1344, "", 1, 0 +; total TS size = 1348 +hwEventCounters1 = scalar, U32, 1348, "", 1, 0 +hwEventCounters2 = scalar, U32, 1352, "", 1, 0 +hwEventCounters3 = scalar, U32, 1356, "", 1, 0 +hwEventCounters4 = scalar, U32, 1360, "", 1, 0 +hwEventCounters5 = scalar, U32, 1364, "", 1, 0 +hwEventCounters6 = scalar, U32, 1368, "", 1, 0 +vvtCamCounter = scalar, U32, 1372, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1376, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1380, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1384, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1385, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1388, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1392, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1396, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1400, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1404, [0:0] +triggerElapsedUs = scalar, U32, 1408, "", 1, 0 +; total TS size = 1412 +crankSynchronizationCounter0 = scalar, U32, 1412, "", 1, 0 +vvtSyncGapRatio0 = scalar, F32, 1416, "", 1, 0 +vvtToothDurations00 = scalar, U32, 1420, "us", 1, 0 +vvtCurrentPosition0 = scalar, F32, 1424, "sync: Primary Cam Position", 1, 0 +vvtToothPosition10 = scalar, F32, 1428, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition20 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition30 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition40 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio0 = scalar, F32, 1444, "", 1, 0 +triggerStateIndex0 = scalar, U08, 1448, "", 1, 0 +vvtStateIndex0 = scalar, U08, 1449, "", 1, 0 +; total TS size = 1452 +crankSynchronizationCounter1 = scalar, U32, 1452, "", 1, 0 +vvtSyncGapRatio1 = scalar, F32, 1456, "", 1, 0 +vvtToothDurations01 = scalar, U32, 1460, "us", 1, 0 +vvtCurrentPosition1 = scalar, F32, 1464, "sync: Primary Cam Position", 1, 0 +vvtToothPosition11 = scalar, F32, 1468, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition21 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition31 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition41 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio1 = scalar, F32, 1484, "", 1, 0 +triggerStateIndex1 = scalar, U08, 1488, "", 1, 0 +vvtStateIndex1 = scalar, U08, 1489, "", 1, 0 +; total TS size = 1492 +crankSynchronizationCounter2 = scalar, U32, 1492, "", 1, 0 +vvtSyncGapRatio2 = scalar, F32, 1496, "", 1, 0 +vvtToothDurations02 = scalar, U32, 1500, "us", 1, 0 +vvtCurrentPosition2 = scalar, F32, 1504, "sync: Primary Cam Position", 1, 0 +vvtToothPosition12 = scalar, F32, 1508, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition22 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition32 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition42 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio2 = scalar, F32, 1524, "", 1, 0 +triggerStateIndex2 = scalar, U08, 1528, "", 1, 0 +vvtStateIndex2 = scalar, U08, 1529, "", 1, 0 +; total TS size = 1532 +crankSynchronizationCounter3 = scalar, U32, 1532, "", 1, 0 +vvtSyncGapRatio3 = scalar, F32, 1536, "", 1, 0 +vvtToothDurations03 = scalar, U32, 1540, "us", 1, 0 +vvtCurrentPosition3 = scalar, F32, 1544, "sync: Primary Cam Position", 1, 0 +vvtToothPosition13 = scalar, F32, 1548, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition23 = scalar, F32, 1552, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition33 = scalar, F32, 1556, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition43 = scalar, F32, 1560, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio3 = scalar, F32, 1564, "", 1, 0 +triggerStateIndex3 = scalar, U08, 1568, "", 1, 0 +vvtStateIndex3 = scalar, U08, 1569, "", 1, 0 +; total TS size = 1572 +crankSynchronizationCounter4 = scalar, U32, 1572, "", 1, 0 +vvtSyncGapRatio4 = scalar, F32, 1576, "", 1, 0 +vvtToothDurations04 = scalar, U32, 1580, "us", 1, 0 +vvtCurrentPosition4 = scalar, F32, 1584, "sync: Primary Cam Position", 1, 0 +vvtToothPosition14 = scalar, F32, 1588, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition24 = scalar, F32, 1592, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition34 = scalar, F32, 1596, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition44 = scalar, F32, 1600, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio4 = scalar, F32, 1604, "", 1, 0 +triggerStateIndex4 = scalar, U08, 1608, "", 1, 0 +vvtStateIndex4 = scalar, U08, 1609, "", 1, 0 +; total TS size = 1612 +camResyncCounter = scalar, U08, 1612, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1616, [0:0] +; total TS size = 1620 +wallFuelCorrection = scalar, F32, 1620, "", 1, 0 +wallFuel = scalar, F32, 1624, "", 1, 0 +; total TS size = 1628 +idleState = bits, S32, 1628, [0:2], "not important" +currentIdlePosition = scalar, F32, 1632 +baseIdlePosition = scalar, F32, 1636 +idleClosedLoop = scalar, F32, 1640 +iacByTpsTaper = scalar, F32, 1644 +throttlePedalUpState = scalar, S32, 1648, "", 1, 0 +mightResetPid = bits, U32, 1652, [0:0] +shouldResetPid = bits, U32, 1652, [1:1] +wasResetPid = bits, U32, 1652, [2:2] +mustResetPid = bits, U32, 1652, [3:3] +isCranking = bits, U32, 1652, [4:4] +isIacTableForCoasting = bits, U32, 1652, [5:5] +notIdling = bits, U32, 1652, [6:6] +needReset = bits, U32, 1652, [7:7] +isInDeadZone = bits, U32, 1652, [8:8] +isBlipping = bits, U32, 1652, [9:9] +useClosedLoop = bits, U32, 1652, [10:10] +badTps = bits, U32, 1652, [11:11] +looksLikeRunning = bits, U32, 1652, [12:12] +looksLikeCoasting = bits, U32, 1652, [13:13] +looksLikeCrankToIdle = bits, U32, 1652, [14:14] +isIdleCoasting = bits, U32, 1652, [15:15] +isIdleClosedLoop = bits, U32, 1652, [16:16] +idleTarget = scalar, S32, 1656, "", 1, 0 +targetRpmByClt = scalar, S32, 1660, "", 1, 0 +targetRpmAc = scalar, S32, 1664, "", 1, 0 +iacByRpmTaper = scalar, F32, 1668 +luaAdd = scalar, F32, 1672 +; total TS size = 1676 +targetWithIdlePosition0 = scalar, F32, 1676, "per", 1,0 +trim0 = scalar, F32, 1680, "", 1, 0 +luaAdjustment0 = scalar, F32, 1684, "per", 1,0 +m_wastegatePosition0 = scalar, F32, 1688, "per", 1,0 +etbFeedForward0 = scalar, F32, 1692 +etbIntegralError0 = scalar, F32, 1696, "", 1, 0 +etbCurrentTarget0 = scalar, F32, 1700, "%", 1, 0 +etbCurrentAdjustedTarget0 = scalar, F32, 1704, "%", 1, 0 +etbRevLimitActive0 = bits, U32, 1708, [0:0] +jamDetected0 = bits, U32, 1708, [1:1] +etbTpsErrorCounter0 = scalar, U16, 1712, "count", 1,0 +etbPpsErrorCounter0 = scalar, U16, 1714, "count", 1,0 +etbErrorCode0 = scalar, S08, 1716, "", 1, 0 +tcEtbDrop0 = scalar, S08, 1717, "%", 1, 0 +jamTimer0 = scalar, U16, 1718, "sec", 0.01, 0 +adjustedEtbTarget0 = scalar, S08, 1720, "%", 1, 0 +; total TS size = 1724 +targetWithIdlePosition1 = scalar, F32, 1724, "per", 1,0 +trim1 = scalar, F32, 1728, "", 1, 0 +luaAdjustment1 = scalar, F32, 1732, "per", 1,0 +m_wastegatePosition1 = scalar, F32, 1736, "per", 1,0 +etbFeedForward1 = scalar, F32, 1740 +etbIntegralError1 = scalar, F32, 1744, "", 1, 0 +etbCurrentTarget1 = scalar, F32, 1748, "%", 1, 0 +etbCurrentAdjustedTarget1 = scalar, F32, 1752, "%", 1, 0 +etbRevLimitActive1 = bits, U32, 1756, [0:0] +jamDetected1 = bits, U32, 1756, [1:1] +etbTpsErrorCounter1 = scalar, U16, 1760, "count", 1,0 +etbPpsErrorCounter1 = scalar, U16, 1762, "count", 1,0 +etbErrorCode1 = scalar, S08, 1764, "", 1, 0 +tcEtbDrop1 = scalar, S08, 1765, "%", 1, 0 +jamTimer1 = scalar, U16, 1766, "sec", 0.01, 0 +adjustedEtbTarget1 = scalar, S08, 1768, "%", 1, 0 +; total TS size = 1772 +faultCode0 = scalar, U08, 1772, "", 1, 0 +heaterDuty0 = scalar, U08, 1773, "%", 1, 0 +pumpDuty0 = scalar, U08, 1774, "%", 1, 0 +tempC0 = scalar, U16, 1776, "C", 1, 0 +nernstVoltage0 = scalar, U16, 1778, "V", 0.001, 0 +esr0 = scalar, U16, 1780, "ohm", 1, 0 +; total TS size = 1784 +faultCode1 = scalar, U08, 1784, "", 1, 0 +heaterDuty1 = scalar, U08, 1785, "%", 1, 0 +pumpDuty1 = scalar, U08, 1786, "%", 1, 0 +tempC1 = scalar, U16, 1788, "C", 1, 0 +nernstVoltage1 = scalar, U16, 1790, "V", 0.001, 0 +esr1 = scalar, U16, 1792, "ohm", 1, 0 +; total TS size = 1796 +dcOutput0 = scalar, F32, 1796, "per", 1,0 +isEnabled0_int = scalar, U08, 1800, "per", 1,0 +isEnabled0 = bits, U32, 1804, [0:0] +; total TS size = 1808 +value0 = scalar, U16, 1808, "value", 1,0 +value1 = scalar, U16, 1810, "value", 1,0 +errorRate = scalar, F32, 1812, "ratio", 1,0 +; total TS size = 1816 +vvtTarget = scalar, U16, 1816, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1818, "%", 0.5, 0 +; total TS size = 1820 +lambdaCurrentlyGood = bits, U32, 1820, [0:0] +lambdaMonitorCut = bits, U32, 1820, [1:1] +lambdaTimeSinceGood = scalar, U16, 1824, "sec", 0.01, 0 +; total TS size = 1828 time = { timeNow } @@ -3617,6 +3649,7 @@ lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs8 requiresPowerCycle = cylinderBore + requiresPowerCycle = knockFrequency readOnly = warning_message readOnly = device_uid1 @@ -5028,6 +5061,26 @@ gaugeCategory = Knock knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knockSpectrumChannelCylGauge = m_knockSpectrumChannelCyl, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStartGauge = m_knockFrequencyStart, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStepGauge = m_knockFrequencyStep, "Knock Frequency Step", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFuelTrimMultiplier = m_knockFuelTrimMultiplier, "Knock Fuel Trim", "mult", 0, 0, 0, 0, 0, 30, 1, 1 + knockSpectrum1 = m_knockSpectrum1, "Knock Spectrum1", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum2 = m_knockSpectrum2, "knockSpectrum2", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum3 = m_knockSpectrum3, "knockSpectrum3", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum4 = m_knockSpectrum4, "knockSpectrum4", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum5 = m_knockSpectrum5, "knockSpectrum5", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum6 = m_knockSpectrum6, "knockSpectrum6", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum7 = m_knockSpectrum7, "knockSpectrum7", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum8 = m_knockSpectrum8, "knockSpectrum8", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum9 = m_knockSpectrum9, "knockSpectrum9", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum10 = m_knockSpectrum10, "knockSpectrum10", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum11 = m_knockSpectrum11, "knockSpectrum11", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum12 = m_knockSpectrum12, "knockSpectrum12", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum13 = m_knockSpectrum13, "knockSpectrum13", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum14 = m_knockSpectrum14, "knockSpectrum14", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum15 = m_knockSpectrum15, "knockSpectrum15", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum16 = m_knockSpectrum16, "knockSpectrum16", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -5626,6 +5679,26 @@ entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" entry = m_knockCount, "Knock: Count", int, "%d" entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_knockFrequency, "knock: frequency", int, "%d" +entry = m_knockSpectrum1, "Knock: SpectrumData 1", int, "%d" +entry = m_knockSpectrum2, "Knock: SpectrumData 2", int, "%d" +entry = m_knockSpectrum3, "Knock: SpectrumData 3", int, "%d" +entry = m_knockSpectrum4, "Knock: SpectrumData 4", int, "%d" +entry = m_knockSpectrum5, "Knock: SpectrumData 5", int, "%d" +entry = m_knockSpectrum6, "Knock: SpectrumData 6", int, "%d" +entry = m_knockSpectrum7, "Knock: SpectrumData 7", int, "%d" +entry = m_knockSpectrum8, "Knock: SpectrumData 8", int, "%d" +entry = m_knockSpectrum9, "Knock: SpectrumData 9", int, "%d" +entry = m_knockSpectrum10, "Knock: SpectrumData 10", int, "%d" +entry = m_knockSpectrum11, "Knock: SpectrumData 11", int, "%d" +entry = m_knockSpectrum12, "Knock: SpectrumData 12", int, "%d" +entry = m_knockSpectrum13, "Knock: SpectrumData 13", int, "%d" +entry = m_knockSpectrum14, "Knock: SpectrumData 14", int, "%d" +entry = m_knockSpectrum15, "Knock: SpectrumData 15", int, "%d" +entry = m_knockSpectrum16, "Knock: SpectrumData 16", int, "%d" +entry = m_knockSpectrumChannelCyl, "Knock: ChannelAndCylNumber", int, "%d" +entry = m_knockFrequencyStart, "Knock: Start Freq", int, "%d" +entry = m_knockFrequencyStep, "Knock: Step Freq", float, "%.3f" +entry = m_knockFuelTrimMultiplier, "Knock: Fuel trim when knock", float, "%.3f" entry = tcuCurrentGear, "TCU: Current Gear", int, "%d" entry = tcRatio, "TCU: Torque Converter Ratio", float, "%.3f" entry = lastShiftTime, "lastShiftTime", float, "%.3f" @@ -6512,6 +6585,31 @@ dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard graphLine = m_knockFrequency + graphLine = m_knockSpectrum1 + graphLine = m_knockSpectrum2 + liveGraph = knock_controller_6_Graph, "Graph", South + graphLine = m_knockSpectrum3 + graphLine = m_knockSpectrum4 + graphLine = m_knockSpectrum5 + graphLine = m_knockSpectrum6 + liveGraph = knock_controller_7_Graph, "Graph", South + graphLine = m_knockSpectrum7 + graphLine = m_knockSpectrum8 + graphLine = m_knockSpectrum9 + graphLine = m_knockSpectrum10 + liveGraph = knock_controller_8_Graph, "Graph", South + graphLine = m_knockSpectrum11 + graphLine = m_knockSpectrum12 + graphLine = m_knockSpectrum13 + graphLine = m_knockSpectrum14 + liveGraph = knock_controller_9_Graph, "Graph", South + graphLine = m_knockSpectrum15 + graphLine = m_knockSpectrum16 + graphLine = m_knockSpectrumChannelCyl + graphLine = m_knockFrequencyStart + liveGraph = knock_controller_10_Graph, "Graph", South + graphLine = m_knockFrequencyStep + graphLine = m_knockFuelTrimMultiplier indicatorPanel = tcu_controllerIndicatorPanel, 2 indicator = {isShifting}, "isShifting No", "isShifting Yes" @@ -8518,9 +8616,13 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockCfg, "Sense" field = "Enable", enableSoftwareKnock field = "Cylinder Bore", cylinderBore, {enableSoftwareKnock} + field = "Estimated Knock Frequency",knockFrequency, {enableSoftwareKnock} field = "Detection mode", knockDetectionUseDoubleFrequency field = "Detection Window Start",knockDetectionWindowStart, {enableSoftwareKnock} field = "Sampling Duration", knockSamplingDuration, {enableSoftwareKnock} + field = "Enable Knock Spectrogram", enableKnockSpectrogram, {enableSoftwareKnock} + field = "Enable Knock Spectrogram Filter", enableKnockSpectrogramFilter, {enableKnockSpectrogram} + field = "Knock Spectrum Sensitivity", knockSpectrumSensitivity, {enableKnockSpectrogram} field = "" field = "Select the nearest sensor for each cylinder" @@ -8534,6 +8636,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockResponseCfg, "Response" field = knockRetardAggression, knockRetardAggression field = knockRetardReapplyRate, knockRetardReapplyRate + field = knockFuelTrimAggression, knockFuelTrimAggression + field = knockFuelTrimReapplyRate, knockFuelTrimReapplyRate + field = knockFuelTrim, knockFuelTrim + field = knockSuppressMinTps, knockSuppressMinTps dialog = softwareKnockLeft, "" panel = softwareKnockCfg diff --git a/firmware/tunerstudio/generated/rusefi_at_start_f435.ini b/firmware/tunerstudio/generated/rusefi_at_start_f435.ini index 0c02ce194b..abcf72e933 100644 --- a/firmware/tunerstudio/generated/rusefi_at_start_f435.ini +++ b/firmware/tunerstudio/generated/rusefi_at_start_f435.ini @@ -38,12 +38,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.10.21.at_start_f435.2262948377" + signature = "rusEFI master.2024.10.21.at_start_f435.1523155174" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.10.21.at_start_f435.2262948377" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.10.21.at_start_f435.1523155174" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -774,6 +774,7 @@ devBit7 = bits, U32, 1492, [27:27], "false", "true" unusedSkipWasHere = bits, U32, 1492, [28:28], "false", "true" invertExhaustCamVVTSignal = bits, U32, 1492, [29:29], "Rising", "Falling" enableKnockSpectrogram = bits, U32, 1492, [30:30], "false", "true" +enableKnockSpectrogramFilter = bits, U32, 1492, [31:31], "false", "true" afterCrankingIACtaperDuration = scalar, S16, 1496, "cycles", 1, 0, 0, 5000, 0 iacByTpsTaper = scalar, S16, 1498, "percent", 1, 0, 0, 500, 0 unusedAuxSeria = bits, U16, 1500, [0:8], $gpio_list @@ -1394,7 +1395,13 @@ auxLinear4_v1 = scalar, F32, 3880, "volts", 1, 0, 0, 10, 2 auxLinear4_value1 = scalar, F32, 3884, "", 1, 0, -100000, 1000000, 2 auxLinear4_v2 = scalar, F32, 3888, "volts", 1, 0, 0, 10, 2 auxLinear4_value2 = scalar, F32, 3892, "", 1, 0, -100000, 1000000, 2 -unusedOftenChangesDuringFirmwareUpdate = array, U08, 3896, [128], "units", 1, 0, 0, 1, 0 +knockSuppressMinTps = scalar, U08, 3896, "%", 1, 0, 0, 100, 1 +knockFuelTrimAggression = scalar, U08, 3897, "%", 0.1, 0, 0, 20, 1 +knockFuelTrimReapplyRate = scalar, U08, 3898, "deg/s", 0.1, 0, 0, 10, 1 +knockFuelTrim = scalar, U08, 3899, "%", 1, 0, 0, 30, 1 +knockSpectrumSensitivity = scalar, F32, 3900, "sense", 1, 0, 0, 1, 2 +knockFrequency = scalar, F32, 3904, "Hz", 1, 0, 0, 20000, 2 +unusedOftenChangesDuringFirmwareUpdate = array, U08, 3908, [116], "units", 1, 0, 0, 1, 0 postCrankingFactor = array, F32, 4024, [6x6], "mult", 1, 0, 1, 3, 2 postCrankingDurationBins = array, F32, 4168, [6], "count", 1, 0, 0, 1000, 0 postCrankingCLTBins = array, S16, 4192, [6], "C", 1, 0, -100, 250, 0 @@ -2448,6 +2455,11 @@ minimumOilPressureValues = array, U08, 22960, [8], "kPa", 10.0, 0, 0, 1000, 0 minAcPressure = "value of A/C pressure in kPa before that compressor is disengaged" maxAcPressure = "value of A/C pressure in kPa after that compressor is disengaged" minimumOilPressureTimeout = "Delay before cutting fuel due to low oil pressure. Use this to ignore short pressure blips and sensor noise." + knockSuppressMinTps = "Below TPS value all knock suppression will be disabled." + knockFuelTrimAggression = "Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump)," + knockFuelTrimReapplyRate = "After a knock event, reapply fuel at this rate." + knockFuelTrim = "Fuel trim when knock, max 30%" + knockFrequency = "Estimated knock frequency, ignore cylinderBore if this one > 0" etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, open loop component of PID closed loop control" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2560,7 +2572,7 @@ minimumOilPressureValues = array, U08, 22960, [8], "kPa", 10.0, 0, 0, 1000, 0 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1752 + ochBlockSize = 1828 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3101,370 +3113,390 @@ m_knockThreshold = scalar, F32, 960, "", 1, 0 m_knockCount = scalar, U32, 964, "", 1, 0 m_maximumRetard = scalar, F32, 968, "", 1, 0 m_knockFrequency = scalar, U32, 972, "Hz", 1, 0 -; total TS size = 976 -tcuCurrentGear = scalar, S08, 976, "gear", 1, 0 -tcRatio = scalar, U16, 978, "value", 0.01, 0 -lastShiftTime = scalar, F32, 980, "", 1, 0 -tcu_currentRange = scalar, U08, 984, "", 1, 0 -pressureControlDuty = scalar, S08, 985, "%", 1,0 -torqueConverterDuty = scalar, S08, 986, "%", 1,0 -isShifting = bits, U32, 988, [0:0] -; total TS size = 992 -throttleUseWotModel = bits, U32, 992, [0:0] -throttleModelCrossoverAngle = scalar, S16, 996, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1000, "g/s", 1, 0 -; total TS size = 1004 -m_requested_pump = scalar, F32, 1004, "", 1, 0 -fuel_requested_percent = scalar, F32, 1008, "", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1012, "", 1, 0 -noValve = bits, U32, 1016, [0:0] -angleAboveMin = bits, U32, 1016, [1:1] -isHpfpInactive = bits, U32, 1016, [2:2] -m_pressureTarget_kPa = scalar, F32, 1020, "", 1, 0 -nextLobe = scalar, F32, 1024, "", 1, 0 -di_nextStart = scalar, F32, 1028, "v", 1, 0 -; total TS size = 1032 -m_deadtime = scalar, F32, 1032, "ms", 1, 0 -pressureDelta = scalar, F32, 1036, "kPa", 1, 0 -pressureRatio = scalar, F32, 1040, "", 1, 0 -; total TS size = 1044 -retardThresholdRpm = scalar, S32, 1044, "", 1, 0 -launchActivatePinState = bits, U32, 1048, [0:0] -isPreLaunchCondition = bits, U32, 1048, [1:1] -isLaunchCondition = bits, U32, 1048, [2:2] -isSwitchActivated = bits, U32, 1048, [3:3] -isClutchActivated = bits, U32, 1048, [4:4] -isBrakePedalActivated = bits, U32, 1048, [5:5] -isValidInputPin = bits, U32, 1048, [6:6] -activateSwitchCondition = bits, U32, 1048, [7:7] -rpmLaunchCondition = bits, U32, 1048, [8:8] -rpmPreLaunchCondition = bits, U32, 1048, [9:9] -speedCondition = bits, U32, 1048, [10:10] -tpsCondition = bits, U32, 1048, [11:11] +m_knockSpectrum1 = scalar, U32, 976, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 980, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 984, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 988, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1040, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1042, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1044, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1048, "multiplier", 1, 0 ; total TS size = 1052 -isTorqueReductionTriggerPinValid = bits, U32, 1052, [0:0] -torqueReductionTriggerPinState = bits, U32, 1052, [1:1] -isTimeConditionSatisfied = bits, U32, 1052, [2:2] -isRpmConditionSatisfied = bits, U32, 1052, [3:3] -isAppConditionSatisfied = bits, U32, 1052, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1052, [5:5] -; total TS size = 1056 -isAntilagCondition = bits, U32, 1056, [0:0] -ALSMinRPMCondition = bits, U32, 1056, [1:1] -ALSMaxRPMCondition = bits, U32, 1056, [2:2] -ALSMinCLTCondition = bits, U32, 1056, [3:3] -ALSMaxCLTCondition = bits, U32, 1056, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1056, [5:5] -isALSSwitchActivated = bits, U32, 1056, [6:6] -ALSActivatePinState = bits, U32, 1056, [7:7] -ALSSwitchCondition = bits, U32, 1056, [8:8] -ALSTimerCondition = bits, U32, 1056, [9:9] -fuelALSCorrection = scalar, F32, 1060, "", 1, 0 -timingALSCorrection = scalar, S16, 1064, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1066, "deg", 0.01, 0 +tcuCurrentGear = scalar, S08, 1052, "gear", 1, 0 +tcRatio = scalar, U16, 1054, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1056, "", 1, 0 +tcu_currentRange = scalar, U08, 1060, "", 1, 0 +pressureControlDuty = scalar, S08, 1061, "%", 1,0 +torqueConverterDuty = scalar, S08, 1062, "%", 1,0 +isShifting = bits, U32, 1064, [0:0] ; total TS size = 1068 -isTpsInvalid = bits, U32, 1068, [0:0] -m_shouldResetPid = bits, U32, 1068, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1068, [2:2] -isNotClosedLoop = bits, U32, 1068, [3:3] -isZeroRpm = bits, U32, 1068, [4:4] -hasInitBoost = bits, U32, 1068, [5:5] -rpmTooLow = bits, U32, 1068, [6:6] -tpsTooLow = bits, U32, 1068, [7:7] -mapTooLow = bits, U32, 1068, [8:8] -isPlantValid = bits, U32, 1068, [9:9] -isBoostControlled = bits, U32, 1068, [10:10] -luaTargetAdd = scalar, S16, 1072, "v", 0.5,0 -boostOutput = scalar, S16, 1074, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1076, "v", 1,0 -openLoopPart = scalar, F32, 1080, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1084, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1088, "%", 0.5,0 -boostControlTarget = scalar, S16, 1090, "kPa", 0.03333333333333333,0 -; total TS size = 1092 -acButtonState = scalar, S08, 1092, "", 1, 0 -m_acEnabled = bits, U32, 1096, [0:0] -engineTooSlow = bits, U32, 1096, [1:1] -engineTooFast = bits, U32, 1096, [2:2] -noClt = bits, U32, 1096, [3:3] -engineTooHot = bits, U32, 1096, [4:4] -tpsTooHigh = bits, U32, 1096, [5:5] -isDisabledByLua = bits, U32, 1096, [6:6] -acCompressorState = bits, U32, 1096, [7:7] -acPressureTooLow = bits, U32, 1096, [8:8] -acPressureTooHigh = bits, U32, 1096, [9:9] -; total TS size = 1100 -cranking0 = bits, U32, 1100, [0:0] -notRunning0 = bits, U32, 1100, [1:1] -disabledWhileEngineStopped0 = bits, U32, 1100, [2:2] -brokenClt0 = bits, U32, 1100, [3:3] -enabledForAc0 = bits, U32, 1100, [4:4] -hot0 = bits, U32, 1100, [5:5] -cold0 = bits, U32, 1100, [6:6] -disabledBySpeed0 = bits, U32, 1100, [7:7] -radiatorFanStatus0 = scalar, U08, 1104, "", 1, 0 +throttleUseWotModel = bits, U32, 1068, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1072, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1076, "g/s", 1, 0 +; total TS size = 1080 +m_requested_pump = scalar, F32, 1080, "", 1, 0 +fuel_requested_percent = scalar, F32, 1084, "", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1088, "", 1, 0 +noValve = bits, U32, 1092, [0:0] +angleAboveMin = bits, U32, 1092, [1:1] +isHpfpInactive = bits, U32, 1092, [2:2] +m_pressureTarget_kPa = scalar, F32, 1096, "", 1, 0 +nextLobe = scalar, F32, 1100, "", 1, 0 +di_nextStart = scalar, F32, 1104, "v", 1, 0 ; total TS size = 1108 -cranking1 = bits, U32, 1108, [0:0] -notRunning1 = bits, U32, 1108, [1:1] -disabledWhileEngineStopped1 = bits, U32, 1108, [2:2] -brokenClt1 = bits, U32, 1108, [3:3] -enabledForAc1 = bits, U32, 1108, [4:4] -hot1 = bits, U32, 1108, [5:5] -cold1 = bits, U32, 1108, [6:6] -disabledBySpeed1 = bits, U32, 1108, [7:7] -radiatorFanStatus1 = scalar, U08, 1112, "", 1, 0 -; total TS size = 1116 -isPrime = bits, U32, 1116, [0:0] -engineTurnedRecently = bits, U32, 1116, [1:1] -isFuelPumpOn = bits, U32, 1116, [2:2] -ignitionOn = bits, U32, 1116, [3:3] +m_deadtime = scalar, F32, 1108, "ms", 1, 0 +pressureDelta = scalar, F32, 1112, "kPa", 1, 0 +pressureRatio = scalar, F32, 1116, "", 1, 0 ; total TS size = 1120 -isBenchTest = bits, U32, 1120, [0:0] -hasIgnitionVoltage = bits, U32, 1120, [1:1] -mainRelayState = bits, U32, 1120, [2:2] -delayedShutoffRequested = bits, U32, 1120, [3:3] -; total TS size = 1124 -lua_fuelAdd = scalar, F32, 1124, "g", 1, 0 -lua_fuelMult = scalar, F32, 1128, "", 1, 0 -lua_clutchUpState = bits, U32, 1132, [0:0] -lua_brakePedalState = bits, U32, 1132, [1:1] -lua_acRequestState = bits, U32, 1132, [2:2] -lua_luaDisableEtb = bits, U32, 1132, [3:3] -lua_luaIgnCut = bits, U32, 1132, [4:4] -lua_luaFuelCut = bits, U32, 1132, [5:5] -lua_clutchDownState = bits, U32, 1132, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1132, [7:7] -sd_tCharge = scalar, S16, 1136, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1140, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1144, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1148, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1152, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1156, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1160, "", 1, 0 -hellenBoardId = scalar, S16, 1164, "id", 1, 0 -clutchUpState = scalar, S08, 1166, "", 1, 0 -clutchDownState = scalar, S08, 1167, "", 1, 0 -brakePedalState = scalar, S08, 1168, "", 1, 0 -startStopState = scalar, S08, 1169, "", 1, 0 -smartChipState = scalar, S08, 1170, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1171, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1172, "", 1, 0 -startStopPhysicalState = bits, U32, 1176, [0:0] -acrActive = bits, U32, 1176, [1:1] -acrEngineMovedRecently = bits, U32, 1176, [2:2] -heaterControlEnabled = bits, U32, 1176, [3:3] -luaDigitalState0 = bits, U32, 1176, [4:4] -luaDigitalState1 = bits, U32, 1176, [5:5] -luaDigitalState2 = bits, U32, 1176, [6:6] -luaDigitalState3 = bits, U32, 1176, [7:7] -startStopStateToggleCounter = scalar, U32, 1180, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1184, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1188, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1192, "", 1, 0 -desiredRpmLimit = scalar, S16, 1196, "rpm", 1, 0 -fuelInjectionCounter = scalar, U32, 1200, "", 1, 0 -globalSparkCounter = scalar, U32, 1204, "", 1, 0 -fuelingLoad = scalar, F32, 1208, "", 1, 0 -ignitionLoad = scalar, F32, 1212, "", 1, 0 -veTableYAxis = scalar, U16, 1216, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1218, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1219, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1220, "", 1, 0 -; total TS size = 1224 -tpsFrom = scalar, F32, 1224 -tpsTo = scalar, F32, 1228 -deltaTps = scalar, F32, 1232 -extraFuel = scalar, F32, 1236, "", 1, 0 -valueFromTable = scalar, F32, 1240, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1244, [0:0] -isBelowDecelThreshold = bits, U32, 1244, [1:1] -isTimeToResetAccumulator = bits, U32, 1244, [2:2] -isFractionalEnrichment = bits, U32, 1244, [3:3] -belowEpsilon = bits, U32, 1244, [4:4] -tooShort = bits, U32, 1244, [5:5] -fractionalInjFuel = scalar, F32, 1248, "", 1, 0 -accumulatedValue = scalar, F32, 1252, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1256, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1260, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1264, "", 1, 0 -cycleCnt = scalar, S32, 1268, "", 1, 0 -; total TS size = 1272 -hwEventCounters1 = scalar, U32, 1272, "", 1, 0 -hwEventCounters2 = scalar, U32, 1276, "", 1, 0 -hwEventCounters3 = scalar, U32, 1280, "", 1, 0 -hwEventCounters4 = scalar, U32, 1284, "", 1, 0 -hwEventCounters5 = scalar, U32, 1288, "", 1, 0 -hwEventCounters6 = scalar, U32, 1292, "", 1, 0 -vvtCamCounter = scalar, U32, 1296, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1300, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1304, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1308, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1309, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1312, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1316, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1320, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1324, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1328, [0:0] -triggerElapsedUs = scalar, U32, 1332, "", 1, 0 -; total TS size = 1336 -crankSynchronizationCounter0 = scalar, U32, 1336, "", 1, 0 -vvtSyncGapRatio0 = scalar, F32, 1340, "", 1, 0 -vvtToothDurations00 = scalar, U32, 1344, "us", 1, 0 -vvtCurrentPosition0 = scalar, F32, 1348, "sync: Primary Cam Position", 1, 0 -vvtToothPosition10 = scalar, F32, 1352, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition20 = scalar, F32, 1356, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition30 = scalar, F32, 1360, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition40 = scalar, F32, 1364, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio0 = scalar, F32, 1368, "", 1, 0 -triggerStateIndex0 = scalar, U08, 1372, "", 1, 0 -vvtStateIndex0 = scalar, U08, 1373, "", 1, 0 -; total TS size = 1376 -crankSynchronizationCounter1 = scalar, U32, 1376, "", 1, 0 -vvtSyncGapRatio1 = scalar, F32, 1380, "", 1, 0 -vvtToothDurations01 = scalar, U32, 1384, "us", 1, 0 -vvtCurrentPosition1 = scalar, F32, 1388, "sync: Primary Cam Position", 1, 0 -vvtToothPosition11 = scalar, F32, 1392, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition21 = scalar, F32, 1396, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition31 = scalar, F32, 1400, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition41 = scalar, F32, 1404, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio1 = scalar, F32, 1408, "", 1, 0 -triggerStateIndex1 = scalar, U08, 1412, "", 1, 0 -vvtStateIndex1 = scalar, U08, 1413, "", 1, 0 -; total TS size = 1416 -crankSynchronizationCounter2 = scalar, U32, 1416, "", 1, 0 -vvtSyncGapRatio2 = scalar, F32, 1420, "", 1, 0 -vvtToothDurations02 = scalar, U32, 1424, "us", 1, 0 -vvtCurrentPosition2 = scalar, F32, 1428, "sync: Primary Cam Position", 1, 0 -vvtToothPosition12 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition22 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition32 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition42 = scalar, F32, 1444, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio2 = scalar, F32, 1448, "", 1, 0 -triggerStateIndex2 = scalar, U08, 1452, "", 1, 0 -vvtStateIndex2 = scalar, U08, 1453, "", 1, 0 -; total TS size = 1456 -crankSynchronizationCounter3 = scalar, U32, 1456, "", 1, 0 -vvtSyncGapRatio3 = scalar, F32, 1460, "", 1, 0 -vvtToothDurations03 = scalar, U32, 1464, "us", 1, 0 -vvtCurrentPosition3 = scalar, F32, 1468, "sync: Primary Cam Position", 1, 0 -vvtToothPosition13 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition23 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition33 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition43 = scalar, F32, 1484, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio3 = scalar, F32, 1488, "", 1, 0 -triggerStateIndex3 = scalar, U08, 1492, "", 1, 0 -vvtStateIndex3 = scalar, U08, 1493, "", 1, 0 -; total TS size = 1496 -crankSynchronizationCounter4 = scalar, U32, 1496, "", 1, 0 -vvtSyncGapRatio4 = scalar, F32, 1500, "", 1, 0 -vvtToothDurations04 = scalar, U32, 1504, "us", 1, 0 -vvtCurrentPosition4 = scalar, F32, 1508, "sync: Primary Cam Position", 1, 0 -vvtToothPosition14 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition24 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition34 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition44 = scalar, F32, 1524, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio4 = scalar, F32, 1528, "", 1, 0 -triggerStateIndex4 = scalar, U08, 1532, "", 1, 0 -vvtStateIndex4 = scalar, U08, 1533, "", 1, 0 -; total TS size = 1536 -camResyncCounter = scalar, U08, 1536, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1540, [0:0] -; total TS size = 1544 -wallFuelCorrection = scalar, F32, 1544, "", 1, 0 -wallFuel = scalar, F32, 1548, "", 1, 0 -; total TS size = 1552 -idleState = bits, S32, 1552, [0:2], "not important" -currentIdlePosition = scalar, F32, 1556 -baseIdlePosition = scalar, F32, 1560 -idleClosedLoop = scalar, F32, 1564 -iacByTpsTaper = scalar, F32, 1568 -throttlePedalUpState = scalar, S32, 1572, "", 1, 0 -mightResetPid = bits, U32, 1576, [0:0] -shouldResetPid = bits, U32, 1576, [1:1] -wasResetPid = bits, U32, 1576, [2:2] -mustResetPid = bits, U32, 1576, [3:3] -isCranking = bits, U32, 1576, [4:4] -isIacTableForCoasting = bits, U32, 1576, [5:5] -notIdling = bits, U32, 1576, [6:6] -needReset = bits, U32, 1576, [7:7] -isInDeadZone = bits, U32, 1576, [8:8] -isBlipping = bits, U32, 1576, [9:9] -useClosedLoop = bits, U32, 1576, [10:10] -badTps = bits, U32, 1576, [11:11] -looksLikeRunning = bits, U32, 1576, [12:12] -looksLikeCoasting = bits, U32, 1576, [13:13] -looksLikeCrankToIdle = bits, U32, 1576, [14:14] -isIdleCoasting = bits, U32, 1576, [15:15] -isIdleClosedLoop = bits, U32, 1576, [16:16] -idleTarget = scalar, S32, 1580, "", 1, 0 -targetRpmByClt = scalar, S32, 1584, "", 1, 0 -targetRpmAc = scalar, S32, 1588, "", 1, 0 -iacByRpmTaper = scalar, F32, 1592 -luaAdd = scalar, F32, 1596 -; total TS size = 1600 -targetWithIdlePosition0 = scalar, F32, 1600, "per", 1,0 -trim0 = scalar, F32, 1604, "", 1, 0 -luaAdjustment0 = scalar, F32, 1608, "per", 1,0 -m_wastegatePosition0 = scalar, F32, 1612, "per", 1,0 -etbFeedForward0 = scalar, F32, 1616 -etbIntegralError0 = scalar, F32, 1620, "", 1, 0 -etbCurrentTarget0 = scalar, F32, 1624, "%", 1, 0 -etbCurrentAdjustedTarget0 = scalar, F32, 1628, "%", 1, 0 -etbRevLimitActive0 = bits, U32, 1632, [0:0] -jamDetected0 = bits, U32, 1632, [1:1] -etbTpsErrorCounter0 = scalar, U16, 1636, "count", 1,0 -etbPpsErrorCounter0 = scalar, U16, 1638, "count", 1,0 -etbErrorCode0 = scalar, S08, 1640, "", 1, 0 -tcEtbDrop0 = scalar, S08, 1641, "%", 1, 0 -jamTimer0 = scalar, U16, 1642, "sec", 0.01, 0 -adjustedEtbTarget0 = scalar, S08, 1644, "%", 1, 0 -; total TS size = 1648 -targetWithIdlePosition1 = scalar, F32, 1648, "per", 1,0 -trim1 = scalar, F32, 1652, "", 1, 0 -luaAdjustment1 = scalar, F32, 1656, "per", 1,0 -m_wastegatePosition1 = scalar, F32, 1660, "per", 1,0 -etbFeedForward1 = scalar, F32, 1664 -etbIntegralError1 = scalar, F32, 1668, "", 1, 0 -etbCurrentTarget1 = scalar, F32, 1672, "%", 1, 0 -etbCurrentAdjustedTarget1 = scalar, F32, 1676, "%", 1, 0 -etbRevLimitActive1 = bits, U32, 1680, [0:0] -jamDetected1 = bits, U32, 1680, [1:1] -etbTpsErrorCounter1 = scalar, U16, 1684, "count", 1,0 -etbPpsErrorCounter1 = scalar, U16, 1686, "count", 1,0 -etbErrorCode1 = scalar, S08, 1688, "", 1, 0 -tcEtbDrop1 = scalar, S08, 1689, "%", 1, 0 -jamTimer1 = scalar, U16, 1690, "sec", 0.01, 0 -adjustedEtbTarget1 = scalar, S08, 1692, "%", 1, 0 -; total TS size = 1696 -faultCode0 = scalar, U08, 1696, "", 1, 0 -heaterDuty0 = scalar, U08, 1697, "%", 1, 0 -pumpDuty0 = scalar, U08, 1698, "%", 1, 0 -tempC0 = scalar, U16, 1700, "C", 1, 0 -nernstVoltage0 = scalar, U16, 1702, "V", 0.001, 0 -esr0 = scalar, U16, 1704, "ohm", 1, 0 -; total TS size = 1708 -faultCode1 = scalar, U08, 1708, "", 1, 0 -heaterDuty1 = scalar, U08, 1709, "%", 1, 0 -pumpDuty1 = scalar, U08, 1710, "%", 1, 0 -tempC1 = scalar, U16, 1712, "C", 1, 0 -nernstVoltage1 = scalar, U16, 1714, "V", 0.001, 0 -esr1 = scalar, U16, 1716, "ohm", 1, 0 -; total TS size = 1720 -dcOutput0 = scalar, F32, 1720, "per", 1,0 -isEnabled0_int = scalar, U08, 1724, "per", 1,0 -isEnabled0 = bits, U32, 1728, [0:0] -; total TS size = 1732 -value0 = scalar, U16, 1732, "value", 1,0 -value1 = scalar, U16, 1734, "value", 1,0 -errorRate = scalar, F32, 1736, "ratio", 1,0 -; total TS size = 1740 -vvtTarget = scalar, U16, 1740, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1742, "%", 0.5, 0 -; total TS size = 1744 -lambdaCurrentlyGood = bits, U32, 1744, [0:0] -lambdaMonitorCut = bits, U32, 1744, [1:1] -lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 -; total TS size = 1752 +retardThresholdRpm = scalar, S32, 1120, "", 1, 0 +launchActivatePinState = bits, U32, 1124, [0:0] +isPreLaunchCondition = bits, U32, 1124, [1:1] +isLaunchCondition = bits, U32, 1124, [2:2] +isSwitchActivated = bits, U32, 1124, [3:3] +isClutchActivated = bits, U32, 1124, [4:4] +isBrakePedalActivated = bits, U32, 1124, [5:5] +isValidInputPin = bits, U32, 1124, [6:6] +activateSwitchCondition = bits, U32, 1124, [7:7] +rpmLaunchCondition = bits, U32, 1124, [8:8] +rpmPreLaunchCondition = bits, U32, 1124, [9:9] +speedCondition = bits, U32, 1124, [10:10] +tpsCondition = bits, U32, 1124, [11:11] +; total TS size = 1128 +isTorqueReductionTriggerPinValid = bits, U32, 1128, [0:0] +torqueReductionTriggerPinState = bits, U32, 1128, [1:1] +isTimeConditionSatisfied = bits, U32, 1128, [2:2] +isRpmConditionSatisfied = bits, U32, 1128, [3:3] +isAppConditionSatisfied = bits, U32, 1128, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1128, [5:5] +; total TS size = 1132 +isAntilagCondition = bits, U32, 1132, [0:0] +ALSMinRPMCondition = bits, U32, 1132, [1:1] +ALSMaxRPMCondition = bits, U32, 1132, [2:2] +ALSMinCLTCondition = bits, U32, 1132, [3:3] +ALSMaxCLTCondition = bits, U32, 1132, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1132, [5:5] +isALSSwitchActivated = bits, U32, 1132, [6:6] +ALSActivatePinState = bits, U32, 1132, [7:7] +ALSSwitchCondition = bits, U32, 1132, [8:8] +ALSTimerCondition = bits, U32, 1132, [9:9] +fuelALSCorrection = scalar, F32, 1136, "", 1, 0 +timingALSCorrection = scalar, S16, 1140, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1142, "deg", 0.01, 0 +; total TS size = 1144 +isTpsInvalid = bits, U32, 1144, [0:0] +m_shouldResetPid = bits, U32, 1144, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1144, [2:2] +isNotClosedLoop = bits, U32, 1144, [3:3] +isZeroRpm = bits, U32, 1144, [4:4] +hasInitBoost = bits, U32, 1144, [5:5] +rpmTooLow = bits, U32, 1144, [6:6] +tpsTooLow = bits, U32, 1144, [7:7] +mapTooLow = bits, U32, 1144, [8:8] +isPlantValid = bits, U32, 1144, [9:9] +isBoostControlled = bits, U32, 1144, [10:10] +luaTargetAdd = scalar, S16, 1148, "v", 0.5,0 +boostOutput = scalar, S16, 1150, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1152, "v", 1,0 +openLoopPart = scalar, F32, 1156, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1160, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1164, "%", 0.5,0 +boostControlTarget = scalar, S16, 1166, "kPa", 0.03333333333333333,0 +; total TS size = 1168 +acButtonState = scalar, S08, 1168, "", 1, 0 +m_acEnabled = bits, U32, 1172, [0:0] +engineTooSlow = bits, U32, 1172, [1:1] +engineTooFast = bits, U32, 1172, [2:2] +noClt = bits, U32, 1172, [3:3] +engineTooHot = bits, U32, 1172, [4:4] +tpsTooHigh = bits, U32, 1172, [5:5] +isDisabledByLua = bits, U32, 1172, [6:6] +acCompressorState = bits, U32, 1172, [7:7] +acPressureTooLow = bits, U32, 1172, [8:8] +acPressureTooHigh = bits, U32, 1172, [9:9] +; total TS size = 1176 +cranking0 = bits, U32, 1176, [0:0] +notRunning0 = bits, U32, 1176, [1:1] +disabledWhileEngineStopped0 = bits, U32, 1176, [2:2] +brokenClt0 = bits, U32, 1176, [3:3] +enabledForAc0 = bits, U32, 1176, [4:4] +hot0 = bits, U32, 1176, [5:5] +cold0 = bits, U32, 1176, [6:6] +disabledBySpeed0 = bits, U32, 1176, [7:7] +radiatorFanStatus0 = scalar, U08, 1180, "", 1, 0 +; total TS size = 1184 +cranking1 = bits, U32, 1184, [0:0] +notRunning1 = bits, U32, 1184, [1:1] +disabledWhileEngineStopped1 = bits, U32, 1184, [2:2] +brokenClt1 = bits, U32, 1184, [3:3] +enabledForAc1 = bits, U32, 1184, [4:4] +hot1 = bits, U32, 1184, [5:5] +cold1 = bits, U32, 1184, [6:6] +disabledBySpeed1 = bits, U32, 1184, [7:7] +radiatorFanStatus1 = scalar, U08, 1188, "", 1, 0 +; total TS size = 1192 +isPrime = bits, U32, 1192, [0:0] +engineTurnedRecently = bits, U32, 1192, [1:1] +isFuelPumpOn = bits, U32, 1192, [2:2] +ignitionOn = bits, U32, 1192, [3:3] +; total TS size = 1196 +isBenchTest = bits, U32, 1196, [0:0] +hasIgnitionVoltage = bits, U32, 1196, [1:1] +mainRelayState = bits, U32, 1196, [2:2] +delayedShutoffRequested = bits, U32, 1196, [3:3] +; total TS size = 1200 +lua_fuelAdd = scalar, F32, 1200, "g", 1, 0 +lua_fuelMult = scalar, F32, 1204, "", 1, 0 +lua_clutchUpState = bits, U32, 1208, [0:0] +lua_brakePedalState = bits, U32, 1208, [1:1] +lua_acRequestState = bits, U32, 1208, [2:2] +lua_luaDisableEtb = bits, U32, 1208, [3:3] +lua_luaIgnCut = bits, U32, 1208, [4:4] +lua_luaFuelCut = bits, U32, 1208, [5:5] +lua_clutchDownState = bits, U32, 1208, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1208, [7:7] +sd_tCharge = scalar, S16, 1212, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1216, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1220, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1224, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1228, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1232, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1236, "", 1, 0 +hellenBoardId = scalar, S16, 1240, "id", 1, 0 +clutchUpState = scalar, S08, 1242, "", 1, 0 +clutchDownState = scalar, S08, 1243, "", 1, 0 +brakePedalState = scalar, S08, 1244, "", 1, 0 +startStopState = scalar, S08, 1245, "", 1, 0 +smartChipState = scalar, S08, 1246, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1247, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1248, "", 1, 0 +startStopPhysicalState = bits, U32, 1252, [0:0] +acrActive = bits, U32, 1252, [1:1] +acrEngineMovedRecently = bits, U32, 1252, [2:2] +heaterControlEnabled = bits, U32, 1252, [3:3] +luaDigitalState0 = bits, U32, 1252, [4:4] +luaDigitalState1 = bits, U32, 1252, [5:5] +luaDigitalState2 = bits, U32, 1252, [6:6] +luaDigitalState3 = bits, U32, 1252, [7:7] +startStopStateToggleCounter = scalar, U32, 1256, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1260, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1264, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1268, "", 1, 0 +desiredRpmLimit = scalar, S16, 1272, "rpm", 1, 0 +fuelInjectionCounter = scalar, U32, 1276, "", 1, 0 +globalSparkCounter = scalar, U32, 1280, "", 1, 0 +fuelingLoad = scalar, F32, 1284, "", 1, 0 +ignitionLoad = scalar, F32, 1288, "", 1, 0 +veTableYAxis = scalar, U16, 1292, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1294, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1295, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1296, "", 1, 0 +; total TS size = 1300 +tpsFrom = scalar, F32, 1300 +tpsTo = scalar, F32, 1304 +deltaTps = scalar, F32, 1308 +extraFuel = scalar, F32, 1312, "", 1, 0 +valueFromTable = scalar, F32, 1316, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1320, [0:0] +isBelowDecelThreshold = bits, U32, 1320, [1:1] +isTimeToResetAccumulator = bits, U32, 1320, [2:2] +isFractionalEnrichment = bits, U32, 1320, [3:3] +belowEpsilon = bits, U32, 1320, [4:4] +tooShort = bits, U32, 1320, [5:5] +fractionalInjFuel = scalar, F32, 1324, "", 1, 0 +accumulatedValue = scalar, F32, 1328, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1332, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1336, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1340, "", 1, 0 +cycleCnt = scalar, S32, 1344, "", 1, 0 +; total TS size = 1348 +hwEventCounters1 = scalar, U32, 1348, "", 1, 0 +hwEventCounters2 = scalar, U32, 1352, "", 1, 0 +hwEventCounters3 = scalar, U32, 1356, "", 1, 0 +hwEventCounters4 = scalar, U32, 1360, "", 1, 0 +hwEventCounters5 = scalar, U32, 1364, "", 1, 0 +hwEventCounters6 = scalar, U32, 1368, "", 1, 0 +vvtCamCounter = scalar, U32, 1372, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1376, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1380, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1384, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1385, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1388, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1392, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1396, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1400, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1404, [0:0] +triggerElapsedUs = scalar, U32, 1408, "", 1, 0 +; total TS size = 1412 +crankSynchronizationCounter0 = scalar, U32, 1412, "", 1, 0 +vvtSyncGapRatio0 = scalar, F32, 1416, "", 1, 0 +vvtToothDurations00 = scalar, U32, 1420, "us", 1, 0 +vvtCurrentPosition0 = scalar, F32, 1424, "sync: Primary Cam Position", 1, 0 +vvtToothPosition10 = scalar, F32, 1428, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition20 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition30 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition40 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio0 = scalar, F32, 1444, "", 1, 0 +triggerStateIndex0 = scalar, U08, 1448, "", 1, 0 +vvtStateIndex0 = scalar, U08, 1449, "", 1, 0 +; total TS size = 1452 +crankSynchronizationCounter1 = scalar, U32, 1452, "", 1, 0 +vvtSyncGapRatio1 = scalar, F32, 1456, "", 1, 0 +vvtToothDurations01 = scalar, U32, 1460, "us", 1, 0 +vvtCurrentPosition1 = scalar, F32, 1464, "sync: Primary Cam Position", 1, 0 +vvtToothPosition11 = scalar, F32, 1468, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition21 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition31 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition41 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio1 = scalar, F32, 1484, "", 1, 0 +triggerStateIndex1 = scalar, U08, 1488, "", 1, 0 +vvtStateIndex1 = scalar, U08, 1489, "", 1, 0 +; total TS size = 1492 +crankSynchronizationCounter2 = scalar, U32, 1492, "", 1, 0 +vvtSyncGapRatio2 = scalar, F32, 1496, "", 1, 0 +vvtToothDurations02 = scalar, U32, 1500, "us", 1, 0 +vvtCurrentPosition2 = scalar, F32, 1504, "sync: Primary Cam Position", 1, 0 +vvtToothPosition12 = scalar, F32, 1508, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition22 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition32 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition42 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio2 = scalar, F32, 1524, "", 1, 0 +triggerStateIndex2 = scalar, U08, 1528, "", 1, 0 +vvtStateIndex2 = scalar, U08, 1529, "", 1, 0 +; total TS size = 1532 +crankSynchronizationCounter3 = scalar, U32, 1532, "", 1, 0 +vvtSyncGapRatio3 = scalar, F32, 1536, "", 1, 0 +vvtToothDurations03 = scalar, U32, 1540, "us", 1, 0 +vvtCurrentPosition3 = scalar, F32, 1544, "sync: Primary Cam Position", 1, 0 +vvtToothPosition13 = scalar, F32, 1548, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition23 = scalar, F32, 1552, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition33 = scalar, F32, 1556, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition43 = scalar, F32, 1560, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio3 = scalar, F32, 1564, "", 1, 0 +triggerStateIndex3 = scalar, U08, 1568, "", 1, 0 +vvtStateIndex3 = scalar, U08, 1569, "", 1, 0 +; total TS size = 1572 +crankSynchronizationCounter4 = scalar, U32, 1572, "", 1, 0 +vvtSyncGapRatio4 = scalar, F32, 1576, "", 1, 0 +vvtToothDurations04 = scalar, U32, 1580, "us", 1, 0 +vvtCurrentPosition4 = scalar, F32, 1584, "sync: Primary Cam Position", 1, 0 +vvtToothPosition14 = scalar, F32, 1588, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition24 = scalar, F32, 1592, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition34 = scalar, F32, 1596, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition44 = scalar, F32, 1600, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio4 = scalar, F32, 1604, "", 1, 0 +triggerStateIndex4 = scalar, U08, 1608, "", 1, 0 +vvtStateIndex4 = scalar, U08, 1609, "", 1, 0 +; total TS size = 1612 +camResyncCounter = scalar, U08, 1612, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1616, [0:0] +; total TS size = 1620 +wallFuelCorrection = scalar, F32, 1620, "", 1, 0 +wallFuel = scalar, F32, 1624, "", 1, 0 +; total TS size = 1628 +idleState = bits, S32, 1628, [0:2], "not important" +currentIdlePosition = scalar, F32, 1632 +baseIdlePosition = scalar, F32, 1636 +idleClosedLoop = scalar, F32, 1640 +iacByTpsTaper = scalar, F32, 1644 +throttlePedalUpState = scalar, S32, 1648, "", 1, 0 +mightResetPid = bits, U32, 1652, [0:0] +shouldResetPid = bits, U32, 1652, [1:1] +wasResetPid = bits, U32, 1652, [2:2] +mustResetPid = bits, U32, 1652, [3:3] +isCranking = bits, U32, 1652, [4:4] +isIacTableForCoasting = bits, U32, 1652, [5:5] +notIdling = bits, U32, 1652, [6:6] +needReset = bits, U32, 1652, [7:7] +isInDeadZone = bits, U32, 1652, [8:8] +isBlipping = bits, U32, 1652, [9:9] +useClosedLoop = bits, U32, 1652, [10:10] +badTps = bits, U32, 1652, [11:11] +looksLikeRunning = bits, U32, 1652, [12:12] +looksLikeCoasting = bits, U32, 1652, [13:13] +looksLikeCrankToIdle = bits, U32, 1652, [14:14] +isIdleCoasting = bits, U32, 1652, [15:15] +isIdleClosedLoop = bits, U32, 1652, [16:16] +idleTarget = scalar, S32, 1656, "", 1, 0 +targetRpmByClt = scalar, S32, 1660, "", 1, 0 +targetRpmAc = scalar, S32, 1664, "", 1, 0 +iacByRpmTaper = scalar, F32, 1668 +luaAdd = scalar, F32, 1672 +; total TS size = 1676 +targetWithIdlePosition0 = scalar, F32, 1676, "per", 1,0 +trim0 = scalar, F32, 1680, "", 1, 0 +luaAdjustment0 = scalar, F32, 1684, "per", 1,0 +m_wastegatePosition0 = scalar, F32, 1688, "per", 1,0 +etbFeedForward0 = scalar, F32, 1692 +etbIntegralError0 = scalar, F32, 1696, "", 1, 0 +etbCurrentTarget0 = scalar, F32, 1700, "%", 1, 0 +etbCurrentAdjustedTarget0 = scalar, F32, 1704, "%", 1, 0 +etbRevLimitActive0 = bits, U32, 1708, [0:0] +jamDetected0 = bits, U32, 1708, [1:1] +etbTpsErrorCounter0 = scalar, U16, 1712, "count", 1,0 +etbPpsErrorCounter0 = scalar, U16, 1714, "count", 1,0 +etbErrorCode0 = scalar, S08, 1716, "", 1, 0 +tcEtbDrop0 = scalar, S08, 1717, "%", 1, 0 +jamTimer0 = scalar, U16, 1718, "sec", 0.01, 0 +adjustedEtbTarget0 = scalar, S08, 1720, "%", 1, 0 +; total TS size = 1724 +targetWithIdlePosition1 = scalar, F32, 1724, "per", 1,0 +trim1 = scalar, F32, 1728, "", 1, 0 +luaAdjustment1 = scalar, F32, 1732, "per", 1,0 +m_wastegatePosition1 = scalar, F32, 1736, "per", 1,0 +etbFeedForward1 = scalar, F32, 1740 +etbIntegralError1 = scalar, F32, 1744, "", 1, 0 +etbCurrentTarget1 = scalar, F32, 1748, "%", 1, 0 +etbCurrentAdjustedTarget1 = scalar, F32, 1752, "%", 1, 0 +etbRevLimitActive1 = bits, U32, 1756, [0:0] +jamDetected1 = bits, U32, 1756, [1:1] +etbTpsErrorCounter1 = scalar, U16, 1760, "count", 1,0 +etbPpsErrorCounter1 = scalar, U16, 1762, "count", 1,0 +etbErrorCode1 = scalar, S08, 1764, "", 1, 0 +tcEtbDrop1 = scalar, S08, 1765, "%", 1, 0 +jamTimer1 = scalar, U16, 1766, "sec", 0.01, 0 +adjustedEtbTarget1 = scalar, S08, 1768, "%", 1, 0 +; total TS size = 1772 +faultCode0 = scalar, U08, 1772, "", 1, 0 +heaterDuty0 = scalar, U08, 1773, "%", 1, 0 +pumpDuty0 = scalar, U08, 1774, "%", 1, 0 +tempC0 = scalar, U16, 1776, "C", 1, 0 +nernstVoltage0 = scalar, U16, 1778, "V", 0.001, 0 +esr0 = scalar, U16, 1780, "ohm", 1, 0 +; total TS size = 1784 +faultCode1 = scalar, U08, 1784, "", 1, 0 +heaterDuty1 = scalar, U08, 1785, "%", 1, 0 +pumpDuty1 = scalar, U08, 1786, "%", 1, 0 +tempC1 = scalar, U16, 1788, "C", 1, 0 +nernstVoltage1 = scalar, U16, 1790, "V", 0.001, 0 +esr1 = scalar, U16, 1792, "ohm", 1, 0 +; total TS size = 1796 +dcOutput0 = scalar, F32, 1796, "per", 1,0 +isEnabled0_int = scalar, U08, 1800, "per", 1,0 +isEnabled0 = bits, U32, 1804, [0:0] +; total TS size = 1808 +value0 = scalar, U16, 1808, "value", 1,0 +value1 = scalar, U16, 1810, "value", 1,0 +errorRate = scalar, F32, 1812, "ratio", 1,0 +; total TS size = 1816 +vvtTarget = scalar, U16, 1816, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1818, "%", 0.5, 0 +; total TS size = 1820 +lambdaCurrentlyGood = bits, U32, 1820, [0:0] +lambdaMonitorCut = bits, U32, 1820, [1:1] +lambdaTimeSinceGood = scalar, U16, 1824, "sec", 0.01, 0 +; total TS size = 1828 time = { timeNow } @@ -3616,6 +3648,7 @@ lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs8 requiresPowerCycle = cylinderBore + requiresPowerCycle = knockFrequency readOnly = warning_message readOnly = device_uid1 @@ -5033,6 +5066,26 @@ gaugeCategory = Knock knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knockSpectrumChannelCylGauge = m_knockSpectrumChannelCyl, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStartGauge = m_knockFrequencyStart, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStepGauge = m_knockFrequencyStep, "Knock Frequency Step", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFuelTrimMultiplier = m_knockFuelTrimMultiplier, "Knock Fuel Trim", "mult", 0, 0, 0, 0, 0, 30, 1, 1 + knockSpectrum1 = m_knockSpectrum1, "Knock Spectrum1", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum2 = m_knockSpectrum2, "knockSpectrum2", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum3 = m_knockSpectrum3, "knockSpectrum3", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum4 = m_knockSpectrum4, "knockSpectrum4", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum5 = m_knockSpectrum5, "knockSpectrum5", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum6 = m_knockSpectrum6, "knockSpectrum6", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum7 = m_knockSpectrum7, "knockSpectrum7", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum8 = m_knockSpectrum8, "knockSpectrum8", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum9 = m_knockSpectrum9, "knockSpectrum9", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum10 = m_knockSpectrum10, "knockSpectrum10", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum11 = m_knockSpectrum11, "knockSpectrum11", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum12 = m_knockSpectrum12, "knockSpectrum12", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum13 = m_knockSpectrum13, "knockSpectrum13", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum14 = m_knockSpectrum14, "knockSpectrum14", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum15 = m_knockSpectrum15, "knockSpectrum15", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum16 = m_knockSpectrum16, "knockSpectrum16", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -5631,6 +5684,26 @@ entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" entry = m_knockCount, "Knock: Count", int, "%d" entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_knockFrequency, "knock: frequency", int, "%d" +entry = m_knockSpectrum1, "Knock: SpectrumData 1", int, "%d" +entry = m_knockSpectrum2, "Knock: SpectrumData 2", int, "%d" +entry = m_knockSpectrum3, "Knock: SpectrumData 3", int, "%d" +entry = m_knockSpectrum4, "Knock: SpectrumData 4", int, "%d" +entry = m_knockSpectrum5, "Knock: SpectrumData 5", int, "%d" +entry = m_knockSpectrum6, "Knock: SpectrumData 6", int, "%d" +entry = m_knockSpectrum7, "Knock: SpectrumData 7", int, "%d" +entry = m_knockSpectrum8, "Knock: SpectrumData 8", int, "%d" +entry = m_knockSpectrum9, "Knock: SpectrumData 9", int, "%d" +entry = m_knockSpectrum10, "Knock: SpectrumData 10", int, "%d" +entry = m_knockSpectrum11, "Knock: SpectrumData 11", int, "%d" +entry = m_knockSpectrum12, "Knock: SpectrumData 12", int, "%d" +entry = m_knockSpectrum13, "Knock: SpectrumData 13", int, "%d" +entry = m_knockSpectrum14, "Knock: SpectrumData 14", int, "%d" +entry = m_knockSpectrum15, "Knock: SpectrumData 15", int, "%d" +entry = m_knockSpectrum16, "Knock: SpectrumData 16", int, "%d" +entry = m_knockSpectrumChannelCyl, "Knock: ChannelAndCylNumber", int, "%d" +entry = m_knockFrequencyStart, "Knock: Start Freq", int, "%d" +entry = m_knockFrequencyStep, "Knock: Step Freq", float, "%.3f" +entry = m_knockFuelTrimMultiplier, "Knock: Fuel trim when knock", float, "%.3f" entry = tcuCurrentGear, "TCU: Current Gear", int, "%d" entry = tcRatio, "TCU: Torque Converter Ratio", float, "%.3f" entry = lastShiftTime, "lastShiftTime", float, "%.3f" @@ -6527,6 +6600,31 @@ dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard graphLine = m_knockFrequency + graphLine = m_knockSpectrum1 + graphLine = m_knockSpectrum2 + liveGraph = knock_controller_6_Graph, "Graph", South + graphLine = m_knockSpectrum3 + graphLine = m_knockSpectrum4 + graphLine = m_knockSpectrum5 + graphLine = m_knockSpectrum6 + liveGraph = knock_controller_7_Graph, "Graph", South + graphLine = m_knockSpectrum7 + graphLine = m_knockSpectrum8 + graphLine = m_knockSpectrum9 + graphLine = m_knockSpectrum10 + liveGraph = knock_controller_8_Graph, "Graph", South + graphLine = m_knockSpectrum11 + graphLine = m_knockSpectrum12 + graphLine = m_knockSpectrum13 + graphLine = m_knockSpectrum14 + liveGraph = knock_controller_9_Graph, "Graph", South + graphLine = m_knockSpectrum15 + graphLine = m_knockSpectrum16 + graphLine = m_knockSpectrumChannelCyl + graphLine = m_knockFrequencyStart + liveGraph = knock_controller_10_Graph, "Graph", South + graphLine = m_knockFrequencyStep + graphLine = m_knockFuelTrimMultiplier indicatorPanel = tcu_controllerIndicatorPanel, 2 indicator = {isShifting}, "isShifting No", "isShifting Yes" @@ -8595,9 +8693,13 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockCfg, "Sense" field = "Enable", enableSoftwareKnock field = "Cylinder Bore", cylinderBore, {enableSoftwareKnock} + field = "Estimated Knock Frequency",knockFrequency, {enableSoftwareKnock} field = "Detection mode", knockDetectionUseDoubleFrequency field = "Detection Window Start",knockDetectionWindowStart, {enableSoftwareKnock} field = "Sampling Duration", knockSamplingDuration, {enableSoftwareKnock} + field = "Enable Knock Spectrogram", enableKnockSpectrogram, {enableSoftwareKnock} + field = "Enable Knock Spectrogram Filter", enableKnockSpectrogramFilter, {enableKnockSpectrogram} + field = "Knock Spectrum Sensitivity", knockSpectrumSensitivity, {enableKnockSpectrogram} field = "" field = "Select the nearest sensor for each cylinder" @@ -8617,6 +8719,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockResponseCfg, "Response" field = knockRetardAggression, knockRetardAggression field = knockRetardReapplyRate, knockRetardReapplyRate + field = knockFuelTrimAggression, knockFuelTrimAggression + field = knockFuelTrimReapplyRate, knockFuelTrimReapplyRate + field = knockFuelTrim, knockFuelTrim + field = knockSuppressMinTps, knockSuppressMinTps dialog = softwareKnockLeft, "" panel = softwareKnockCfg diff --git a/firmware/tunerstudio/generated/rusefi_atlas.ini b/firmware/tunerstudio/generated/rusefi_atlas.ini index 676e995494..ab86934be0 100644 --- a/firmware/tunerstudio/generated/rusefi_atlas.ini +++ b/firmware/tunerstudio/generated/rusefi_atlas.ini @@ -38,12 +38,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.10.21.atlas.3269856855" + signature = "rusEFI master.2024.10.21.atlas.516838568" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.10.21.atlas.3269856855" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.10.21.atlas.516838568" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -774,6 +774,7 @@ devBit7 = bits, U32, 1492, [27:27], "false", "true" unusedSkipWasHere = bits, U32, 1492, [28:28], "false", "true" invertExhaustCamVVTSignal = bits, U32, 1492, [29:29], "Rising", "Falling" enableKnockSpectrogram = bits, U32, 1492, [30:30], "false", "true" +enableKnockSpectrogramFilter = bits, U32, 1492, [31:31], "false", "true" afterCrankingIACtaperDuration = scalar, S16, 1496, "cycles", 1, 0, 0, 5000, 0 iacByTpsTaper = scalar, S16, 1498, "percent", 1, 0, 0, 500, 0 unusedAuxSeria = bits, U16, 1500, [0:8], $gpio_list @@ -1394,7 +1395,13 @@ auxLinear4_v1 = scalar, F32, 3720, "volts", 1, 0, 0, 10, 2 auxLinear4_value1 = scalar, F32, 3724, "", 1, 0, -100000, 1000000, 2 auxLinear4_v2 = scalar, F32, 3728, "volts", 1, 0, 0, 10, 2 auxLinear4_value2 = scalar, F32, 3732, "", 1, 0, -100000, 1000000, 2 -unusedOftenChangesDuringFirmwareUpdate = array, U08, 3736, [128], "units", 1, 0, 0, 1, 0 +knockSuppressMinTps = scalar, U08, 3736, "%", 1, 0, 0, 100, 1 +knockFuelTrimAggression = scalar, U08, 3737, "%", 0.1, 0, 0, 20, 1 +knockFuelTrimReapplyRate = scalar, U08, 3738, "deg/s", 0.1, 0, 0, 10, 1 +knockFuelTrim = scalar, U08, 3739, "%", 1, 0, 0, 30, 1 +knockSpectrumSensitivity = scalar, F32, 3740, "sense", 1, 0, 0, 1, 2 +knockFrequency = scalar, F32, 3744, "Hz", 1, 0, 0, 20000, 2 +unusedOftenChangesDuringFirmwareUpdate = array, U08, 3748, [116], "units", 1, 0, 0, 1, 0 postCrankingFactor = array, F32, 3864, [6x6], "mult", 1, 0, 1, 3, 2 postCrankingDurationBins = array, F32, 4008, [6], "count", 1, 0, 0, 1000, 0 postCrankingCLTBins = array, S16, 4032, [6], "C", 1, 0, -100, 250, 0 @@ -2448,6 +2455,11 @@ minimumOilPressureValues = array, U08, 22460, [8], "kPa", 10.0, 0, 0, 1000, 0 minAcPressure = "value of A/C pressure in kPa before that compressor is disengaged" maxAcPressure = "value of A/C pressure in kPa after that compressor is disengaged" minimumOilPressureTimeout = "Delay before cutting fuel due to low oil pressure. Use this to ignore short pressure blips and sensor noise." + knockSuppressMinTps = "Below TPS value all knock suppression will be disabled." + knockFuelTrimAggression = "Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump)," + knockFuelTrimReapplyRate = "After a knock event, reapply fuel at this rate." + knockFuelTrim = "Fuel trim when knock, max 30%" + knockFrequency = "Estimated knock frequency, ignore cylinderBore if this one > 0" etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, open loop component of PID closed loop control" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2560,7 +2572,7 @@ minimumOilPressureValues = array, U08, 22460, [8], "kPa", 10.0, 0, 0, 1000, 0 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1752 + ochBlockSize = 1828 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3101,370 +3113,390 @@ m_knockThreshold = scalar, F32, 960, "", 1, 0 m_knockCount = scalar, U32, 964, "", 1, 0 m_maximumRetard = scalar, F32, 968, "", 1, 0 m_knockFrequency = scalar, U32, 972, "Hz", 1, 0 -; total TS size = 976 -tcuCurrentGear = scalar, S08, 976, "gear", 1, 0 -tcRatio = scalar, U16, 978, "value", 0.01, 0 -lastShiftTime = scalar, F32, 980, "", 1, 0 -tcu_currentRange = scalar, U08, 984, "", 1, 0 -pressureControlDuty = scalar, S08, 985, "%", 1,0 -torqueConverterDuty = scalar, S08, 986, "%", 1,0 -isShifting = bits, U32, 988, [0:0] -; total TS size = 992 -throttleUseWotModel = bits, U32, 992, [0:0] -throttleModelCrossoverAngle = scalar, S16, 996, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1000, "g/s", 1, 0 -; total TS size = 1004 -m_requested_pump = scalar, F32, 1004, "", 1, 0 -fuel_requested_percent = scalar, F32, 1008, "", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1012, "", 1, 0 -noValve = bits, U32, 1016, [0:0] -angleAboveMin = bits, U32, 1016, [1:1] -isHpfpInactive = bits, U32, 1016, [2:2] -m_pressureTarget_kPa = scalar, F32, 1020, "", 1, 0 -nextLobe = scalar, F32, 1024, "", 1, 0 -di_nextStart = scalar, F32, 1028, "v", 1, 0 -; total TS size = 1032 -m_deadtime = scalar, F32, 1032, "ms", 1, 0 -pressureDelta = scalar, F32, 1036, "kPa", 1, 0 -pressureRatio = scalar, F32, 1040, "", 1, 0 -; total TS size = 1044 -retardThresholdRpm = scalar, S32, 1044, "", 1, 0 -launchActivatePinState = bits, U32, 1048, [0:0] -isPreLaunchCondition = bits, U32, 1048, [1:1] -isLaunchCondition = bits, U32, 1048, [2:2] -isSwitchActivated = bits, U32, 1048, [3:3] -isClutchActivated = bits, U32, 1048, [4:4] -isBrakePedalActivated = bits, U32, 1048, [5:5] -isValidInputPin = bits, U32, 1048, [6:6] -activateSwitchCondition = bits, U32, 1048, [7:7] -rpmLaunchCondition = bits, U32, 1048, [8:8] -rpmPreLaunchCondition = bits, U32, 1048, [9:9] -speedCondition = bits, U32, 1048, [10:10] -tpsCondition = bits, U32, 1048, [11:11] +m_knockSpectrum1 = scalar, U32, 976, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 980, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 984, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 988, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1040, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1042, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1044, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1048, "multiplier", 1, 0 ; total TS size = 1052 -isTorqueReductionTriggerPinValid = bits, U32, 1052, [0:0] -torqueReductionTriggerPinState = bits, U32, 1052, [1:1] -isTimeConditionSatisfied = bits, U32, 1052, [2:2] -isRpmConditionSatisfied = bits, U32, 1052, [3:3] -isAppConditionSatisfied = bits, U32, 1052, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1052, [5:5] -; total TS size = 1056 -isAntilagCondition = bits, U32, 1056, [0:0] -ALSMinRPMCondition = bits, U32, 1056, [1:1] -ALSMaxRPMCondition = bits, U32, 1056, [2:2] -ALSMinCLTCondition = bits, U32, 1056, [3:3] -ALSMaxCLTCondition = bits, U32, 1056, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1056, [5:5] -isALSSwitchActivated = bits, U32, 1056, [6:6] -ALSActivatePinState = bits, U32, 1056, [7:7] -ALSSwitchCondition = bits, U32, 1056, [8:8] -ALSTimerCondition = bits, U32, 1056, [9:9] -fuelALSCorrection = scalar, F32, 1060, "", 1, 0 -timingALSCorrection = scalar, S16, 1064, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1066, "deg", 0.01, 0 +tcuCurrentGear = scalar, S08, 1052, "gear", 1, 0 +tcRatio = scalar, U16, 1054, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1056, "", 1, 0 +tcu_currentRange = scalar, U08, 1060, "", 1, 0 +pressureControlDuty = scalar, S08, 1061, "%", 1,0 +torqueConverterDuty = scalar, S08, 1062, "%", 1,0 +isShifting = bits, U32, 1064, [0:0] ; total TS size = 1068 -isTpsInvalid = bits, U32, 1068, [0:0] -m_shouldResetPid = bits, U32, 1068, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1068, [2:2] -isNotClosedLoop = bits, U32, 1068, [3:3] -isZeroRpm = bits, U32, 1068, [4:4] -hasInitBoost = bits, U32, 1068, [5:5] -rpmTooLow = bits, U32, 1068, [6:6] -tpsTooLow = bits, U32, 1068, [7:7] -mapTooLow = bits, U32, 1068, [8:8] -isPlantValid = bits, U32, 1068, [9:9] -isBoostControlled = bits, U32, 1068, [10:10] -luaTargetAdd = scalar, S16, 1072, "v", 0.5,0 -boostOutput = scalar, S16, 1074, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1076, "v", 1,0 -openLoopPart = scalar, F32, 1080, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1084, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1088, "%", 0.5,0 -boostControlTarget = scalar, S16, 1090, "kPa", 0.03333333333333333,0 -; total TS size = 1092 -acButtonState = scalar, S08, 1092, "", 1, 0 -m_acEnabled = bits, U32, 1096, [0:0] -engineTooSlow = bits, U32, 1096, [1:1] -engineTooFast = bits, U32, 1096, [2:2] -noClt = bits, U32, 1096, [3:3] -engineTooHot = bits, U32, 1096, [4:4] -tpsTooHigh = bits, U32, 1096, [5:5] -isDisabledByLua = bits, U32, 1096, [6:6] -acCompressorState = bits, U32, 1096, [7:7] -acPressureTooLow = bits, U32, 1096, [8:8] -acPressureTooHigh = bits, U32, 1096, [9:9] -; total TS size = 1100 -cranking0 = bits, U32, 1100, [0:0] -notRunning0 = bits, U32, 1100, [1:1] -disabledWhileEngineStopped0 = bits, U32, 1100, [2:2] -brokenClt0 = bits, U32, 1100, [3:3] -enabledForAc0 = bits, U32, 1100, [4:4] -hot0 = bits, U32, 1100, [5:5] -cold0 = bits, U32, 1100, [6:6] -disabledBySpeed0 = bits, U32, 1100, [7:7] -radiatorFanStatus0 = scalar, U08, 1104, "", 1, 0 +throttleUseWotModel = bits, U32, 1068, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1072, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1076, "g/s", 1, 0 +; total TS size = 1080 +m_requested_pump = scalar, F32, 1080, "", 1, 0 +fuel_requested_percent = scalar, F32, 1084, "", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1088, "", 1, 0 +noValve = bits, U32, 1092, [0:0] +angleAboveMin = bits, U32, 1092, [1:1] +isHpfpInactive = bits, U32, 1092, [2:2] +m_pressureTarget_kPa = scalar, F32, 1096, "", 1, 0 +nextLobe = scalar, F32, 1100, "", 1, 0 +di_nextStart = scalar, F32, 1104, "v", 1, 0 ; total TS size = 1108 -cranking1 = bits, U32, 1108, [0:0] -notRunning1 = bits, U32, 1108, [1:1] -disabledWhileEngineStopped1 = bits, U32, 1108, [2:2] -brokenClt1 = bits, U32, 1108, [3:3] -enabledForAc1 = bits, U32, 1108, [4:4] -hot1 = bits, U32, 1108, [5:5] -cold1 = bits, U32, 1108, [6:6] -disabledBySpeed1 = bits, U32, 1108, [7:7] -radiatorFanStatus1 = scalar, U08, 1112, "", 1, 0 -; total TS size = 1116 -isPrime = bits, U32, 1116, [0:0] -engineTurnedRecently = bits, U32, 1116, [1:1] -isFuelPumpOn = bits, U32, 1116, [2:2] -ignitionOn = bits, U32, 1116, [3:3] +m_deadtime = scalar, F32, 1108, "ms", 1, 0 +pressureDelta = scalar, F32, 1112, "kPa", 1, 0 +pressureRatio = scalar, F32, 1116, "", 1, 0 ; total TS size = 1120 -isBenchTest = bits, U32, 1120, [0:0] -hasIgnitionVoltage = bits, U32, 1120, [1:1] -mainRelayState = bits, U32, 1120, [2:2] -delayedShutoffRequested = bits, U32, 1120, [3:3] -; total TS size = 1124 -lua_fuelAdd = scalar, F32, 1124, "g", 1, 0 -lua_fuelMult = scalar, F32, 1128, "", 1, 0 -lua_clutchUpState = bits, U32, 1132, [0:0] -lua_brakePedalState = bits, U32, 1132, [1:1] -lua_acRequestState = bits, U32, 1132, [2:2] -lua_luaDisableEtb = bits, U32, 1132, [3:3] -lua_luaIgnCut = bits, U32, 1132, [4:4] -lua_luaFuelCut = bits, U32, 1132, [5:5] -lua_clutchDownState = bits, U32, 1132, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1132, [7:7] -sd_tCharge = scalar, S16, 1136, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1140, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1144, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1148, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1152, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1156, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1160, "", 1, 0 -hellenBoardId = scalar, S16, 1164, "id", 1, 0 -clutchUpState = scalar, S08, 1166, "", 1, 0 -clutchDownState = scalar, S08, 1167, "", 1, 0 -brakePedalState = scalar, S08, 1168, "", 1, 0 -startStopState = scalar, S08, 1169, "", 1, 0 -smartChipState = scalar, S08, 1170, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1171, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1172, "", 1, 0 -startStopPhysicalState = bits, U32, 1176, [0:0] -acrActive = bits, U32, 1176, [1:1] -acrEngineMovedRecently = bits, U32, 1176, [2:2] -heaterControlEnabled = bits, U32, 1176, [3:3] -luaDigitalState0 = bits, U32, 1176, [4:4] -luaDigitalState1 = bits, U32, 1176, [5:5] -luaDigitalState2 = bits, U32, 1176, [6:6] -luaDigitalState3 = bits, U32, 1176, [7:7] -startStopStateToggleCounter = scalar, U32, 1180, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1184, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1188, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1192, "", 1, 0 -desiredRpmLimit = scalar, S16, 1196, "rpm", 1, 0 -fuelInjectionCounter = scalar, U32, 1200, "", 1, 0 -globalSparkCounter = scalar, U32, 1204, "", 1, 0 -fuelingLoad = scalar, F32, 1208, "", 1, 0 -ignitionLoad = scalar, F32, 1212, "", 1, 0 -veTableYAxis = scalar, U16, 1216, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1218, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1219, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1220, "", 1, 0 -; total TS size = 1224 -tpsFrom = scalar, F32, 1224 -tpsTo = scalar, F32, 1228 -deltaTps = scalar, F32, 1232 -extraFuel = scalar, F32, 1236, "", 1, 0 -valueFromTable = scalar, F32, 1240, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1244, [0:0] -isBelowDecelThreshold = bits, U32, 1244, [1:1] -isTimeToResetAccumulator = bits, U32, 1244, [2:2] -isFractionalEnrichment = bits, U32, 1244, [3:3] -belowEpsilon = bits, U32, 1244, [4:4] -tooShort = bits, U32, 1244, [5:5] -fractionalInjFuel = scalar, F32, 1248, "", 1, 0 -accumulatedValue = scalar, F32, 1252, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1256, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1260, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1264, "", 1, 0 -cycleCnt = scalar, S32, 1268, "", 1, 0 -; total TS size = 1272 -hwEventCounters1 = scalar, U32, 1272, "", 1, 0 -hwEventCounters2 = scalar, U32, 1276, "", 1, 0 -hwEventCounters3 = scalar, U32, 1280, "", 1, 0 -hwEventCounters4 = scalar, U32, 1284, "", 1, 0 -hwEventCounters5 = scalar, U32, 1288, "", 1, 0 -hwEventCounters6 = scalar, U32, 1292, "", 1, 0 -vvtCamCounter = scalar, U32, 1296, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1300, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1304, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1308, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1309, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1312, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1316, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1320, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1324, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1328, [0:0] -triggerElapsedUs = scalar, U32, 1332, "", 1, 0 -; total TS size = 1336 -crankSynchronizationCounter0 = scalar, U32, 1336, "", 1, 0 -vvtSyncGapRatio0 = scalar, F32, 1340, "", 1, 0 -vvtToothDurations00 = scalar, U32, 1344, "us", 1, 0 -vvtCurrentPosition0 = scalar, F32, 1348, "sync: Primary Cam Position", 1, 0 -vvtToothPosition10 = scalar, F32, 1352, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition20 = scalar, F32, 1356, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition30 = scalar, F32, 1360, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition40 = scalar, F32, 1364, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio0 = scalar, F32, 1368, "", 1, 0 -triggerStateIndex0 = scalar, U08, 1372, "", 1, 0 -vvtStateIndex0 = scalar, U08, 1373, "", 1, 0 -; total TS size = 1376 -crankSynchronizationCounter1 = scalar, U32, 1376, "", 1, 0 -vvtSyncGapRatio1 = scalar, F32, 1380, "", 1, 0 -vvtToothDurations01 = scalar, U32, 1384, "us", 1, 0 -vvtCurrentPosition1 = scalar, F32, 1388, "sync: Primary Cam Position", 1, 0 -vvtToothPosition11 = scalar, F32, 1392, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition21 = scalar, F32, 1396, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition31 = scalar, F32, 1400, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition41 = scalar, F32, 1404, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio1 = scalar, F32, 1408, "", 1, 0 -triggerStateIndex1 = scalar, U08, 1412, "", 1, 0 -vvtStateIndex1 = scalar, U08, 1413, "", 1, 0 -; total TS size = 1416 -crankSynchronizationCounter2 = scalar, U32, 1416, "", 1, 0 -vvtSyncGapRatio2 = scalar, F32, 1420, "", 1, 0 -vvtToothDurations02 = scalar, U32, 1424, "us", 1, 0 -vvtCurrentPosition2 = scalar, F32, 1428, "sync: Primary Cam Position", 1, 0 -vvtToothPosition12 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition22 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition32 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition42 = scalar, F32, 1444, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio2 = scalar, F32, 1448, "", 1, 0 -triggerStateIndex2 = scalar, U08, 1452, "", 1, 0 -vvtStateIndex2 = scalar, U08, 1453, "", 1, 0 -; total TS size = 1456 -crankSynchronizationCounter3 = scalar, U32, 1456, "", 1, 0 -vvtSyncGapRatio3 = scalar, F32, 1460, "", 1, 0 -vvtToothDurations03 = scalar, U32, 1464, "us", 1, 0 -vvtCurrentPosition3 = scalar, F32, 1468, "sync: Primary Cam Position", 1, 0 -vvtToothPosition13 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition23 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition33 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition43 = scalar, F32, 1484, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio3 = scalar, F32, 1488, "", 1, 0 -triggerStateIndex3 = scalar, U08, 1492, "", 1, 0 -vvtStateIndex3 = scalar, U08, 1493, "", 1, 0 -; total TS size = 1496 -crankSynchronizationCounter4 = scalar, U32, 1496, "", 1, 0 -vvtSyncGapRatio4 = scalar, F32, 1500, "", 1, 0 -vvtToothDurations04 = scalar, U32, 1504, "us", 1, 0 -vvtCurrentPosition4 = scalar, F32, 1508, "sync: Primary Cam Position", 1, 0 -vvtToothPosition14 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition24 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition34 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition44 = scalar, F32, 1524, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio4 = scalar, F32, 1528, "", 1, 0 -triggerStateIndex4 = scalar, U08, 1532, "", 1, 0 -vvtStateIndex4 = scalar, U08, 1533, "", 1, 0 -; total TS size = 1536 -camResyncCounter = scalar, U08, 1536, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1540, [0:0] -; total TS size = 1544 -wallFuelCorrection = scalar, F32, 1544, "", 1, 0 -wallFuel = scalar, F32, 1548, "", 1, 0 -; total TS size = 1552 -idleState = bits, S32, 1552, [0:2], "not important" -currentIdlePosition = scalar, F32, 1556 -baseIdlePosition = scalar, F32, 1560 -idleClosedLoop = scalar, F32, 1564 -iacByTpsTaper = scalar, F32, 1568 -throttlePedalUpState = scalar, S32, 1572, "", 1, 0 -mightResetPid = bits, U32, 1576, [0:0] -shouldResetPid = bits, U32, 1576, [1:1] -wasResetPid = bits, U32, 1576, [2:2] -mustResetPid = bits, U32, 1576, [3:3] -isCranking = bits, U32, 1576, [4:4] -isIacTableForCoasting = bits, U32, 1576, [5:5] -notIdling = bits, U32, 1576, [6:6] -needReset = bits, U32, 1576, [7:7] -isInDeadZone = bits, U32, 1576, [8:8] -isBlipping = bits, U32, 1576, [9:9] -useClosedLoop = bits, U32, 1576, [10:10] -badTps = bits, U32, 1576, [11:11] -looksLikeRunning = bits, U32, 1576, [12:12] -looksLikeCoasting = bits, U32, 1576, [13:13] -looksLikeCrankToIdle = bits, U32, 1576, [14:14] -isIdleCoasting = bits, U32, 1576, [15:15] -isIdleClosedLoop = bits, U32, 1576, [16:16] -idleTarget = scalar, S32, 1580, "", 1, 0 -targetRpmByClt = scalar, S32, 1584, "", 1, 0 -targetRpmAc = scalar, S32, 1588, "", 1, 0 -iacByRpmTaper = scalar, F32, 1592 -luaAdd = scalar, F32, 1596 -; total TS size = 1600 -targetWithIdlePosition0 = scalar, F32, 1600, "per", 1,0 -trim0 = scalar, F32, 1604, "", 1, 0 -luaAdjustment0 = scalar, F32, 1608, "per", 1,0 -m_wastegatePosition0 = scalar, F32, 1612, "per", 1,0 -etbFeedForward0 = scalar, F32, 1616 -etbIntegralError0 = scalar, F32, 1620, "", 1, 0 -etbCurrentTarget0 = scalar, F32, 1624, "%", 1, 0 -etbCurrentAdjustedTarget0 = scalar, F32, 1628, "%", 1, 0 -etbRevLimitActive0 = bits, U32, 1632, [0:0] -jamDetected0 = bits, U32, 1632, [1:1] -etbTpsErrorCounter0 = scalar, U16, 1636, "count", 1,0 -etbPpsErrorCounter0 = scalar, U16, 1638, "count", 1,0 -etbErrorCode0 = scalar, S08, 1640, "", 1, 0 -tcEtbDrop0 = scalar, S08, 1641, "%", 1, 0 -jamTimer0 = scalar, U16, 1642, "sec", 0.01, 0 -adjustedEtbTarget0 = scalar, S08, 1644, "%", 1, 0 -; total TS size = 1648 -targetWithIdlePosition1 = scalar, F32, 1648, "per", 1,0 -trim1 = scalar, F32, 1652, "", 1, 0 -luaAdjustment1 = scalar, F32, 1656, "per", 1,0 -m_wastegatePosition1 = scalar, F32, 1660, "per", 1,0 -etbFeedForward1 = scalar, F32, 1664 -etbIntegralError1 = scalar, F32, 1668, "", 1, 0 -etbCurrentTarget1 = scalar, F32, 1672, "%", 1, 0 -etbCurrentAdjustedTarget1 = scalar, F32, 1676, "%", 1, 0 -etbRevLimitActive1 = bits, U32, 1680, [0:0] -jamDetected1 = bits, U32, 1680, [1:1] -etbTpsErrorCounter1 = scalar, U16, 1684, "count", 1,0 -etbPpsErrorCounter1 = scalar, U16, 1686, "count", 1,0 -etbErrorCode1 = scalar, S08, 1688, "", 1, 0 -tcEtbDrop1 = scalar, S08, 1689, "%", 1, 0 -jamTimer1 = scalar, U16, 1690, "sec", 0.01, 0 -adjustedEtbTarget1 = scalar, S08, 1692, "%", 1, 0 -; total TS size = 1696 -faultCode0 = scalar, U08, 1696, "", 1, 0 -heaterDuty0 = scalar, U08, 1697, "%", 1, 0 -pumpDuty0 = scalar, U08, 1698, "%", 1, 0 -tempC0 = scalar, U16, 1700, "C", 1, 0 -nernstVoltage0 = scalar, U16, 1702, "V", 0.001, 0 -esr0 = scalar, U16, 1704, "ohm", 1, 0 -; total TS size = 1708 -faultCode1 = scalar, U08, 1708, "", 1, 0 -heaterDuty1 = scalar, U08, 1709, "%", 1, 0 -pumpDuty1 = scalar, U08, 1710, "%", 1, 0 -tempC1 = scalar, U16, 1712, "C", 1, 0 -nernstVoltage1 = scalar, U16, 1714, "V", 0.001, 0 -esr1 = scalar, U16, 1716, "ohm", 1, 0 -; total TS size = 1720 -dcOutput0 = scalar, F32, 1720, "per", 1,0 -isEnabled0_int = scalar, U08, 1724, "per", 1,0 -isEnabled0 = bits, U32, 1728, [0:0] -; total TS size = 1732 -value0 = scalar, U16, 1732, "value", 1,0 -value1 = scalar, U16, 1734, "value", 1,0 -errorRate = scalar, F32, 1736, "ratio", 1,0 -; total TS size = 1740 -vvtTarget = scalar, U16, 1740, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1742, "%", 0.5, 0 -; total TS size = 1744 -lambdaCurrentlyGood = bits, U32, 1744, [0:0] -lambdaMonitorCut = bits, U32, 1744, [1:1] -lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 -; total TS size = 1752 +retardThresholdRpm = scalar, S32, 1120, "", 1, 0 +launchActivatePinState = bits, U32, 1124, [0:0] +isPreLaunchCondition = bits, U32, 1124, [1:1] +isLaunchCondition = bits, U32, 1124, [2:2] +isSwitchActivated = bits, U32, 1124, [3:3] +isClutchActivated = bits, U32, 1124, [4:4] +isBrakePedalActivated = bits, U32, 1124, [5:5] +isValidInputPin = bits, U32, 1124, [6:6] +activateSwitchCondition = bits, U32, 1124, [7:7] +rpmLaunchCondition = bits, U32, 1124, [8:8] +rpmPreLaunchCondition = bits, U32, 1124, [9:9] +speedCondition = bits, U32, 1124, [10:10] +tpsCondition = bits, U32, 1124, [11:11] +; total TS size = 1128 +isTorqueReductionTriggerPinValid = bits, U32, 1128, [0:0] +torqueReductionTriggerPinState = bits, U32, 1128, [1:1] +isTimeConditionSatisfied = bits, U32, 1128, [2:2] +isRpmConditionSatisfied = bits, U32, 1128, [3:3] +isAppConditionSatisfied = bits, U32, 1128, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1128, [5:5] +; total TS size = 1132 +isAntilagCondition = bits, U32, 1132, [0:0] +ALSMinRPMCondition = bits, U32, 1132, [1:1] +ALSMaxRPMCondition = bits, U32, 1132, [2:2] +ALSMinCLTCondition = bits, U32, 1132, [3:3] +ALSMaxCLTCondition = bits, U32, 1132, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1132, [5:5] +isALSSwitchActivated = bits, U32, 1132, [6:6] +ALSActivatePinState = bits, U32, 1132, [7:7] +ALSSwitchCondition = bits, U32, 1132, [8:8] +ALSTimerCondition = bits, U32, 1132, [9:9] +fuelALSCorrection = scalar, F32, 1136, "", 1, 0 +timingALSCorrection = scalar, S16, 1140, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1142, "deg", 0.01, 0 +; total TS size = 1144 +isTpsInvalid = bits, U32, 1144, [0:0] +m_shouldResetPid = bits, U32, 1144, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1144, [2:2] +isNotClosedLoop = bits, U32, 1144, [3:3] +isZeroRpm = bits, U32, 1144, [4:4] +hasInitBoost = bits, U32, 1144, [5:5] +rpmTooLow = bits, U32, 1144, [6:6] +tpsTooLow = bits, U32, 1144, [7:7] +mapTooLow = bits, U32, 1144, [8:8] +isPlantValid = bits, U32, 1144, [9:9] +isBoostControlled = bits, U32, 1144, [10:10] +luaTargetAdd = scalar, S16, 1148, "v", 0.5,0 +boostOutput = scalar, S16, 1150, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1152, "v", 1,0 +openLoopPart = scalar, F32, 1156, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1160, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1164, "%", 0.5,0 +boostControlTarget = scalar, S16, 1166, "kPa", 0.03333333333333333,0 +; total TS size = 1168 +acButtonState = scalar, S08, 1168, "", 1, 0 +m_acEnabled = bits, U32, 1172, [0:0] +engineTooSlow = bits, U32, 1172, [1:1] +engineTooFast = bits, U32, 1172, [2:2] +noClt = bits, U32, 1172, [3:3] +engineTooHot = bits, U32, 1172, [4:4] +tpsTooHigh = bits, U32, 1172, [5:5] +isDisabledByLua = bits, U32, 1172, [6:6] +acCompressorState = bits, U32, 1172, [7:7] +acPressureTooLow = bits, U32, 1172, [8:8] +acPressureTooHigh = bits, U32, 1172, [9:9] +; total TS size = 1176 +cranking0 = bits, U32, 1176, [0:0] +notRunning0 = bits, U32, 1176, [1:1] +disabledWhileEngineStopped0 = bits, U32, 1176, [2:2] +brokenClt0 = bits, U32, 1176, [3:3] +enabledForAc0 = bits, U32, 1176, [4:4] +hot0 = bits, U32, 1176, [5:5] +cold0 = bits, U32, 1176, [6:6] +disabledBySpeed0 = bits, U32, 1176, [7:7] +radiatorFanStatus0 = scalar, U08, 1180, "", 1, 0 +; total TS size = 1184 +cranking1 = bits, U32, 1184, [0:0] +notRunning1 = bits, U32, 1184, [1:1] +disabledWhileEngineStopped1 = bits, U32, 1184, [2:2] +brokenClt1 = bits, U32, 1184, [3:3] +enabledForAc1 = bits, U32, 1184, [4:4] +hot1 = bits, U32, 1184, [5:5] +cold1 = bits, U32, 1184, [6:6] +disabledBySpeed1 = bits, U32, 1184, [7:7] +radiatorFanStatus1 = scalar, U08, 1188, "", 1, 0 +; total TS size = 1192 +isPrime = bits, U32, 1192, [0:0] +engineTurnedRecently = bits, U32, 1192, [1:1] +isFuelPumpOn = bits, U32, 1192, [2:2] +ignitionOn = bits, U32, 1192, [3:3] +; total TS size = 1196 +isBenchTest = bits, U32, 1196, [0:0] +hasIgnitionVoltage = bits, U32, 1196, [1:1] +mainRelayState = bits, U32, 1196, [2:2] +delayedShutoffRequested = bits, U32, 1196, [3:3] +; total TS size = 1200 +lua_fuelAdd = scalar, F32, 1200, "g", 1, 0 +lua_fuelMult = scalar, F32, 1204, "", 1, 0 +lua_clutchUpState = bits, U32, 1208, [0:0] +lua_brakePedalState = bits, U32, 1208, [1:1] +lua_acRequestState = bits, U32, 1208, [2:2] +lua_luaDisableEtb = bits, U32, 1208, [3:3] +lua_luaIgnCut = bits, U32, 1208, [4:4] +lua_luaFuelCut = bits, U32, 1208, [5:5] +lua_clutchDownState = bits, U32, 1208, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1208, [7:7] +sd_tCharge = scalar, S16, 1212, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1216, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1220, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1224, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1228, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1232, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1236, "", 1, 0 +hellenBoardId = scalar, S16, 1240, "id", 1, 0 +clutchUpState = scalar, S08, 1242, "", 1, 0 +clutchDownState = scalar, S08, 1243, "", 1, 0 +brakePedalState = scalar, S08, 1244, "", 1, 0 +startStopState = scalar, S08, 1245, "", 1, 0 +smartChipState = scalar, S08, 1246, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1247, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1248, "", 1, 0 +startStopPhysicalState = bits, U32, 1252, [0:0] +acrActive = bits, U32, 1252, [1:1] +acrEngineMovedRecently = bits, U32, 1252, [2:2] +heaterControlEnabled = bits, U32, 1252, [3:3] +luaDigitalState0 = bits, U32, 1252, [4:4] +luaDigitalState1 = bits, U32, 1252, [5:5] +luaDigitalState2 = bits, U32, 1252, [6:6] +luaDigitalState3 = bits, U32, 1252, [7:7] +startStopStateToggleCounter = scalar, U32, 1256, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1260, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1264, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1268, "", 1, 0 +desiredRpmLimit = scalar, S16, 1272, "rpm", 1, 0 +fuelInjectionCounter = scalar, U32, 1276, "", 1, 0 +globalSparkCounter = scalar, U32, 1280, "", 1, 0 +fuelingLoad = scalar, F32, 1284, "", 1, 0 +ignitionLoad = scalar, F32, 1288, "", 1, 0 +veTableYAxis = scalar, U16, 1292, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1294, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1295, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1296, "", 1, 0 +; total TS size = 1300 +tpsFrom = scalar, F32, 1300 +tpsTo = scalar, F32, 1304 +deltaTps = scalar, F32, 1308 +extraFuel = scalar, F32, 1312, "", 1, 0 +valueFromTable = scalar, F32, 1316, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1320, [0:0] +isBelowDecelThreshold = bits, U32, 1320, [1:1] +isTimeToResetAccumulator = bits, U32, 1320, [2:2] +isFractionalEnrichment = bits, U32, 1320, [3:3] +belowEpsilon = bits, U32, 1320, [4:4] +tooShort = bits, U32, 1320, [5:5] +fractionalInjFuel = scalar, F32, 1324, "", 1, 0 +accumulatedValue = scalar, F32, 1328, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1332, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1336, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1340, "", 1, 0 +cycleCnt = scalar, S32, 1344, "", 1, 0 +; total TS size = 1348 +hwEventCounters1 = scalar, U32, 1348, "", 1, 0 +hwEventCounters2 = scalar, U32, 1352, "", 1, 0 +hwEventCounters3 = scalar, U32, 1356, "", 1, 0 +hwEventCounters4 = scalar, U32, 1360, "", 1, 0 +hwEventCounters5 = scalar, U32, 1364, "", 1, 0 +hwEventCounters6 = scalar, U32, 1368, "", 1, 0 +vvtCamCounter = scalar, U32, 1372, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1376, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1380, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1384, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1385, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1388, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1392, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1396, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1400, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1404, [0:0] +triggerElapsedUs = scalar, U32, 1408, "", 1, 0 +; total TS size = 1412 +crankSynchronizationCounter0 = scalar, U32, 1412, "", 1, 0 +vvtSyncGapRatio0 = scalar, F32, 1416, "", 1, 0 +vvtToothDurations00 = scalar, U32, 1420, "us", 1, 0 +vvtCurrentPosition0 = scalar, F32, 1424, "sync: Primary Cam Position", 1, 0 +vvtToothPosition10 = scalar, F32, 1428, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition20 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition30 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition40 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio0 = scalar, F32, 1444, "", 1, 0 +triggerStateIndex0 = scalar, U08, 1448, "", 1, 0 +vvtStateIndex0 = scalar, U08, 1449, "", 1, 0 +; total TS size = 1452 +crankSynchronizationCounter1 = scalar, U32, 1452, "", 1, 0 +vvtSyncGapRatio1 = scalar, F32, 1456, "", 1, 0 +vvtToothDurations01 = scalar, U32, 1460, "us", 1, 0 +vvtCurrentPosition1 = scalar, F32, 1464, "sync: Primary Cam Position", 1, 0 +vvtToothPosition11 = scalar, F32, 1468, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition21 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition31 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition41 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio1 = scalar, F32, 1484, "", 1, 0 +triggerStateIndex1 = scalar, U08, 1488, "", 1, 0 +vvtStateIndex1 = scalar, U08, 1489, "", 1, 0 +; total TS size = 1492 +crankSynchronizationCounter2 = scalar, U32, 1492, "", 1, 0 +vvtSyncGapRatio2 = scalar, F32, 1496, "", 1, 0 +vvtToothDurations02 = scalar, U32, 1500, "us", 1, 0 +vvtCurrentPosition2 = scalar, F32, 1504, "sync: Primary Cam Position", 1, 0 +vvtToothPosition12 = scalar, F32, 1508, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition22 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition32 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition42 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio2 = scalar, F32, 1524, "", 1, 0 +triggerStateIndex2 = scalar, U08, 1528, "", 1, 0 +vvtStateIndex2 = scalar, U08, 1529, "", 1, 0 +; total TS size = 1532 +crankSynchronizationCounter3 = scalar, U32, 1532, "", 1, 0 +vvtSyncGapRatio3 = scalar, F32, 1536, "", 1, 0 +vvtToothDurations03 = scalar, U32, 1540, "us", 1, 0 +vvtCurrentPosition3 = scalar, F32, 1544, "sync: Primary Cam Position", 1, 0 +vvtToothPosition13 = scalar, F32, 1548, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition23 = scalar, F32, 1552, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition33 = scalar, F32, 1556, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition43 = scalar, F32, 1560, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio3 = scalar, F32, 1564, "", 1, 0 +triggerStateIndex3 = scalar, U08, 1568, "", 1, 0 +vvtStateIndex3 = scalar, U08, 1569, "", 1, 0 +; total TS size = 1572 +crankSynchronizationCounter4 = scalar, U32, 1572, "", 1, 0 +vvtSyncGapRatio4 = scalar, F32, 1576, "", 1, 0 +vvtToothDurations04 = scalar, U32, 1580, "us", 1, 0 +vvtCurrentPosition4 = scalar, F32, 1584, "sync: Primary Cam Position", 1, 0 +vvtToothPosition14 = scalar, F32, 1588, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition24 = scalar, F32, 1592, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition34 = scalar, F32, 1596, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition44 = scalar, F32, 1600, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio4 = scalar, F32, 1604, "", 1, 0 +triggerStateIndex4 = scalar, U08, 1608, "", 1, 0 +vvtStateIndex4 = scalar, U08, 1609, "", 1, 0 +; total TS size = 1612 +camResyncCounter = scalar, U08, 1612, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1616, [0:0] +; total TS size = 1620 +wallFuelCorrection = scalar, F32, 1620, "", 1, 0 +wallFuel = scalar, F32, 1624, "", 1, 0 +; total TS size = 1628 +idleState = bits, S32, 1628, [0:2], "not important" +currentIdlePosition = scalar, F32, 1632 +baseIdlePosition = scalar, F32, 1636 +idleClosedLoop = scalar, F32, 1640 +iacByTpsTaper = scalar, F32, 1644 +throttlePedalUpState = scalar, S32, 1648, "", 1, 0 +mightResetPid = bits, U32, 1652, [0:0] +shouldResetPid = bits, U32, 1652, [1:1] +wasResetPid = bits, U32, 1652, [2:2] +mustResetPid = bits, U32, 1652, [3:3] +isCranking = bits, U32, 1652, [4:4] +isIacTableForCoasting = bits, U32, 1652, [5:5] +notIdling = bits, U32, 1652, [6:6] +needReset = bits, U32, 1652, [7:7] +isInDeadZone = bits, U32, 1652, [8:8] +isBlipping = bits, U32, 1652, [9:9] +useClosedLoop = bits, U32, 1652, [10:10] +badTps = bits, U32, 1652, [11:11] +looksLikeRunning = bits, U32, 1652, [12:12] +looksLikeCoasting = bits, U32, 1652, [13:13] +looksLikeCrankToIdle = bits, U32, 1652, [14:14] +isIdleCoasting = bits, U32, 1652, [15:15] +isIdleClosedLoop = bits, U32, 1652, [16:16] +idleTarget = scalar, S32, 1656, "", 1, 0 +targetRpmByClt = scalar, S32, 1660, "", 1, 0 +targetRpmAc = scalar, S32, 1664, "", 1, 0 +iacByRpmTaper = scalar, F32, 1668 +luaAdd = scalar, F32, 1672 +; total TS size = 1676 +targetWithIdlePosition0 = scalar, F32, 1676, "per", 1,0 +trim0 = scalar, F32, 1680, "", 1, 0 +luaAdjustment0 = scalar, F32, 1684, "per", 1,0 +m_wastegatePosition0 = scalar, F32, 1688, "per", 1,0 +etbFeedForward0 = scalar, F32, 1692 +etbIntegralError0 = scalar, F32, 1696, "", 1, 0 +etbCurrentTarget0 = scalar, F32, 1700, "%", 1, 0 +etbCurrentAdjustedTarget0 = scalar, F32, 1704, "%", 1, 0 +etbRevLimitActive0 = bits, U32, 1708, [0:0] +jamDetected0 = bits, U32, 1708, [1:1] +etbTpsErrorCounter0 = scalar, U16, 1712, "count", 1,0 +etbPpsErrorCounter0 = scalar, U16, 1714, "count", 1,0 +etbErrorCode0 = scalar, S08, 1716, "", 1, 0 +tcEtbDrop0 = scalar, S08, 1717, "%", 1, 0 +jamTimer0 = scalar, U16, 1718, "sec", 0.01, 0 +adjustedEtbTarget0 = scalar, S08, 1720, "%", 1, 0 +; total TS size = 1724 +targetWithIdlePosition1 = scalar, F32, 1724, "per", 1,0 +trim1 = scalar, F32, 1728, "", 1, 0 +luaAdjustment1 = scalar, F32, 1732, "per", 1,0 +m_wastegatePosition1 = scalar, F32, 1736, "per", 1,0 +etbFeedForward1 = scalar, F32, 1740 +etbIntegralError1 = scalar, F32, 1744, "", 1, 0 +etbCurrentTarget1 = scalar, F32, 1748, "%", 1, 0 +etbCurrentAdjustedTarget1 = scalar, F32, 1752, "%", 1, 0 +etbRevLimitActive1 = bits, U32, 1756, [0:0] +jamDetected1 = bits, U32, 1756, [1:1] +etbTpsErrorCounter1 = scalar, U16, 1760, "count", 1,0 +etbPpsErrorCounter1 = scalar, U16, 1762, "count", 1,0 +etbErrorCode1 = scalar, S08, 1764, "", 1, 0 +tcEtbDrop1 = scalar, S08, 1765, "%", 1, 0 +jamTimer1 = scalar, U16, 1766, "sec", 0.01, 0 +adjustedEtbTarget1 = scalar, S08, 1768, "%", 1, 0 +; total TS size = 1772 +faultCode0 = scalar, U08, 1772, "", 1, 0 +heaterDuty0 = scalar, U08, 1773, "%", 1, 0 +pumpDuty0 = scalar, U08, 1774, "%", 1, 0 +tempC0 = scalar, U16, 1776, "C", 1, 0 +nernstVoltage0 = scalar, U16, 1778, "V", 0.001, 0 +esr0 = scalar, U16, 1780, "ohm", 1, 0 +; total TS size = 1784 +faultCode1 = scalar, U08, 1784, "", 1, 0 +heaterDuty1 = scalar, U08, 1785, "%", 1, 0 +pumpDuty1 = scalar, U08, 1786, "%", 1, 0 +tempC1 = scalar, U16, 1788, "C", 1, 0 +nernstVoltage1 = scalar, U16, 1790, "V", 0.001, 0 +esr1 = scalar, U16, 1792, "ohm", 1, 0 +; total TS size = 1796 +dcOutput0 = scalar, F32, 1796, "per", 1,0 +isEnabled0_int = scalar, U08, 1800, "per", 1,0 +isEnabled0 = bits, U32, 1804, [0:0] +; total TS size = 1808 +value0 = scalar, U16, 1808, "value", 1,0 +value1 = scalar, U16, 1810, "value", 1,0 +errorRate = scalar, F32, 1812, "ratio", 1,0 +; total TS size = 1816 +vvtTarget = scalar, U16, 1816, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1818, "%", 0.5, 0 +; total TS size = 1820 +lambdaCurrentlyGood = bits, U32, 1820, [0:0] +lambdaMonitorCut = bits, U32, 1820, [1:1] +lambdaTimeSinceGood = scalar, U16, 1824, "sec", 0.01, 0 +; total TS size = 1828 time = { timeNow } @@ -3616,6 +3648,7 @@ lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs8 requiresPowerCycle = cylinderBore + requiresPowerCycle = knockFrequency readOnly = warning_message readOnly = device_uid1 @@ -5033,6 +5066,26 @@ gaugeCategory = Knock knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knockSpectrumChannelCylGauge = m_knockSpectrumChannelCyl, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStartGauge = m_knockFrequencyStart, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStepGauge = m_knockFrequencyStep, "Knock Frequency Step", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFuelTrimMultiplier = m_knockFuelTrimMultiplier, "Knock Fuel Trim", "mult", 0, 0, 0, 0, 0, 30, 1, 1 + knockSpectrum1 = m_knockSpectrum1, "Knock Spectrum1", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum2 = m_knockSpectrum2, "knockSpectrum2", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum3 = m_knockSpectrum3, "knockSpectrum3", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum4 = m_knockSpectrum4, "knockSpectrum4", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum5 = m_knockSpectrum5, "knockSpectrum5", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum6 = m_knockSpectrum6, "knockSpectrum6", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum7 = m_knockSpectrum7, "knockSpectrum7", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum8 = m_knockSpectrum8, "knockSpectrum8", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum9 = m_knockSpectrum9, "knockSpectrum9", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum10 = m_knockSpectrum10, "knockSpectrum10", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum11 = m_knockSpectrum11, "knockSpectrum11", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum12 = m_knockSpectrum12, "knockSpectrum12", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum13 = m_knockSpectrum13, "knockSpectrum13", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum14 = m_knockSpectrum14, "knockSpectrum14", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum15 = m_knockSpectrum15, "knockSpectrum15", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum16 = m_knockSpectrum16, "knockSpectrum16", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -5631,6 +5684,26 @@ entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" entry = m_knockCount, "Knock: Count", int, "%d" entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_knockFrequency, "knock: frequency", int, "%d" +entry = m_knockSpectrum1, "Knock: SpectrumData 1", int, "%d" +entry = m_knockSpectrum2, "Knock: SpectrumData 2", int, "%d" +entry = m_knockSpectrum3, "Knock: SpectrumData 3", int, "%d" +entry = m_knockSpectrum4, "Knock: SpectrumData 4", int, "%d" +entry = m_knockSpectrum5, "Knock: SpectrumData 5", int, "%d" +entry = m_knockSpectrum6, "Knock: SpectrumData 6", int, "%d" +entry = m_knockSpectrum7, "Knock: SpectrumData 7", int, "%d" +entry = m_knockSpectrum8, "Knock: SpectrumData 8", int, "%d" +entry = m_knockSpectrum9, "Knock: SpectrumData 9", int, "%d" +entry = m_knockSpectrum10, "Knock: SpectrumData 10", int, "%d" +entry = m_knockSpectrum11, "Knock: SpectrumData 11", int, "%d" +entry = m_knockSpectrum12, "Knock: SpectrumData 12", int, "%d" +entry = m_knockSpectrum13, "Knock: SpectrumData 13", int, "%d" +entry = m_knockSpectrum14, "Knock: SpectrumData 14", int, "%d" +entry = m_knockSpectrum15, "Knock: SpectrumData 15", int, "%d" +entry = m_knockSpectrum16, "Knock: SpectrumData 16", int, "%d" +entry = m_knockSpectrumChannelCyl, "Knock: ChannelAndCylNumber", int, "%d" +entry = m_knockFrequencyStart, "Knock: Start Freq", int, "%d" +entry = m_knockFrequencyStep, "Knock: Step Freq", float, "%.3f" +entry = m_knockFuelTrimMultiplier, "Knock: Fuel trim when knock", float, "%.3f" entry = tcuCurrentGear, "TCU: Current Gear", int, "%d" entry = tcRatio, "TCU: Torque Converter Ratio", float, "%.3f" entry = lastShiftTime, "lastShiftTime", float, "%.3f" @@ -6527,6 +6600,31 @@ dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard graphLine = m_knockFrequency + graphLine = m_knockSpectrum1 + graphLine = m_knockSpectrum2 + liveGraph = knock_controller_6_Graph, "Graph", South + graphLine = m_knockSpectrum3 + graphLine = m_knockSpectrum4 + graphLine = m_knockSpectrum5 + graphLine = m_knockSpectrum6 + liveGraph = knock_controller_7_Graph, "Graph", South + graphLine = m_knockSpectrum7 + graphLine = m_knockSpectrum8 + graphLine = m_knockSpectrum9 + graphLine = m_knockSpectrum10 + liveGraph = knock_controller_8_Graph, "Graph", South + graphLine = m_knockSpectrum11 + graphLine = m_knockSpectrum12 + graphLine = m_knockSpectrum13 + graphLine = m_knockSpectrum14 + liveGraph = knock_controller_9_Graph, "Graph", South + graphLine = m_knockSpectrum15 + graphLine = m_knockSpectrum16 + graphLine = m_knockSpectrumChannelCyl + graphLine = m_knockFrequencyStart + liveGraph = knock_controller_10_Graph, "Graph", South + graphLine = m_knockFrequencyStep + graphLine = m_knockFuelTrimMultiplier indicatorPanel = tcu_controllerIndicatorPanel, 2 indicator = {isShifting}, "isShifting No", "isShifting Yes" @@ -8587,9 +8685,13 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockCfg, "Sense" field = "Enable", enableSoftwareKnock field = "Cylinder Bore", cylinderBore, {enableSoftwareKnock} + field = "Estimated Knock Frequency",knockFrequency, {enableSoftwareKnock} field = "Detection mode", knockDetectionUseDoubleFrequency field = "Detection Window Start",knockDetectionWindowStart, {enableSoftwareKnock} field = "Sampling Duration", knockSamplingDuration, {enableSoftwareKnock} + field = "Enable Knock Spectrogram", enableKnockSpectrogram, {enableSoftwareKnock} + field = "Enable Knock Spectrogram Filter", enableKnockSpectrogramFilter, {enableKnockSpectrogram} + field = "Knock Spectrum Sensitivity", knockSpectrumSensitivity, {enableKnockSpectrogram} field = "" field = "Select the nearest sensor for each cylinder" @@ -8609,6 +8711,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockResponseCfg, "Response" field = knockRetardAggression, knockRetardAggression field = knockRetardReapplyRate, knockRetardReapplyRate + field = knockFuelTrimAggression, knockFuelTrimAggression + field = knockFuelTrimReapplyRate, knockFuelTrimReapplyRate + field = knockFuelTrim, knockFuelTrim + field = knockSuppressMinTps, knockSuppressMinTps dialog = softwareKnockLeft, "" panel = softwareKnockCfg diff --git a/firmware/tunerstudio/generated/rusefi_f407-discovery.ini b/firmware/tunerstudio/generated/rusefi_f407-discovery.ini index 336ab17b8c..12808ba279 100644 --- a/firmware/tunerstudio/generated/rusefi_f407-discovery.ini +++ b/firmware/tunerstudio/generated/rusefi_f407-discovery.ini @@ -38,12 +38,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.10.21.f407-discovery.1717113764" + signature = "rusEFI master.2024.10.21.f407-discovery.3127986523" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.10.21.f407-discovery.1717113764" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.10.21.f407-discovery.3127986523" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -774,6 +774,7 @@ devBit7 = bits, U32, 1492, [27:27], "false", "true" unusedSkipWasHere = bits, U32, 1492, [28:28], "false", "true" invertExhaustCamVVTSignal = bits, U32, 1492, [29:29], "Rising", "Falling" enableKnockSpectrogram = bits, U32, 1492, [30:30], "false", "true" +enableKnockSpectrogramFilter = bits, U32, 1492, [31:31], "false", "true" afterCrankingIACtaperDuration = scalar, S16, 1496, "cycles", 1, 0, 0, 5000, 0 iacByTpsTaper = scalar, S16, 1498, "percent", 1, 0, 0, 500, 0 unusedAuxSeria = bits, U16, 1500, [0:8], $gpio_list @@ -1394,7 +1395,13 @@ auxLinear4_v1 = scalar, F32, 3880, "volts", 1, 0, 0, 10, 2 auxLinear4_value1 = scalar, F32, 3884, "", 1, 0, -100000, 1000000, 2 auxLinear4_v2 = scalar, F32, 3888, "volts", 1, 0, 0, 10, 2 auxLinear4_value2 = scalar, F32, 3892, "", 1, 0, -100000, 1000000, 2 -unusedOftenChangesDuringFirmwareUpdate = array, U08, 3896, [128], "units", 1, 0, 0, 1, 0 +knockSuppressMinTps = scalar, U08, 3896, "%", 1, 0, 0, 100, 1 +knockFuelTrimAggression = scalar, U08, 3897, "%", 0.1, 0, 0, 20, 1 +knockFuelTrimReapplyRate = scalar, U08, 3898, "deg/s", 0.1, 0, 0, 10, 1 +knockFuelTrim = scalar, U08, 3899, "%", 1, 0, 0, 30, 1 +knockSpectrumSensitivity = scalar, F32, 3900, "sense", 1, 0, 0, 1, 2 +knockFrequency = scalar, F32, 3904, "Hz", 1, 0, 0, 20000, 2 +unusedOftenChangesDuringFirmwareUpdate = array, U08, 3908, [116], "units", 1, 0, 0, 1, 0 postCrankingFactor = array, F32, 4024, [6x6], "mult", 1, 0, 1, 3, 2 postCrankingDurationBins = array, F32, 4168, [6], "count", 1, 0, 0, 1000, 0 postCrankingCLTBins = array, S16, 4192, [6], "C", 1, 0, -100, 250, 0 @@ -2449,6 +2456,11 @@ communityCommsLedPin = bits, U16, 22968, [0:8], $gpio_list minAcPressure = "value of A/C pressure in kPa before that compressor is disengaged" maxAcPressure = "value of A/C pressure in kPa after that compressor is disengaged" minimumOilPressureTimeout = "Delay before cutting fuel due to low oil pressure. Use this to ignore short pressure blips and sensor noise." + knockSuppressMinTps = "Below TPS value all knock suppression will be disabled." + knockFuelTrimAggression = "Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump)," + knockFuelTrimReapplyRate = "After a knock event, reapply fuel at this rate." + knockFuelTrim = "Fuel trim when knock, max 30%" + knockFrequency = "Estimated knock frequency, ignore cylinderBore if this one > 0" etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, open loop component of PID closed loop control" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2561,7 +2573,7 @@ communityCommsLedPin = bits, U16, 22968, [0:8], $gpio_list ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1752 + ochBlockSize = 1828 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3102,370 +3114,390 @@ m_knockThreshold = scalar, F32, 960, "", 1, 0 m_knockCount = scalar, U32, 964, "", 1, 0 m_maximumRetard = scalar, F32, 968, "", 1, 0 m_knockFrequency = scalar, U32, 972, "Hz", 1, 0 -; total TS size = 976 -tcuCurrentGear = scalar, S08, 976, "gear", 1, 0 -tcRatio = scalar, U16, 978, "value", 0.01, 0 -lastShiftTime = scalar, F32, 980, "", 1, 0 -tcu_currentRange = scalar, U08, 984, "", 1, 0 -pressureControlDuty = scalar, S08, 985, "%", 1,0 -torqueConverterDuty = scalar, S08, 986, "%", 1,0 -isShifting = bits, U32, 988, [0:0] -; total TS size = 992 -throttleUseWotModel = bits, U32, 992, [0:0] -throttleModelCrossoverAngle = scalar, S16, 996, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1000, "g/s", 1, 0 -; total TS size = 1004 -m_requested_pump = scalar, F32, 1004, "", 1, 0 -fuel_requested_percent = scalar, F32, 1008, "", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1012, "", 1, 0 -noValve = bits, U32, 1016, [0:0] -angleAboveMin = bits, U32, 1016, [1:1] -isHpfpInactive = bits, U32, 1016, [2:2] -m_pressureTarget_kPa = scalar, F32, 1020, "", 1, 0 -nextLobe = scalar, F32, 1024, "", 1, 0 -di_nextStart = scalar, F32, 1028, "v", 1, 0 -; total TS size = 1032 -m_deadtime = scalar, F32, 1032, "ms", 1, 0 -pressureDelta = scalar, F32, 1036, "kPa", 1, 0 -pressureRatio = scalar, F32, 1040, "", 1, 0 -; total TS size = 1044 -retardThresholdRpm = scalar, S32, 1044, "", 1, 0 -launchActivatePinState = bits, U32, 1048, [0:0] -isPreLaunchCondition = bits, U32, 1048, [1:1] -isLaunchCondition = bits, U32, 1048, [2:2] -isSwitchActivated = bits, U32, 1048, [3:3] -isClutchActivated = bits, U32, 1048, [4:4] -isBrakePedalActivated = bits, U32, 1048, [5:5] -isValidInputPin = bits, U32, 1048, [6:6] -activateSwitchCondition = bits, U32, 1048, [7:7] -rpmLaunchCondition = bits, U32, 1048, [8:8] -rpmPreLaunchCondition = bits, U32, 1048, [9:9] -speedCondition = bits, U32, 1048, [10:10] -tpsCondition = bits, U32, 1048, [11:11] +m_knockSpectrum1 = scalar, U32, 976, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 980, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 984, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 988, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1040, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1042, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1044, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1048, "multiplier", 1, 0 ; total TS size = 1052 -isTorqueReductionTriggerPinValid = bits, U32, 1052, [0:0] -torqueReductionTriggerPinState = bits, U32, 1052, [1:1] -isTimeConditionSatisfied = bits, U32, 1052, [2:2] -isRpmConditionSatisfied = bits, U32, 1052, [3:3] -isAppConditionSatisfied = bits, U32, 1052, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1052, [5:5] -; total TS size = 1056 -isAntilagCondition = bits, U32, 1056, [0:0] -ALSMinRPMCondition = bits, U32, 1056, [1:1] -ALSMaxRPMCondition = bits, U32, 1056, [2:2] -ALSMinCLTCondition = bits, U32, 1056, [3:3] -ALSMaxCLTCondition = bits, U32, 1056, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1056, [5:5] -isALSSwitchActivated = bits, U32, 1056, [6:6] -ALSActivatePinState = bits, U32, 1056, [7:7] -ALSSwitchCondition = bits, U32, 1056, [8:8] -ALSTimerCondition = bits, U32, 1056, [9:9] -fuelALSCorrection = scalar, F32, 1060, "", 1, 0 -timingALSCorrection = scalar, S16, 1064, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1066, "deg", 0.01, 0 +tcuCurrentGear = scalar, S08, 1052, "gear", 1, 0 +tcRatio = scalar, U16, 1054, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1056, "", 1, 0 +tcu_currentRange = scalar, U08, 1060, "", 1, 0 +pressureControlDuty = scalar, S08, 1061, "%", 1,0 +torqueConverterDuty = scalar, S08, 1062, "%", 1,0 +isShifting = bits, U32, 1064, [0:0] ; total TS size = 1068 -isTpsInvalid = bits, U32, 1068, [0:0] -m_shouldResetPid = bits, U32, 1068, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1068, [2:2] -isNotClosedLoop = bits, U32, 1068, [3:3] -isZeroRpm = bits, U32, 1068, [4:4] -hasInitBoost = bits, U32, 1068, [5:5] -rpmTooLow = bits, U32, 1068, [6:6] -tpsTooLow = bits, U32, 1068, [7:7] -mapTooLow = bits, U32, 1068, [8:8] -isPlantValid = bits, U32, 1068, [9:9] -isBoostControlled = bits, U32, 1068, [10:10] -luaTargetAdd = scalar, S16, 1072, "v", 0.5,0 -boostOutput = scalar, S16, 1074, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1076, "v", 1,0 -openLoopPart = scalar, F32, 1080, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1084, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1088, "%", 0.5,0 -boostControlTarget = scalar, S16, 1090, "kPa", 0.03333333333333333,0 -; total TS size = 1092 -acButtonState = scalar, S08, 1092, "", 1, 0 -m_acEnabled = bits, U32, 1096, [0:0] -engineTooSlow = bits, U32, 1096, [1:1] -engineTooFast = bits, U32, 1096, [2:2] -noClt = bits, U32, 1096, [3:3] -engineTooHot = bits, U32, 1096, [4:4] -tpsTooHigh = bits, U32, 1096, [5:5] -isDisabledByLua = bits, U32, 1096, [6:6] -acCompressorState = bits, U32, 1096, [7:7] -acPressureTooLow = bits, U32, 1096, [8:8] -acPressureTooHigh = bits, U32, 1096, [9:9] -; total TS size = 1100 -cranking0 = bits, U32, 1100, [0:0] -notRunning0 = bits, U32, 1100, [1:1] -disabledWhileEngineStopped0 = bits, U32, 1100, [2:2] -brokenClt0 = bits, U32, 1100, [3:3] -enabledForAc0 = bits, U32, 1100, [4:4] -hot0 = bits, U32, 1100, [5:5] -cold0 = bits, U32, 1100, [6:6] -disabledBySpeed0 = bits, U32, 1100, [7:7] -radiatorFanStatus0 = scalar, U08, 1104, "", 1, 0 +throttleUseWotModel = bits, U32, 1068, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1072, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1076, "g/s", 1, 0 +; total TS size = 1080 +m_requested_pump = scalar, F32, 1080, "", 1, 0 +fuel_requested_percent = scalar, F32, 1084, "", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1088, "", 1, 0 +noValve = bits, U32, 1092, [0:0] +angleAboveMin = bits, U32, 1092, [1:1] +isHpfpInactive = bits, U32, 1092, [2:2] +m_pressureTarget_kPa = scalar, F32, 1096, "", 1, 0 +nextLobe = scalar, F32, 1100, "", 1, 0 +di_nextStart = scalar, F32, 1104, "v", 1, 0 ; total TS size = 1108 -cranking1 = bits, U32, 1108, [0:0] -notRunning1 = bits, U32, 1108, [1:1] -disabledWhileEngineStopped1 = bits, U32, 1108, [2:2] -brokenClt1 = bits, U32, 1108, [3:3] -enabledForAc1 = bits, U32, 1108, [4:4] -hot1 = bits, U32, 1108, [5:5] -cold1 = bits, U32, 1108, [6:6] -disabledBySpeed1 = bits, U32, 1108, [7:7] -radiatorFanStatus1 = scalar, U08, 1112, "", 1, 0 -; total TS size = 1116 -isPrime = bits, U32, 1116, [0:0] -engineTurnedRecently = bits, U32, 1116, [1:1] -isFuelPumpOn = bits, U32, 1116, [2:2] -ignitionOn = bits, U32, 1116, [3:3] +m_deadtime = scalar, F32, 1108, "ms", 1, 0 +pressureDelta = scalar, F32, 1112, "kPa", 1, 0 +pressureRatio = scalar, F32, 1116, "", 1, 0 ; total TS size = 1120 -isBenchTest = bits, U32, 1120, [0:0] -hasIgnitionVoltage = bits, U32, 1120, [1:1] -mainRelayState = bits, U32, 1120, [2:2] -delayedShutoffRequested = bits, U32, 1120, [3:3] -; total TS size = 1124 -lua_fuelAdd = scalar, F32, 1124, "g", 1, 0 -lua_fuelMult = scalar, F32, 1128, "", 1, 0 -lua_clutchUpState = bits, U32, 1132, [0:0] -lua_brakePedalState = bits, U32, 1132, [1:1] -lua_acRequestState = bits, U32, 1132, [2:2] -lua_luaDisableEtb = bits, U32, 1132, [3:3] -lua_luaIgnCut = bits, U32, 1132, [4:4] -lua_luaFuelCut = bits, U32, 1132, [5:5] -lua_clutchDownState = bits, U32, 1132, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1132, [7:7] -sd_tCharge = scalar, S16, 1136, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1140, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1144, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1148, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1152, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1156, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1160, "", 1, 0 -hellenBoardId = scalar, S16, 1164, "id", 1, 0 -clutchUpState = scalar, S08, 1166, "", 1, 0 -clutchDownState = scalar, S08, 1167, "", 1, 0 -brakePedalState = scalar, S08, 1168, "", 1, 0 -startStopState = scalar, S08, 1169, "", 1, 0 -smartChipState = scalar, S08, 1170, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1171, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1172, "", 1, 0 -startStopPhysicalState = bits, U32, 1176, [0:0] -acrActive = bits, U32, 1176, [1:1] -acrEngineMovedRecently = bits, U32, 1176, [2:2] -heaterControlEnabled = bits, U32, 1176, [3:3] -luaDigitalState0 = bits, U32, 1176, [4:4] -luaDigitalState1 = bits, U32, 1176, [5:5] -luaDigitalState2 = bits, U32, 1176, [6:6] -luaDigitalState3 = bits, U32, 1176, [7:7] -startStopStateToggleCounter = scalar, U32, 1180, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1184, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1188, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1192, "", 1, 0 -desiredRpmLimit = scalar, S16, 1196, "rpm", 1, 0 -fuelInjectionCounter = scalar, U32, 1200, "", 1, 0 -globalSparkCounter = scalar, U32, 1204, "", 1, 0 -fuelingLoad = scalar, F32, 1208, "", 1, 0 -ignitionLoad = scalar, F32, 1212, "", 1, 0 -veTableYAxis = scalar, U16, 1216, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1218, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1219, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1220, "", 1, 0 -; total TS size = 1224 -tpsFrom = scalar, F32, 1224 -tpsTo = scalar, F32, 1228 -deltaTps = scalar, F32, 1232 -extraFuel = scalar, F32, 1236, "", 1, 0 -valueFromTable = scalar, F32, 1240, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1244, [0:0] -isBelowDecelThreshold = bits, U32, 1244, [1:1] -isTimeToResetAccumulator = bits, U32, 1244, [2:2] -isFractionalEnrichment = bits, U32, 1244, [3:3] -belowEpsilon = bits, U32, 1244, [4:4] -tooShort = bits, U32, 1244, [5:5] -fractionalInjFuel = scalar, F32, 1248, "", 1, 0 -accumulatedValue = scalar, F32, 1252, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1256, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1260, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1264, "", 1, 0 -cycleCnt = scalar, S32, 1268, "", 1, 0 -; total TS size = 1272 -hwEventCounters1 = scalar, U32, 1272, "", 1, 0 -hwEventCounters2 = scalar, U32, 1276, "", 1, 0 -hwEventCounters3 = scalar, U32, 1280, "", 1, 0 -hwEventCounters4 = scalar, U32, 1284, "", 1, 0 -hwEventCounters5 = scalar, U32, 1288, "", 1, 0 -hwEventCounters6 = scalar, U32, 1292, "", 1, 0 -vvtCamCounter = scalar, U32, 1296, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1300, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1304, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1308, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1309, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1312, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1316, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1320, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1324, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1328, [0:0] -triggerElapsedUs = scalar, U32, 1332, "", 1, 0 -; total TS size = 1336 -crankSynchronizationCounter0 = scalar, U32, 1336, "", 1, 0 -vvtSyncGapRatio0 = scalar, F32, 1340, "", 1, 0 -vvtToothDurations00 = scalar, U32, 1344, "us", 1, 0 -vvtCurrentPosition0 = scalar, F32, 1348, "sync: Primary Cam Position", 1, 0 -vvtToothPosition10 = scalar, F32, 1352, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition20 = scalar, F32, 1356, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition30 = scalar, F32, 1360, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition40 = scalar, F32, 1364, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio0 = scalar, F32, 1368, "", 1, 0 -triggerStateIndex0 = scalar, U08, 1372, "", 1, 0 -vvtStateIndex0 = scalar, U08, 1373, "", 1, 0 -; total TS size = 1376 -crankSynchronizationCounter1 = scalar, U32, 1376, "", 1, 0 -vvtSyncGapRatio1 = scalar, F32, 1380, "", 1, 0 -vvtToothDurations01 = scalar, U32, 1384, "us", 1, 0 -vvtCurrentPosition1 = scalar, F32, 1388, "sync: Primary Cam Position", 1, 0 -vvtToothPosition11 = scalar, F32, 1392, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition21 = scalar, F32, 1396, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition31 = scalar, F32, 1400, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition41 = scalar, F32, 1404, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio1 = scalar, F32, 1408, "", 1, 0 -triggerStateIndex1 = scalar, U08, 1412, "", 1, 0 -vvtStateIndex1 = scalar, U08, 1413, "", 1, 0 -; total TS size = 1416 -crankSynchronizationCounter2 = scalar, U32, 1416, "", 1, 0 -vvtSyncGapRatio2 = scalar, F32, 1420, "", 1, 0 -vvtToothDurations02 = scalar, U32, 1424, "us", 1, 0 -vvtCurrentPosition2 = scalar, F32, 1428, "sync: Primary Cam Position", 1, 0 -vvtToothPosition12 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition22 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition32 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition42 = scalar, F32, 1444, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio2 = scalar, F32, 1448, "", 1, 0 -triggerStateIndex2 = scalar, U08, 1452, "", 1, 0 -vvtStateIndex2 = scalar, U08, 1453, "", 1, 0 -; total TS size = 1456 -crankSynchronizationCounter3 = scalar, U32, 1456, "", 1, 0 -vvtSyncGapRatio3 = scalar, F32, 1460, "", 1, 0 -vvtToothDurations03 = scalar, U32, 1464, "us", 1, 0 -vvtCurrentPosition3 = scalar, F32, 1468, "sync: Primary Cam Position", 1, 0 -vvtToothPosition13 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition23 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition33 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition43 = scalar, F32, 1484, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio3 = scalar, F32, 1488, "", 1, 0 -triggerStateIndex3 = scalar, U08, 1492, "", 1, 0 -vvtStateIndex3 = scalar, U08, 1493, "", 1, 0 -; total TS size = 1496 -crankSynchronizationCounter4 = scalar, U32, 1496, "", 1, 0 -vvtSyncGapRatio4 = scalar, F32, 1500, "", 1, 0 -vvtToothDurations04 = scalar, U32, 1504, "us", 1, 0 -vvtCurrentPosition4 = scalar, F32, 1508, "sync: Primary Cam Position", 1, 0 -vvtToothPosition14 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition24 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition34 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition44 = scalar, F32, 1524, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio4 = scalar, F32, 1528, "", 1, 0 -triggerStateIndex4 = scalar, U08, 1532, "", 1, 0 -vvtStateIndex4 = scalar, U08, 1533, "", 1, 0 -; total TS size = 1536 -camResyncCounter = scalar, U08, 1536, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1540, [0:0] -; total TS size = 1544 -wallFuelCorrection = scalar, F32, 1544, "", 1, 0 -wallFuel = scalar, F32, 1548, "", 1, 0 -; total TS size = 1552 -idleState = bits, S32, 1552, [0:2], "not important" -currentIdlePosition = scalar, F32, 1556 -baseIdlePosition = scalar, F32, 1560 -idleClosedLoop = scalar, F32, 1564 -iacByTpsTaper = scalar, F32, 1568 -throttlePedalUpState = scalar, S32, 1572, "", 1, 0 -mightResetPid = bits, U32, 1576, [0:0] -shouldResetPid = bits, U32, 1576, [1:1] -wasResetPid = bits, U32, 1576, [2:2] -mustResetPid = bits, U32, 1576, [3:3] -isCranking = bits, U32, 1576, [4:4] -isIacTableForCoasting = bits, U32, 1576, [5:5] -notIdling = bits, U32, 1576, [6:6] -needReset = bits, U32, 1576, [7:7] -isInDeadZone = bits, U32, 1576, [8:8] -isBlipping = bits, U32, 1576, [9:9] -useClosedLoop = bits, U32, 1576, [10:10] -badTps = bits, U32, 1576, [11:11] -looksLikeRunning = bits, U32, 1576, [12:12] -looksLikeCoasting = bits, U32, 1576, [13:13] -looksLikeCrankToIdle = bits, U32, 1576, [14:14] -isIdleCoasting = bits, U32, 1576, [15:15] -isIdleClosedLoop = bits, U32, 1576, [16:16] -idleTarget = scalar, S32, 1580, "", 1, 0 -targetRpmByClt = scalar, S32, 1584, "", 1, 0 -targetRpmAc = scalar, S32, 1588, "", 1, 0 -iacByRpmTaper = scalar, F32, 1592 -luaAdd = scalar, F32, 1596 -; total TS size = 1600 -targetWithIdlePosition0 = scalar, F32, 1600, "per", 1,0 -trim0 = scalar, F32, 1604, "", 1, 0 -luaAdjustment0 = scalar, F32, 1608, "per", 1,0 -m_wastegatePosition0 = scalar, F32, 1612, "per", 1,0 -etbFeedForward0 = scalar, F32, 1616 -etbIntegralError0 = scalar, F32, 1620, "", 1, 0 -etbCurrentTarget0 = scalar, F32, 1624, "%", 1, 0 -etbCurrentAdjustedTarget0 = scalar, F32, 1628, "%", 1, 0 -etbRevLimitActive0 = bits, U32, 1632, [0:0] -jamDetected0 = bits, U32, 1632, [1:1] -etbTpsErrorCounter0 = scalar, U16, 1636, "count", 1,0 -etbPpsErrorCounter0 = scalar, U16, 1638, "count", 1,0 -etbErrorCode0 = scalar, S08, 1640, "", 1, 0 -tcEtbDrop0 = scalar, S08, 1641, "%", 1, 0 -jamTimer0 = scalar, U16, 1642, "sec", 0.01, 0 -adjustedEtbTarget0 = scalar, S08, 1644, "%", 1, 0 -; total TS size = 1648 -targetWithIdlePosition1 = scalar, F32, 1648, "per", 1,0 -trim1 = scalar, F32, 1652, "", 1, 0 -luaAdjustment1 = scalar, F32, 1656, "per", 1,0 -m_wastegatePosition1 = scalar, F32, 1660, "per", 1,0 -etbFeedForward1 = scalar, F32, 1664 -etbIntegralError1 = scalar, F32, 1668, "", 1, 0 -etbCurrentTarget1 = scalar, F32, 1672, "%", 1, 0 -etbCurrentAdjustedTarget1 = scalar, F32, 1676, "%", 1, 0 -etbRevLimitActive1 = bits, U32, 1680, [0:0] -jamDetected1 = bits, U32, 1680, [1:1] -etbTpsErrorCounter1 = scalar, U16, 1684, "count", 1,0 -etbPpsErrorCounter1 = scalar, U16, 1686, "count", 1,0 -etbErrorCode1 = scalar, S08, 1688, "", 1, 0 -tcEtbDrop1 = scalar, S08, 1689, "%", 1, 0 -jamTimer1 = scalar, U16, 1690, "sec", 0.01, 0 -adjustedEtbTarget1 = scalar, S08, 1692, "%", 1, 0 -; total TS size = 1696 -faultCode0 = scalar, U08, 1696, "", 1, 0 -heaterDuty0 = scalar, U08, 1697, "%", 1, 0 -pumpDuty0 = scalar, U08, 1698, "%", 1, 0 -tempC0 = scalar, U16, 1700, "C", 1, 0 -nernstVoltage0 = scalar, U16, 1702, "V", 0.001, 0 -esr0 = scalar, U16, 1704, "ohm", 1, 0 -; total TS size = 1708 -faultCode1 = scalar, U08, 1708, "", 1, 0 -heaterDuty1 = scalar, U08, 1709, "%", 1, 0 -pumpDuty1 = scalar, U08, 1710, "%", 1, 0 -tempC1 = scalar, U16, 1712, "C", 1, 0 -nernstVoltage1 = scalar, U16, 1714, "V", 0.001, 0 -esr1 = scalar, U16, 1716, "ohm", 1, 0 -; total TS size = 1720 -dcOutput0 = scalar, F32, 1720, "per", 1,0 -isEnabled0_int = scalar, U08, 1724, "per", 1,0 -isEnabled0 = bits, U32, 1728, [0:0] -; total TS size = 1732 -value0 = scalar, U16, 1732, "value", 1,0 -value1 = scalar, U16, 1734, "value", 1,0 -errorRate = scalar, F32, 1736, "ratio", 1,0 -; total TS size = 1740 -vvtTarget = scalar, U16, 1740, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1742, "%", 0.5, 0 -; total TS size = 1744 -lambdaCurrentlyGood = bits, U32, 1744, [0:0] -lambdaMonitorCut = bits, U32, 1744, [1:1] -lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 -; total TS size = 1752 +retardThresholdRpm = scalar, S32, 1120, "", 1, 0 +launchActivatePinState = bits, U32, 1124, [0:0] +isPreLaunchCondition = bits, U32, 1124, [1:1] +isLaunchCondition = bits, U32, 1124, [2:2] +isSwitchActivated = bits, U32, 1124, [3:3] +isClutchActivated = bits, U32, 1124, [4:4] +isBrakePedalActivated = bits, U32, 1124, [5:5] +isValidInputPin = bits, U32, 1124, [6:6] +activateSwitchCondition = bits, U32, 1124, [7:7] +rpmLaunchCondition = bits, U32, 1124, [8:8] +rpmPreLaunchCondition = bits, U32, 1124, [9:9] +speedCondition = bits, U32, 1124, [10:10] +tpsCondition = bits, U32, 1124, [11:11] +; total TS size = 1128 +isTorqueReductionTriggerPinValid = bits, U32, 1128, [0:0] +torqueReductionTriggerPinState = bits, U32, 1128, [1:1] +isTimeConditionSatisfied = bits, U32, 1128, [2:2] +isRpmConditionSatisfied = bits, U32, 1128, [3:3] +isAppConditionSatisfied = bits, U32, 1128, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1128, [5:5] +; total TS size = 1132 +isAntilagCondition = bits, U32, 1132, [0:0] +ALSMinRPMCondition = bits, U32, 1132, [1:1] +ALSMaxRPMCondition = bits, U32, 1132, [2:2] +ALSMinCLTCondition = bits, U32, 1132, [3:3] +ALSMaxCLTCondition = bits, U32, 1132, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1132, [5:5] +isALSSwitchActivated = bits, U32, 1132, [6:6] +ALSActivatePinState = bits, U32, 1132, [7:7] +ALSSwitchCondition = bits, U32, 1132, [8:8] +ALSTimerCondition = bits, U32, 1132, [9:9] +fuelALSCorrection = scalar, F32, 1136, "", 1, 0 +timingALSCorrection = scalar, S16, 1140, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1142, "deg", 0.01, 0 +; total TS size = 1144 +isTpsInvalid = bits, U32, 1144, [0:0] +m_shouldResetPid = bits, U32, 1144, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1144, [2:2] +isNotClosedLoop = bits, U32, 1144, [3:3] +isZeroRpm = bits, U32, 1144, [4:4] +hasInitBoost = bits, U32, 1144, [5:5] +rpmTooLow = bits, U32, 1144, [6:6] +tpsTooLow = bits, U32, 1144, [7:7] +mapTooLow = bits, U32, 1144, [8:8] +isPlantValid = bits, U32, 1144, [9:9] +isBoostControlled = bits, U32, 1144, [10:10] +luaTargetAdd = scalar, S16, 1148, "v", 0.5,0 +boostOutput = scalar, S16, 1150, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1152, "v", 1,0 +openLoopPart = scalar, F32, 1156, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1160, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1164, "%", 0.5,0 +boostControlTarget = scalar, S16, 1166, "kPa", 0.03333333333333333,0 +; total TS size = 1168 +acButtonState = scalar, S08, 1168, "", 1, 0 +m_acEnabled = bits, U32, 1172, [0:0] +engineTooSlow = bits, U32, 1172, [1:1] +engineTooFast = bits, U32, 1172, [2:2] +noClt = bits, U32, 1172, [3:3] +engineTooHot = bits, U32, 1172, [4:4] +tpsTooHigh = bits, U32, 1172, [5:5] +isDisabledByLua = bits, U32, 1172, [6:6] +acCompressorState = bits, U32, 1172, [7:7] +acPressureTooLow = bits, U32, 1172, [8:8] +acPressureTooHigh = bits, U32, 1172, [9:9] +; total TS size = 1176 +cranking0 = bits, U32, 1176, [0:0] +notRunning0 = bits, U32, 1176, [1:1] +disabledWhileEngineStopped0 = bits, U32, 1176, [2:2] +brokenClt0 = bits, U32, 1176, [3:3] +enabledForAc0 = bits, U32, 1176, [4:4] +hot0 = bits, U32, 1176, [5:5] +cold0 = bits, U32, 1176, [6:6] +disabledBySpeed0 = bits, U32, 1176, [7:7] +radiatorFanStatus0 = scalar, U08, 1180, "", 1, 0 +; total TS size = 1184 +cranking1 = bits, U32, 1184, [0:0] +notRunning1 = bits, U32, 1184, [1:1] +disabledWhileEngineStopped1 = bits, U32, 1184, [2:2] +brokenClt1 = bits, U32, 1184, [3:3] +enabledForAc1 = bits, U32, 1184, [4:4] +hot1 = bits, U32, 1184, [5:5] +cold1 = bits, U32, 1184, [6:6] +disabledBySpeed1 = bits, U32, 1184, [7:7] +radiatorFanStatus1 = scalar, U08, 1188, "", 1, 0 +; total TS size = 1192 +isPrime = bits, U32, 1192, [0:0] +engineTurnedRecently = bits, U32, 1192, [1:1] +isFuelPumpOn = bits, U32, 1192, [2:2] +ignitionOn = bits, U32, 1192, [3:3] +; total TS size = 1196 +isBenchTest = bits, U32, 1196, [0:0] +hasIgnitionVoltage = bits, U32, 1196, [1:1] +mainRelayState = bits, U32, 1196, [2:2] +delayedShutoffRequested = bits, U32, 1196, [3:3] +; total TS size = 1200 +lua_fuelAdd = scalar, F32, 1200, "g", 1, 0 +lua_fuelMult = scalar, F32, 1204, "", 1, 0 +lua_clutchUpState = bits, U32, 1208, [0:0] +lua_brakePedalState = bits, U32, 1208, [1:1] +lua_acRequestState = bits, U32, 1208, [2:2] +lua_luaDisableEtb = bits, U32, 1208, [3:3] +lua_luaIgnCut = bits, U32, 1208, [4:4] +lua_luaFuelCut = bits, U32, 1208, [5:5] +lua_clutchDownState = bits, U32, 1208, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1208, [7:7] +sd_tCharge = scalar, S16, 1212, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1216, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1220, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1224, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1228, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1232, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1236, "", 1, 0 +hellenBoardId = scalar, S16, 1240, "id", 1, 0 +clutchUpState = scalar, S08, 1242, "", 1, 0 +clutchDownState = scalar, S08, 1243, "", 1, 0 +brakePedalState = scalar, S08, 1244, "", 1, 0 +startStopState = scalar, S08, 1245, "", 1, 0 +smartChipState = scalar, S08, 1246, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1247, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1248, "", 1, 0 +startStopPhysicalState = bits, U32, 1252, [0:0] +acrActive = bits, U32, 1252, [1:1] +acrEngineMovedRecently = bits, U32, 1252, [2:2] +heaterControlEnabled = bits, U32, 1252, [3:3] +luaDigitalState0 = bits, U32, 1252, [4:4] +luaDigitalState1 = bits, U32, 1252, [5:5] +luaDigitalState2 = bits, U32, 1252, [6:6] +luaDigitalState3 = bits, U32, 1252, [7:7] +startStopStateToggleCounter = scalar, U32, 1256, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1260, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1264, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1268, "", 1, 0 +desiredRpmLimit = scalar, S16, 1272, "rpm", 1, 0 +fuelInjectionCounter = scalar, U32, 1276, "", 1, 0 +globalSparkCounter = scalar, U32, 1280, "", 1, 0 +fuelingLoad = scalar, F32, 1284, "", 1, 0 +ignitionLoad = scalar, F32, 1288, "", 1, 0 +veTableYAxis = scalar, U16, 1292, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1294, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1295, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1296, "", 1, 0 +; total TS size = 1300 +tpsFrom = scalar, F32, 1300 +tpsTo = scalar, F32, 1304 +deltaTps = scalar, F32, 1308 +extraFuel = scalar, F32, 1312, "", 1, 0 +valueFromTable = scalar, F32, 1316, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1320, [0:0] +isBelowDecelThreshold = bits, U32, 1320, [1:1] +isTimeToResetAccumulator = bits, U32, 1320, [2:2] +isFractionalEnrichment = bits, U32, 1320, [3:3] +belowEpsilon = bits, U32, 1320, [4:4] +tooShort = bits, U32, 1320, [5:5] +fractionalInjFuel = scalar, F32, 1324, "", 1, 0 +accumulatedValue = scalar, F32, 1328, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1332, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1336, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1340, "", 1, 0 +cycleCnt = scalar, S32, 1344, "", 1, 0 +; total TS size = 1348 +hwEventCounters1 = scalar, U32, 1348, "", 1, 0 +hwEventCounters2 = scalar, U32, 1352, "", 1, 0 +hwEventCounters3 = scalar, U32, 1356, "", 1, 0 +hwEventCounters4 = scalar, U32, 1360, "", 1, 0 +hwEventCounters5 = scalar, U32, 1364, "", 1, 0 +hwEventCounters6 = scalar, U32, 1368, "", 1, 0 +vvtCamCounter = scalar, U32, 1372, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1376, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1380, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1384, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1385, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1388, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1392, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1396, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1400, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1404, [0:0] +triggerElapsedUs = scalar, U32, 1408, "", 1, 0 +; total TS size = 1412 +crankSynchronizationCounter0 = scalar, U32, 1412, "", 1, 0 +vvtSyncGapRatio0 = scalar, F32, 1416, "", 1, 0 +vvtToothDurations00 = scalar, U32, 1420, "us", 1, 0 +vvtCurrentPosition0 = scalar, F32, 1424, "sync: Primary Cam Position", 1, 0 +vvtToothPosition10 = scalar, F32, 1428, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition20 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition30 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition40 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio0 = scalar, F32, 1444, "", 1, 0 +triggerStateIndex0 = scalar, U08, 1448, "", 1, 0 +vvtStateIndex0 = scalar, U08, 1449, "", 1, 0 +; total TS size = 1452 +crankSynchronizationCounter1 = scalar, U32, 1452, "", 1, 0 +vvtSyncGapRatio1 = scalar, F32, 1456, "", 1, 0 +vvtToothDurations01 = scalar, U32, 1460, "us", 1, 0 +vvtCurrentPosition1 = scalar, F32, 1464, "sync: Primary Cam Position", 1, 0 +vvtToothPosition11 = scalar, F32, 1468, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition21 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition31 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition41 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio1 = scalar, F32, 1484, "", 1, 0 +triggerStateIndex1 = scalar, U08, 1488, "", 1, 0 +vvtStateIndex1 = scalar, U08, 1489, "", 1, 0 +; total TS size = 1492 +crankSynchronizationCounter2 = scalar, U32, 1492, "", 1, 0 +vvtSyncGapRatio2 = scalar, F32, 1496, "", 1, 0 +vvtToothDurations02 = scalar, U32, 1500, "us", 1, 0 +vvtCurrentPosition2 = scalar, F32, 1504, "sync: Primary Cam Position", 1, 0 +vvtToothPosition12 = scalar, F32, 1508, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition22 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition32 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition42 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio2 = scalar, F32, 1524, "", 1, 0 +triggerStateIndex2 = scalar, U08, 1528, "", 1, 0 +vvtStateIndex2 = scalar, U08, 1529, "", 1, 0 +; total TS size = 1532 +crankSynchronizationCounter3 = scalar, U32, 1532, "", 1, 0 +vvtSyncGapRatio3 = scalar, F32, 1536, "", 1, 0 +vvtToothDurations03 = scalar, U32, 1540, "us", 1, 0 +vvtCurrentPosition3 = scalar, F32, 1544, "sync: Primary Cam Position", 1, 0 +vvtToothPosition13 = scalar, F32, 1548, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition23 = scalar, F32, 1552, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition33 = scalar, F32, 1556, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition43 = scalar, F32, 1560, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio3 = scalar, F32, 1564, "", 1, 0 +triggerStateIndex3 = scalar, U08, 1568, "", 1, 0 +vvtStateIndex3 = scalar, U08, 1569, "", 1, 0 +; total TS size = 1572 +crankSynchronizationCounter4 = scalar, U32, 1572, "", 1, 0 +vvtSyncGapRatio4 = scalar, F32, 1576, "", 1, 0 +vvtToothDurations04 = scalar, U32, 1580, "us", 1, 0 +vvtCurrentPosition4 = scalar, F32, 1584, "sync: Primary Cam Position", 1, 0 +vvtToothPosition14 = scalar, F32, 1588, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition24 = scalar, F32, 1592, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition34 = scalar, F32, 1596, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition44 = scalar, F32, 1600, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio4 = scalar, F32, 1604, "", 1, 0 +triggerStateIndex4 = scalar, U08, 1608, "", 1, 0 +vvtStateIndex4 = scalar, U08, 1609, "", 1, 0 +; total TS size = 1612 +camResyncCounter = scalar, U08, 1612, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1616, [0:0] +; total TS size = 1620 +wallFuelCorrection = scalar, F32, 1620, "", 1, 0 +wallFuel = scalar, F32, 1624, "", 1, 0 +; total TS size = 1628 +idleState = bits, S32, 1628, [0:2], "not important" +currentIdlePosition = scalar, F32, 1632 +baseIdlePosition = scalar, F32, 1636 +idleClosedLoop = scalar, F32, 1640 +iacByTpsTaper = scalar, F32, 1644 +throttlePedalUpState = scalar, S32, 1648, "", 1, 0 +mightResetPid = bits, U32, 1652, [0:0] +shouldResetPid = bits, U32, 1652, [1:1] +wasResetPid = bits, U32, 1652, [2:2] +mustResetPid = bits, U32, 1652, [3:3] +isCranking = bits, U32, 1652, [4:4] +isIacTableForCoasting = bits, U32, 1652, [5:5] +notIdling = bits, U32, 1652, [6:6] +needReset = bits, U32, 1652, [7:7] +isInDeadZone = bits, U32, 1652, [8:8] +isBlipping = bits, U32, 1652, [9:9] +useClosedLoop = bits, U32, 1652, [10:10] +badTps = bits, U32, 1652, [11:11] +looksLikeRunning = bits, U32, 1652, [12:12] +looksLikeCoasting = bits, U32, 1652, [13:13] +looksLikeCrankToIdle = bits, U32, 1652, [14:14] +isIdleCoasting = bits, U32, 1652, [15:15] +isIdleClosedLoop = bits, U32, 1652, [16:16] +idleTarget = scalar, S32, 1656, "", 1, 0 +targetRpmByClt = scalar, S32, 1660, "", 1, 0 +targetRpmAc = scalar, S32, 1664, "", 1, 0 +iacByRpmTaper = scalar, F32, 1668 +luaAdd = scalar, F32, 1672 +; total TS size = 1676 +targetWithIdlePosition0 = scalar, F32, 1676, "per", 1,0 +trim0 = scalar, F32, 1680, "", 1, 0 +luaAdjustment0 = scalar, F32, 1684, "per", 1,0 +m_wastegatePosition0 = scalar, F32, 1688, "per", 1,0 +etbFeedForward0 = scalar, F32, 1692 +etbIntegralError0 = scalar, F32, 1696, "", 1, 0 +etbCurrentTarget0 = scalar, F32, 1700, "%", 1, 0 +etbCurrentAdjustedTarget0 = scalar, F32, 1704, "%", 1, 0 +etbRevLimitActive0 = bits, U32, 1708, [0:0] +jamDetected0 = bits, U32, 1708, [1:1] +etbTpsErrorCounter0 = scalar, U16, 1712, "count", 1,0 +etbPpsErrorCounter0 = scalar, U16, 1714, "count", 1,0 +etbErrorCode0 = scalar, S08, 1716, "", 1, 0 +tcEtbDrop0 = scalar, S08, 1717, "%", 1, 0 +jamTimer0 = scalar, U16, 1718, "sec", 0.01, 0 +adjustedEtbTarget0 = scalar, S08, 1720, "%", 1, 0 +; total TS size = 1724 +targetWithIdlePosition1 = scalar, F32, 1724, "per", 1,0 +trim1 = scalar, F32, 1728, "", 1, 0 +luaAdjustment1 = scalar, F32, 1732, "per", 1,0 +m_wastegatePosition1 = scalar, F32, 1736, "per", 1,0 +etbFeedForward1 = scalar, F32, 1740 +etbIntegralError1 = scalar, F32, 1744, "", 1, 0 +etbCurrentTarget1 = scalar, F32, 1748, "%", 1, 0 +etbCurrentAdjustedTarget1 = scalar, F32, 1752, "%", 1, 0 +etbRevLimitActive1 = bits, U32, 1756, [0:0] +jamDetected1 = bits, U32, 1756, [1:1] +etbTpsErrorCounter1 = scalar, U16, 1760, "count", 1,0 +etbPpsErrorCounter1 = scalar, U16, 1762, "count", 1,0 +etbErrorCode1 = scalar, S08, 1764, "", 1, 0 +tcEtbDrop1 = scalar, S08, 1765, "%", 1, 0 +jamTimer1 = scalar, U16, 1766, "sec", 0.01, 0 +adjustedEtbTarget1 = scalar, S08, 1768, "%", 1, 0 +; total TS size = 1772 +faultCode0 = scalar, U08, 1772, "", 1, 0 +heaterDuty0 = scalar, U08, 1773, "%", 1, 0 +pumpDuty0 = scalar, U08, 1774, "%", 1, 0 +tempC0 = scalar, U16, 1776, "C", 1, 0 +nernstVoltage0 = scalar, U16, 1778, "V", 0.001, 0 +esr0 = scalar, U16, 1780, "ohm", 1, 0 +; total TS size = 1784 +faultCode1 = scalar, U08, 1784, "", 1, 0 +heaterDuty1 = scalar, U08, 1785, "%", 1, 0 +pumpDuty1 = scalar, U08, 1786, "%", 1, 0 +tempC1 = scalar, U16, 1788, "C", 1, 0 +nernstVoltage1 = scalar, U16, 1790, "V", 0.001, 0 +esr1 = scalar, U16, 1792, "ohm", 1, 0 +; total TS size = 1796 +dcOutput0 = scalar, F32, 1796, "per", 1,0 +isEnabled0_int = scalar, U08, 1800, "per", 1,0 +isEnabled0 = bits, U32, 1804, [0:0] +; total TS size = 1808 +value0 = scalar, U16, 1808, "value", 1,0 +value1 = scalar, U16, 1810, "value", 1,0 +errorRate = scalar, F32, 1812, "ratio", 1,0 +; total TS size = 1816 +vvtTarget = scalar, U16, 1816, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1818, "%", 0.5, 0 +; total TS size = 1820 +lambdaCurrentlyGood = bits, U32, 1820, [0:0] +lambdaMonitorCut = bits, U32, 1820, [1:1] +lambdaTimeSinceGood = scalar, U16, 1824, "sec", 0.01, 0 +; total TS size = 1828 time = { timeNow } @@ -3617,6 +3649,7 @@ lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs8 requiresPowerCycle = cylinderBore + requiresPowerCycle = knockFrequency readOnly = warning_message readOnly = device_uid1 @@ -5034,6 +5067,26 @@ gaugeCategory = Knock knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knockSpectrumChannelCylGauge = m_knockSpectrumChannelCyl, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStartGauge = m_knockFrequencyStart, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStepGauge = m_knockFrequencyStep, "Knock Frequency Step", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFuelTrimMultiplier = m_knockFuelTrimMultiplier, "Knock Fuel Trim", "mult", 0, 0, 0, 0, 0, 30, 1, 1 + knockSpectrum1 = m_knockSpectrum1, "Knock Spectrum1", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum2 = m_knockSpectrum2, "knockSpectrum2", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum3 = m_knockSpectrum3, "knockSpectrum3", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum4 = m_knockSpectrum4, "knockSpectrum4", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum5 = m_knockSpectrum5, "knockSpectrum5", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum6 = m_knockSpectrum6, "knockSpectrum6", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum7 = m_knockSpectrum7, "knockSpectrum7", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum8 = m_knockSpectrum8, "knockSpectrum8", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum9 = m_knockSpectrum9, "knockSpectrum9", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum10 = m_knockSpectrum10, "knockSpectrum10", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum11 = m_knockSpectrum11, "knockSpectrum11", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum12 = m_knockSpectrum12, "knockSpectrum12", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum13 = m_knockSpectrum13, "knockSpectrum13", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum14 = m_knockSpectrum14, "knockSpectrum14", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum15 = m_knockSpectrum15, "knockSpectrum15", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum16 = m_knockSpectrum16, "knockSpectrum16", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -5633,6 +5686,26 @@ entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" entry = m_knockCount, "Knock: Count", int, "%d" entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_knockFrequency, "knock: frequency", int, "%d" +entry = m_knockSpectrum1, "Knock: SpectrumData 1", int, "%d" +entry = m_knockSpectrum2, "Knock: SpectrumData 2", int, "%d" +entry = m_knockSpectrum3, "Knock: SpectrumData 3", int, "%d" +entry = m_knockSpectrum4, "Knock: SpectrumData 4", int, "%d" +entry = m_knockSpectrum5, "Knock: SpectrumData 5", int, "%d" +entry = m_knockSpectrum6, "Knock: SpectrumData 6", int, "%d" +entry = m_knockSpectrum7, "Knock: SpectrumData 7", int, "%d" +entry = m_knockSpectrum8, "Knock: SpectrumData 8", int, "%d" +entry = m_knockSpectrum9, "Knock: SpectrumData 9", int, "%d" +entry = m_knockSpectrum10, "Knock: SpectrumData 10", int, "%d" +entry = m_knockSpectrum11, "Knock: SpectrumData 11", int, "%d" +entry = m_knockSpectrum12, "Knock: SpectrumData 12", int, "%d" +entry = m_knockSpectrum13, "Knock: SpectrumData 13", int, "%d" +entry = m_knockSpectrum14, "Knock: SpectrumData 14", int, "%d" +entry = m_knockSpectrum15, "Knock: SpectrumData 15", int, "%d" +entry = m_knockSpectrum16, "Knock: SpectrumData 16", int, "%d" +entry = m_knockSpectrumChannelCyl, "Knock: ChannelAndCylNumber", int, "%d" +entry = m_knockFrequencyStart, "Knock: Start Freq", int, "%d" +entry = m_knockFrequencyStep, "Knock: Step Freq", float, "%.3f" +entry = m_knockFuelTrimMultiplier, "Knock: Fuel trim when knock", float, "%.3f" entry = tcuCurrentGear, "TCU: Current Gear", int, "%d" entry = tcRatio, "TCU: Torque Converter Ratio", float, "%.3f" entry = lastShiftTime, "lastShiftTime", float, "%.3f" @@ -6534,6 +6607,31 @@ dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard graphLine = m_knockFrequency + graphLine = m_knockSpectrum1 + graphLine = m_knockSpectrum2 + liveGraph = knock_controller_6_Graph, "Graph", South + graphLine = m_knockSpectrum3 + graphLine = m_knockSpectrum4 + graphLine = m_knockSpectrum5 + graphLine = m_knockSpectrum6 + liveGraph = knock_controller_7_Graph, "Graph", South + graphLine = m_knockSpectrum7 + graphLine = m_knockSpectrum8 + graphLine = m_knockSpectrum9 + graphLine = m_knockSpectrum10 + liveGraph = knock_controller_8_Graph, "Graph", South + graphLine = m_knockSpectrum11 + graphLine = m_knockSpectrum12 + graphLine = m_knockSpectrum13 + graphLine = m_knockSpectrum14 + liveGraph = knock_controller_9_Graph, "Graph", South + graphLine = m_knockSpectrum15 + graphLine = m_knockSpectrum16 + graphLine = m_knockSpectrumChannelCyl + graphLine = m_knockFrequencyStart + liveGraph = knock_controller_10_Graph, "Graph", South + graphLine = m_knockFrequencyStep + graphLine = m_knockFuelTrimMultiplier indicatorPanel = tcu_controllerIndicatorPanel, 2 indicator = {isShifting}, "isShifting No", "isShifting Yes" @@ -8605,9 +8703,13 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockCfg, "Sense" field = "Enable", enableSoftwareKnock field = "Cylinder Bore", cylinderBore, {enableSoftwareKnock} + field = "Estimated Knock Frequency",knockFrequency, {enableSoftwareKnock} field = "Detection mode", knockDetectionUseDoubleFrequency field = "Detection Window Start",knockDetectionWindowStart, {enableSoftwareKnock} field = "Sampling Duration", knockSamplingDuration, {enableSoftwareKnock} + field = "Enable Knock Spectrogram", enableKnockSpectrogram, {enableSoftwareKnock} + field = "Enable Knock Spectrogram Filter", enableKnockSpectrogramFilter, {enableKnockSpectrogram} + field = "Knock Spectrum Sensitivity", knockSpectrumSensitivity, {enableKnockSpectrogram} field = "" field = "Select the nearest sensor for each cylinder" @@ -8627,6 +8729,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockResponseCfg, "Response" field = knockRetardAggression, knockRetardAggression field = knockRetardReapplyRate, knockRetardReapplyRate + field = knockFuelTrimAggression, knockFuelTrimAggression + field = knockFuelTrimReapplyRate, knockFuelTrimReapplyRate + field = knockFuelTrim, knockFuelTrim + field = knockSuppressMinTps, knockSuppressMinTps dialog = softwareKnockLeft, "" panel = softwareKnockCfg diff --git a/firmware/tunerstudio/generated/rusefi_f429-discovery.ini b/firmware/tunerstudio/generated/rusefi_f429-discovery.ini index 767fdb8932..7779a721fd 100644 --- a/firmware/tunerstudio/generated/rusefi_f429-discovery.ini +++ b/firmware/tunerstudio/generated/rusefi_f429-discovery.ini @@ -38,12 +38,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.10.21.f429-discovery.2262948377" + signature = "rusEFI master.2024.10.21.f429-discovery.1523155174" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.10.21.f429-discovery.2262948377" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.10.21.f429-discovery.1523155174" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -774,6 +774,7 @@ devBit7 = bits, U32, 1492, [27:27], "false", "true" unusedSkipWasHere = bits, U32, 1492, [28:28], "false", "true" invertExhaustCamVVTSignal = bits, U32, 1492, [29:29], "Rising", "Falling" enableKnockSpectrogram = bits, U32, 1492, [30:30], "false", "true" +enableKnockSpectrogramFilter = bits, U32, 1492, [31:31], "false", "true" afterCrankingIACtaperDuration = scalar, S16, 1496, "cycles", 1, 0, 0, 5000, 0 iacByTpsTaper = scalar, S16, 1498, "percent", 1, 0, 0, 500, 0 unusedAuxSeria = bits, U16, 1500, [0:8], $gpio_list @@ -1394,7 +1395,13 @@ auxLinear4_v1 = scalar, F32, 3880, "volts", 1, 0, 0, 10, 2 auxLinear4_value1 = scalar, F32, 3884, "", 1, 0, -100000, 1000000, 2 auxLinear4_v2 = scalar, F32, 3888, "volts", 1, 0, 0, 10, 2 auxLinear4_value2 = scalar, F32, 3892, "", 1, 0, -100000, 1000000, 2 -unusedOftenChangesDuringFirmwareUpdate = array, U08, 3896, [128], "units", 1, 0, 0, 1, 0 +knockSuppressMinTps = scalar, U08, 3896, "%", 1, 0, 0, 100, 1 +knockFuelTrimAggression = scalar, U08, 3897, "%", 0.1, 0, 0, 20, 1 +knockFuelTrimReapplyRate = scalar, U08, 3898, "deg/s", 0.1, 0, 0, 10, 1 +knockFuelTrim = scalar, U08, 3899, "%", 1, 0, 0, 30, 1 +knockSpectrumSensitivity = scalar, F32, 3900, "sense", 1, 0, 0, 1, 2 +knockFrequency = scalar, F32, 3904, "Hz", 1, 0, 0, 20000, 2 +unusedOftenChangesDuringFirmwareUpdate = array, U08, 3908, [116], "units", 1, 0, 0, 1, 0 postCrankingFactor = array, F32, 4024, [6x6], "mult", 1, 0, 1, 3, 2 postCrankingDurationBins = array, F32, 4168, [6], "count", 1, 0, 0, 1000, 0 postCrankingCLTBins = array, S16, 4192, [6], "C", 1, 0, -100, 250, 0 @@ -2448,6 +2455,11 @@ minimumOilPressureValues = array, U08, 22960, [8], "kPa", 10.0, 0, 0, 1000, 0 minAcPressure = "value of A/C pressure in kPa before that compressor is disengaged" maxAcPressure = "value of A/C pressure in kPa after that compressor is disengaged" minimumOilPressureTimeout = "Delay before cutting fuel due to low oil pressure. Use this to ignore short pressure blips and sensor noise." + knockSuppressMinTps = "Below TPS value all knock suppression will be disabled." + knockFuelTrimAggression = "Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump)," + knockFuelTrimReapplyRate = "After a knock event, reapply fuel at this rate." + knockFuelTrim = "Fuel trim when knock, max 30%" + knockFrequency = "Estimated knock frequency, ignore cylinderBore if this one > 0" etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, open loop component of PID closed loop control" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2560,7 +2572,7 @@ minimumOilPressureValues = array, U08, 22960, [8], "kPa", 10.0, 0, 0, 1000, 0 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1752 + ochBlockSize = 1828 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3101,370 +3113,390 @@ m_knockThreshold = scalar, F32, 960, "", 1, 0 m_knockCount = scalar, U32, 964, "", 1, 0 m_maximumRetard = scalar, F32, 968, "", 1, 0 m_knockFrequency = scalar, U32, 972, "Hz", 1, 0 -; total TS size = 976 -tcuCurrentGear = scalar, S08, 976, "gear", 1, 0 -tcRatio = scalar, U16, 978, "value", 0.01, 0 -lastShiftTime = scalar, F32, 980, "", 1, 0 -tcu_currentRange = scalar, U08, 984, "", 1, 0 -pressureControlDuty = scalar, S08, 985, "%", 1,0 -torqueConverterDuty = scalar, S08, 986, "%", 1,0 -isShifting = bits, U32, 988, [0:0] -; total TS size = 992 -throttleUseWotModel = bits, U32, 992, [0:0] -throttleModelCrossoverAngle = scalar, S16, 996, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1000, "g/s", 1, 0 -; total TS size = 1004 -m_requested_pump = scalar, F32, 1004, "", 1, 0 -fuel_requested_percent = scalar, F32, 1008, "", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1012, "", 1, 0 -noValve = bits, U32, 1016, [0:0] -angleAboveMin = bits, U32, 1016, [1:1] -isHpfpInactive = bits, U32, 1016, [2:2] -m_pressureTarget_kPa = scalar, F32, 1020, "", 1, 0 -nextLobe = scalar, F32, 1024, "", 1, 0 -di_nextStart = scalar, F32, 1028, "v", 1, 0 -; total TS size = 1032 -m_deadtime = scalar, F32, 1032, "ms", 1, 0 -pressureDelta = scalar, F32, 1036, "kPa", 1, 0 -pressureRatio = scalar, F32, 1040, "", 1, 0 -; total TS size = 1044 -retardThresholdRpm = scalar, S32, 1044, "", 1, 0 -launchActivatePinState = bits, U32, 1048, [0:0] -isPreLaunchCondition = bits, U32, 1048, [1:1] -isLaunchCondition = bits, U32, 1048, [2:2] -isSwitchActivated = bits, U32, 1048, [3:3] -isClutchActivated = bits, U32, 1048, [4:4] -isBrakePedalActivated = bits, U32, 1048, [5:5] -isValidInputPin = bits, U32, 1048, [6:6] -activateSwitchCondition = bits, U32, 1048, [7:7] -rpmLaunchCondition = bits, U32, 1048, [8:8] -rpmPreLaunchCondition = bits, U32, 1048, [9:9] -speedCondition = bits, U32, 1048, [10:10] -tpsCondition = bits, U32, 1048, [11:11] +m_knockSpectrum1 = scalar, U32, 976, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 980, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 984, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 988, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1040, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1042, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1044, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1048, "multiplier", 1, 0 ; total TS size = 1052 -isTorqueReductionTriggerPinValid = bits, U32, 1052, [0:0] -torqueReductionTriggerPinState = bits, U32, 1052, [1:1] -isTimeConditionSatisfied = bits, U32, 1052, [2:2] -isRpmConditionSatisfied = bits, U32, 1052, [3:3] -isAppConditionSatisfied = bits, U32, 1052, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1052, [5:5] -; total TS size = 1056 -isAntilagCondition = bits, U32, 1056, [0:0] -ALSMinRPMCondition = bits, U32, 1056, [1:1] -ALSMaxRPMCondition = bits, U32, 1056, [2:2] -ALSMinCLTCondition = bits, U32, 1056, [3:3] -ALSMaxCLTCondition = bits, U32, 1056, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1056, [5:5] -isALSSwitchActivated = bits, U32, 1056, [6:6] -ALSActivatePinState = bits, U32, 1056, [7:7] -ALSSwitchCondition = bits, U32, 1056, [8:8] -ALSTimerCondition = bits, U32, 1056, [9:9] -fuelALSCorrection = scalar, F32, 1060, "", 1, 0 -timingALSCorrection = scalar, S16, 1064, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1066, "deg", 0.01, 0 +tcuCurrentGear = scalar, S08, 1052, "gear", 1, 0 +tcRatio = scalar, U16, 1054, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1056, "", 1, 0 +tcu_currentRange = scalar, U08, 1060, "", 1, 0 +pressureControlDuty = scalar, S08, 1061, "%", 1,0 +torqueConverterDuty = scalar, S08, 1062, "%", 1,0 +isShifting = bits, U32, 1064, [0:0] ; total TS size = 1068 -isTpsInvalid = bits, U32, 1068, [0:0] -m_shouldResetPid = bits, U32, 1068, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1068, [2:2] -isNotClosedLoop = bits, U32, 1068, [3:3] -isZeroRpm = bits, U32, 1068, [4:4] -hasInitBoost = bits, U32, 1068, [5:5] -rpmTooLow = bits, U32, 1068, [6:6] -tpsTooLow = bits, U32, 1068, [7:7] -mapTooLow = bits, U32, 1068, [8:8] -isPlantValid = bits, U32, 1068, [9:9] -isBoostControlled = bits, U32, 1068, [10:10] -luaTargetAdd = scalar, S16, 1072, "v", 0.5,0 -boostOutput = scalar, S16, 1074, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1076, "v", 1,0 -openLoopPart = scalar, F32, 1080, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1084, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1088, "%", 0.5,0 -boostControlTarget = scalar, S16, 1090, "kPa", 0.03333333333333333,0 -; total TS size = 1092 -acButtonState = scalar, S08, 1092, "", 1, 0 -m_acEnabled = bits, U32, 1096, [0:0] -engineTooSlow = bits, U32, 1096, [1:1] -engineTooFast = bits, U32, 1096, [2:2] -noClt = bits, U32, 1096, [3:3] -engineTooHot = bits, U32, 1096, [4:4] -tpsTooHigh = bits, U32, 1096, [5:5] -isDisabledByLua = bits, U32, 1096, [6:6] -acCompressorState = bits, U32, 1096, [7:7] -acPressureTooLow = bits, U32, 1096, [8:8] -acPressureTooHigh = bits, U32, 1096, [9:9] -; total TS size = 1100 -cranking0 = bits, U32, 1100, [0:0] -notRunning0 = bits, U32, 1100, [1:1] -disabledWhileEngineStopped0 = bits, U32, 1100, [2:2] -brokenClt0 = bits, U32, 1100, [3:3] -enabledForAc0 = bits, U32, 1100, [4:4] -hot0 = bits, U32, 1100, [5:5] -cold0 = bits, U32, 1100, [6:6] -disabledBySpeed0 = bits, U32, 1100, [7:7] -radiatorFanStatus0 = scalar, U08, 1104, "", 1, 0 +throttleUseWotModel = bits, U32, 1068, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1072, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1076, "g/s", 1, 0 +; total TS size = 1080 +m_requested_pump = scalar, F32, 1080, "", 1, 0 +fuel_requested_percent = scalar, F32, 1084, "", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1088, "", 1, 0 +noValve = bits, U32, 1092, [0:0] +angleAboveMin = bits, U32, 1092, [1:1] +isHpfpInactive = bits, U32, 1092, [2:2] +m_pressureTarget_kPa = scalar, F32, 1096, "", 1, 0 +nextLobe = scalar, F32, 1100, "", 1, 0 +di_nextStart = scalar, F32, 1104, "v", 1, 0 ; total TS size = 1108 -cranking1 = bits, U32, 1108, [0:0] -notRunning1 = bits, U32, 1108, [1:1] -disabledWhileEngineStopped1 = bits, U32, 1108, [2:2] -brokenClt1 = bits, U32, 1108, [3:3] -enabledForAc1 = bits, U32, 1108, [4:4] -hot1 = bits, U32, 1108, [5:5] -cold1 = bits, U32, 1108, [6:6] -disabledBySpeed1 = bits, U32, 1108, [7:7] -radiatorFanStatus1 = scalar, U08, 1112, "", 1, 0 -; total TS size = 1116 -isPrime = bits, U32, 1116, [0:0] -engineTurnedRecently = bits, U32, 1116, [1:1] -isFuelPumpOn = bits, U32, 1116, [2:2] -ignitionOn = bits, U32, 1116, [3:3] +m_deadtime = scalar, F32, 1108, "ms", 1, 0 +pressureDelta = scalar, F32, 1112, "kPa", 1, 0 +pressureRatio = scalar, F32, 1116, "", 1, 0 ; total TS size = 1120 -isBenchTest = bits, U32, 1120, [0:0] -hasIgnitionVoltage = bits, U32, 1120, [1:1] -mainRelayState = bits, U32, 1120, [2:2] -delayedShutoffRequested = bits, U32, 1120, [3:3] -; total TS size = 1124 -lua_fuelAdd = scalar, F32, 1124, "g", 1, 0 -lua_fuelMult = scalar, F32, 1128, "", 1, 0 -lua_clutchUpState = bits, U32, 1132, [0:0] -lua_brakePedalState = bits, U32, 1132, [1:1] -lua_acRequestState = bits, U32, 1132, [2:2] -lua_luaDisableEtb = bits, U32, 1132, [3:3] -lua_luaIgnCut = bits, U32, 1132, [4:4] -lua_luaFuelCut = bits, U32, 1132, [5:5] -lua_clutchDownState = bits, U32, 1132, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1132, [7:7] -sd_tCharge = scalar, S16, 1136, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1140, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1144, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1148, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1152, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1156, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1160, "", 1, 0 -hellenBoardId = scalar, S16, 1164, "id", 1, 0 -clutchUpState = scalar, S08, 1166, "", 1, 0 -clutchDownState = scalar, S08, 1167, "", 1, 0 -brakePedalState = scalar, S08, 1168, "", 1, 0 -startStopState = scalar, S08, 1169, "", 1, 0 -smartChipState = scalar, S08, 1170, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1171, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1172, "", 1, 0 -startStopPhysicalState = bits, U32, 1176, [0:0] -acrActive = bits, U32, 1176, [1:1] -acrEngineMovedRecently = bits, U32, 1176, [2:2] -heaterControlEnabled = bits, U32, 1176, [3:3] -luaDigitalState0 = bits, U32, 1176, [4:4] -luaDigitalState1 = bits, U32, 1176, [5:5] -luaDigitalState2 = bits, U32, 1176, [6:6] -luaDigitalState3 = bits, U32, 1176, [7:7] -startStopStateToggleCounter = scalar, U32, 1180, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1184, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1188, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1192, "", 1, 0 -desiredRpmLimit = scalar, S16, 1196, "rpm", 1, 0 -fuelInjectionCounter = scalar, U32, 1200, "", 1, 0 -globalSparkCounter = scalar, U32, 1204, "", 1, 0 -fuelingLoad = scalar, F32, 1208, "", 1, 0 -ignitionLoad = scalar, F32, 1212, "", 1, 0 -veTableYAxis = scalar, U16, 1216, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1218, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1219, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1220, "", 1, 0 -; total TS size = 1224 -tpsFrom = scalar, F32, 1224 -tpsTo = scalar, F32, 1228 -deltaTps = scalar, F32, 1232 -extraFuel = scalar, F32, 1236, "", 1, 0 -valueFromTable = scalar, F32, 1240, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1244, [0:0] -isBelowDecelThreshold = bits, U32, 1244, [1:1] -isTimeToResetAccumulator = bits, U32, 1244, [2:2] -isFractionalEnrichment = bits, U32, 1244, [3:3] -belowEpsilon = bits, U32, 1244, [4:4] -tooShort = bits, U32, 1244, [5:5] -fractionalInjFuel = scalar, F32, 1248, "", 1, 0 -accumulatedValue = scalar, F32, 1252, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1256, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1260, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1264, "", 1, 0 -cycleCnt = scalar, S32, 1268, "", 1, 0 -; total TS size = 1272 -hwEventCounters1 = scalar, U32, 1272, "", 1, 0 -hwEventCounters2 = scalar, U32, 1276, "", 1, 0 -hwEventCounters3 = scalar, U32, 1280, "", 1, 0 -hwEventCounters4 = scalar, U32, 1284, "", 1, 0 -hwEventCounters5 = scalar, U32, 1288, "", 1, 0 -hwEventCounters6 = scalar, U32, 1292, "", 1, 0 -vvtCamCounter = scalar, U32, 1296, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1300, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1304, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1308, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1309, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1312, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1316, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1320, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1324, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1328, [0:0] -triggerElapsedUs = scalar, U32, 1332, "", 1, 0 -; total TS size = 1336 -crankSynchronizationCounter0 = scalar, U32, 1336, "", 1, 0 -vvtSyncGapRatio0 = scalar, F32, 1340, "", 1, 0 -vvtToothDurations00 = scalar, U32, 1344, "us", 1, 0 -vvtCurrentPosition0 = scalar, F32, 1348, "sync: Primary Cam Position", 1, 0 -vvtToothPosition10 = scalar, F32, 1352, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition20 = scalar, F32, 1356, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition30 = scalar, F32, 1360, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition40 = scalar, F32, 1364, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio0 = scalar, F32, 1368, "", 1, 0 -triggerStateIndex0 = scalar, U08, 1372, "", 1, 0 -vvtStateIndex0 = scalar, U08, 1373, "", 1, 0 -; total TS size = 1376 -crankSynchronizationCounter1 = scalar, U32, 1376, "", 1, 0 -vvtSyncGapRatio1 = scalar, F32, 1380, "", 1, 0 -vvtToothDurations01 = scalar, U32, 1384, "us", 1, 0 -vvtCurrentPosition1 = scalar, F32, 1388, "sync: Primary Cam Position", 1, 0 -vvtToothPosition11 = scalar, F32, 1392, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition21 = scalar, F32, 1396, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition31 = scalar, F32, 1400, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition41 = scalar, F32, 1404, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio1 = scalar, F32, 1408, "", 1, 0 -triggerStateIndex1 = scalar, U08, 1412, "", 1, 0 -vvtStateIndex1 = scalar, U08, 1413, "", 1, 0 -; total TS size = 1416 -crankSynchronizationCounter2 = scalar, U32, 1416, "", 1, 0 -vvtSyncGapRatio2 = scalar, F32, 1420, "", 1, 0 -vvtToothDurations02 = scalar, U32, 1424, "us", 1, 0 -vvtCurrentPosition2 = scalar, F32, 1428, "sync: Primary Cam Position", 1, 0 -vvtToothPosition12 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition22 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition32 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition42 = scalar, F32, 1444, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio2 = scalar, F32, 1448, "", 1, 0 -triggerStateIndex2 = scalar, U08, 1452, "", 1, 0 -vvtStateIndex2 = scalar, U08, 1453, "", 1, 0 -; total TS size = 1456 -crankSynchronizationCounter3 = scalar, U32, 1456, "", 1, 0 -vvtSyncGapRatio3 = scalar, F32, 1460, "", 1, 0 -vvtToothDurations03 = scalar, U32, 1464, "us", 1, 0 -vvtCurrentPosition3 = scalar, F32, 1468, "sync: Primary Cam Position", 1, 0 -vvtToothPosition13 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition23 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition33 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition43 = scalar, F32, 1484, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio3 = scalar, F32, 1488, "", 1, 0 -triggerStateIndex3 = scalar, U08, 1492, "", 1, 0 -vvtStateIndex3 = scalar, U08, 1493, "", 1, 0 -; total TS size = 1496 -crankSynchronizationCounter4 = scalar, U32, 1496, "", 1, 0 -vvtSyncGapRatio4 = scalar, F32, 1500, "", 1, 0 -vvtToothDurations04 = scalar, U32, 1504, "us", 1, 0 -vvtCurrentPosition4 = scalar, F32, 1508, "sync: Primary Cam Position", 1, 0 -vvtToothPosition14 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition24 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition34 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition44 = scalar, F32, 1524, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio4 = scalar, F32, 1528, "", 1, 0 -triggerStateIndex4 = scalar, U08, 1532, "", 1, 0 -vvtStateIndex4 = scalar, U08, 1533, "", 1, 0 -; total TS size = 1536 -camResyncCounter = scalar, U08, 1536, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1540, [0:0] -; total TS size = 1544 -wallFuelCorrection = scalar, F32, 1544, "", 1, 0 -wallFuel = scalar, F32, 1548, "", 1, 0 -; total TS size = 1552 -idleState = bits, S32, 1552, [0:2], "not important" -currentIdlePosition = scalar, F32, 1556 -baseIdlePosition = scalar, F32, 1560 -idleClosedLoop = scalar, F32, 1564 -iacByTpsTaper = scalar, F32, 1568 -throttlePedalUpState = scalar, S32, 1572, "", 1, 0 -mightResetPid = bits, U32, 1576, [0:0] -shouldResetPid = bits, U32, 1576, [1:1] -wasResetPid = bits, U32, 1576, [2:2] -mustResetPid = bits, U32, 1576, [3:3] -isCranking = bits, U32, 1576, [4:4] -isIacTableForCoasting = bits, U32, 1576, [5:5] -notIdling = bits, U32, 1576, [6:6] -needReset = bits, U32, 1576, [7:7] -isInDeadZone = bits, U32, 1576, [8:8] -isBlipping = bits, U32, 1576, [9:9] -useClosedLoop = bits, U32, 1576, [10:10] -badTps = bits, U32, 1576, [11:11] -looksLikeRunning = bits, U32, 1576, [12:12] -looksLikeCoasting = bits, U32, 1576, [13:13] -looksLikeCrankToIdle = bits, U32, 1576, [14:14] -isIdleCoasting = bits, U32, 1576, [15:15] -isIdleClosedLoop = bits, U32, 1576, [16:16] -idleTarget = scalar, S32, 1580, "", 1, 0 -targetRpmByClt = scalar, S32, 1584, "", 1, 0 -targetRpmAc = scalar, S32, 1588, "", 1, 0 -iacByRpmTaper = scalar, F32, 1592 -luaAdd = scalar, F32, 1596 -; total TS size = 1600 -targetWithIdlePosition0 = scalar, F32, 1600, "per", 1,0 -trim0 = scalar, F32, 1604, "", 1, 0 -luaAdjustment0 = scalar, F32, 1608, "per", 1,0 -m_wastegatePosition0 = scalar, F32, 1612, "per", 1,0 -etbFeedForward0 = scalar, F32, 1616 -etbIntegralError0 = scalar, F32, 1620, "", 1, 0 -etbCurrentTarget0 = scalar, F32, 1624, "%", 1, 0 -etbCurrentAdjustedTarget0 = scalar, F32, 1628, "%", 1, 0 -etbRevLimitActive0 = bits, U32, 1632, [0:0] -jamDetected0 = bits, U32, 1632, [1:1] -etbTpsErrorCounter0 = scalar, U16, 1636, "count", 1,0 -etbPpsErrorCounter0 = scalar, U16, 1638, "count", 1,0 -etbErrorCode0 = scalar, S08, 1640, "", 1, 0 -tcEtbDrop0 = scalar, S08, 1641, "%", 1, 0 -jamTimer0 = scalar, U16, 1642, "sec", 0.01, 0 -adjustedEtbTarget0 = scalar, S08, 1644, "%", 1, 0 -; total TS size = 1648 -targetWithIdlePosition1 = scalar, F32, 1648, "per", 1,0 -trim1 = scalar, F32, 1652, "", 1, 0 -luaAdjustment1 = scalar, F32, 1656, "per", 1,0 -m_wastegatePosition1 = scalar, F32, 1660, "per", 1,0 -etbFeedForward1 = scalar, F32, 1664 -etbIntegralError1 = scalar, F32, 1668, "", 1, 0 -etbCurrentTarget1 = scalar, F32, 1672, "%", 1, 0 -etbCurrentAdjustedTarget1 = scalar, F32, 1676, "%", 1, 0 -etbRevLimitActive1 = bits, U32, 1680, [0:0] -jamDetected1 = bits, U32, 1680, [1:1] -etbTpsErrorCounter1 = scalar, U16, 1684, "count", 1,0 -etbPpsErrorCounter1 = scalar, U16, 1686, "count", 1,0 -etbErrorCode1 = scalar, S08, 1688, "", 1, 0 -tcEtbDrop1 = scalar, S08, 1689, "%", 1, 0 -jamTimer1 = scalar, U16, 1690, "sec", 0.01, 0 -adjustedEtbTarget1 = scalar, S08, 1692, "%", 1, 0 -; total TS size = 1696 -faultCode0 = scalar, U08, 1696, "", 1, 0 -heaterDuty0 = scalar, U08, 1697, "%", 1, 0 -pumpDuty0 = scalar, U08, 1698, "%", 1, 0 -tempC0 = scalar, U16, 1700, "C", 1, 0 -nernstVoltage0 = scalar, U16, 1702, "V", 0.001, 0 -esr0 = scalar, U16, 1704, "ohm", 1, 0 -; total TS size = 1708 -faultCode1 = scalar, U08, 1708, "", 1, 0 -heaterDuty1 = scalar, U08, 1709, "%", 1, 0 -pumpDuty1 = scalar, U08, 1710, "%", 1, 0 -tempC1 = scalar, U16, 1712, "C", 1, 0 -nernstVoltage1 = scalar, U16, 1714, "V", 0.001, 0 -esr1 = scalar, U16, 1716, "ohm", 1, 0 -; total TS size = 1720 -dcOutput0 = scalar, F32, 1720, "per", 1,0 -isEnabled0_int = scalar, U08, 1724, "per", 1,0 -isEnabled0 = bits, U32, 1728, [0:0] -; total TS size = 1732 -value0 = scalar, U16, 1732, "value", 1,0 -value1 = scalar, U16, 1734, "value", 1,0 -errorRate = scalar, F32, 1736, "ratio", 1,0 -; total TS size = 1740 -vvtTarget = scalar, U16, 1740, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1742, "%", 0.5, 0 -; total TS size = 1744 -lambdaCurrentlyGood = bits, U32, 1744, [0:0] -lambdaMonitorCut = bits, U32, 1744, [1:1] -lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 -; total TS size = 1752 +retardThresholdRpm = scalar, S32, 1120, "", 1, 0 +launchActivatePinState = bits, U32, 1124, [0:0] +isPreLaunchCondition = bits, U32, 1124, [1:1] +isLaunchCondition = bits, U32, 1124, [2:2] +isSwitchActivated = bits, U32, 1124, [3:3] +isClutchActivated = bits, U32, 1124, [4:4] +isBrakePedalActivated = bits, U32, 1124, [5:5] +isValidInputPin = bits, U32, 1124, [6:6] +activateSwitchCondition = bits, U32, 1124, [7:7] +rpmLaunchCondition = bits, U32, 1124, [8:8] +rpmPreLaunchCondition = bits, U32, 1124, [9:9] +speedCondition = bits, U32, 1124, [10:10] +tpsCondition = bits, U32, 1124, [11:11] +; total TS size = 1128 +isTorqueReductionTriggerPinValid = bits, U32, 1128, [0:0] +torqueReductionTriggerPinState = bits, U32, 1128, [1:1] +isTimeConditionSatisfied = bits, U32, 1128, [2:2] +isRpmConditionSatisfied = bits, U32, 1128, [3:3] +isAppConditionSatisfied = bits, U32, 1128, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1128, [5:5] +; total TS size = 1132 +isAntilagCondition = bits, U32, 1132, [0:0] +ALSMinRPMCondition = bits, U32, 1132, [1:1] +ALSMaxRPMCondition = bits, U32, 1132, [2:2] +ALSMinCLTCondition = bits, U32, 1132, [3:3] +ALSMaxCLTCondition = bits, U32, 1132, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1132, [5:5] +isALSSwitchActivated = bits, U32, 1132, [6:6] +ALSActivatePinState = bits, U32, 1132, [7:7] +ALSSwitchCondition = bits, U32, 1132, [8:8] +ALSTimerCondition = bits, U32, 1132, [9:9] +fuelALSCorrection = scalar, F32, 1136, "", 1, 0 +timingALSCorrection = scalar, S16, 1140, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1142, "deg", 0.01, 0 +; total TS size = 1144 +isTpsInvalid = bits, U32, 1144, [0:0] +m_shouldResetPid = bits, U32, 1144, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1144, [2:2] +isNotClosedLoop = bits, U32, 1144, [3:3] +isZeroRpm = bits, U32, 1144, [4:4] +hasInitBoost = bits, U32, 1144, [5:5] +rpmTooLow = bits, U32, 1144, [6:6] +tpsTooLow = bits, U32, 1144, [7:7] +mapTooLow = bits, U32, 1144, [8:8] +isPlantValid = bits, U32, 1144, [9:9] +isBoostControlled = bits, U32, 1144, [10:10] +luaTargetAdd = scalar, S16, 1148, "v", 0.5,0 +boostOutput = scalar, S16, 1150, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1152, "v", 1,0 +openLoopPart = scalar, F32, 1156, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1160, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1164, "%", 0.5,0 +boostControlTarget = scalar, S16, 1166, "kPa", 0.03333333333333333,0 +; total TS size = 1168 +acButtonState = scalar, S08, 1168, "", 1, 0 +m_acEnabled = bits, U32, 1172, [0:0] +engineTooSlow = bits, U32, 1172, [1:1] +engineTooFast = bits, U32, 1172, [2:2] +noClt = bits, U32, 1172, [3:3] +engineTooHot = bits, U32, 1172, [4:4] +tpsTooHigh = bits, U32, 1172, [5:5] +isDisabledByLua = bits, U32, 1172, [6:6] +acCompressorState = bits, U32, 1172, [7:7] +acPressureTooLow = bits, U32, 1172, [8:8] +acPressureTooHigh = bits, U32, 1172, [9:9] +; total TS size = 1176 +cranking0 = bits, U32, 1176, [0:0] +notRunning0 = bits, U32, 1176, [1:1] +disabledWhileEngineStopped0 = bits, U32, 1176, [2:2] +brokenClt0 = bits, U32, 1176, [3:3] +enabledForAc0 = bits, U32, 1176, [4:4] +hot0 = bits, U32, 1176, [5:5] +cold0 = bits, U32, 1176, [6:6] +disabledBySpeed0 = bits, U32, 1176, [7:7] +radiatorFanStatus0 = scalar, U08, 1180, "", 1, 0 +; total TS size = 1184 +cranking1 = bits, U32, 1184, [0:0] +notRunning1 = bits, U32, 1184, [1:1] +disabledWhileEngineStopped1 = bits, U32, 1184, [2:2] +brokenClt1 = bits, U32, 1184, [3:3] +enabledForAc1 = bits, U32, 1184, [4:4] +hot1 = bits, U32, 1184, [5:5] +cold1 = bits, U32, 1184, [6:6] +disabledBySpeed1 = bits, U32, 1184, [7:7] +radiatorFanStatus1 = scalar, U08, 1188, "", 1, 0 +; total TS size = 1192 +isPrime = bits, U32, 1192, [0:0] +engineTurnedRecently = bits, U32, 1192, [1:1] +isFuelPumpOn = bits, U32, 1192, [2:2] +ignitionOn = bits, U32, 1192, [3:3] +; total TS size = 1196 +isBenchTest = bits, U32, 1196, [0:0] +hasIgnitionVoltage = bits, U32, 1196, [1:1] +mainRelayState = bits, U32, 1196, [2:2] +delayedShutoffRequested = bits, U32, 1196, [3:3] +; total TS size = 1200 +lua_fuelAdd = scalar, F32, 1200, "g", 1, 0 +lua_fuelMult = scalar, F32, 1204, "", 1, 0 +lua_clutchUpState = bits, U32, 1208, [0:0] +lua_brakePedalState = bits, U32, 1208, [1:1] +lua_acRequestState = bits, U32, 1208, [2:2] +lua_luaDisableEtb = bits, U32, 1208, [3:3] +lua_luaIgnCut = bits, U32, 1208, [4:4] +lua_luaFuelCut = bits, U32, 1208, [5:5] +lua_clutchDownState = bits, U32, 1208, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1208, [7:7] +sd_tCharge = scalar, S16, 1212, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1216, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1220, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1224, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1228, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1232, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1236, "", 1, 0 +hellenBoardId = scalar, S16, 1240, "id", 1, 0 +clutchUpState = scalar, S08, 1242, "", 1, 0 +clutchDownState = scalar, S08, 1243, "", 1, 0 +brakePedalState = scalar, S08, 1244, "", 1, 0 +startStopState = scalar, S08, 1245, "", 1, 0 +smartChipState = scalar, S08, 1246, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1247, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1248, "", 1, 0 +startStopPhysicalState = bits, U32, 1252, [0:0] +acrActive = bits, U32, 1252, [1:1] +acrEngineMovedRecently = bits, U32, 1252, [2:2] +heaterControlEnabled = bits, U32, 1252, [3:3] +luaDigitalState0 = bits, U32, 1252, [4:4] +luaDigitalState1 = bits, U32, 1252, [5:5] +luaDigitalState2 = bits, U32, 1252, [6:6] +luaDigitalState3 = bits, U32, 1252, [7:7] +startStopStateToggleCounter = scalar, U32, 1256, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1260, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1264, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1268, "", 1, 0 +desiredRpmLimit = scalar, S16, 1272, "rpm", 1, 0 +fuelInjectionCounter = scalar, U32, 1276, "", 1, 0 +globalSparkCounter = scalar, U32, 1280, "", 1, 0 +fuelingLoad = scalar, F32, 1284, "", 1, 0 +ignitionLoad = scalar, F32, 1288, "", 1, 0 +veTableYAxis = scalar, U16, 1292, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1294, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1295, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1296, "", 1, 0 +; total TS size = 1300 +tpsFrom = scalar, F32, 1300 +tpsTo = scalar, F32, 1304 +deltaTps = scalar, F32, 1308 +extraFuel = scalar, F32, 1312, "", 1, 0 +valueFromTable = scalar, F32, 1316, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1320, [0:0] +isBelowDecelThreshold = bits, U32, 1320, [1:1] +isTimeToResetAccumulator = bits, U32, 1320, [2:2] +isFractionalEnrichment = bits, U32, 1320, [3:3] +belowEpsilon = bits, U32, 1320, [4:4] +tooShort = bits, U32, 1320, [5:5] +fractionalInjFuel = scalar, F32, 1324, "", 1, 0 +accumulatedValue = scalar, F32, 1328, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1332, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1336, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1340, "", 1, 0 +cycleCnt = scalar, S32, 1344, "", 1, 0 +; total TS size = 1348 +hwEventCounters1 = scalar, U32, 1348, "", 1, 0 +hwEventCounters2 = scalar, U32, 1352, "", 1, 0 +hwEventCounters3 = scalar, U32, 1356, "", 1, 0 +hwEventCounters4 = scalar, U32, 1360, "", 1, 0 +hwEventCounters5 = scalar, U32, 1364, "", 1, 0 +hwEventCounters6 = scalar, U32, 1368, "", 1, 0 +vvtCamCounter = scalar, U32, 1372, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1376, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1380, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1384, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1385, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1388, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1392, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1396, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1400, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1404, [0:0] +triggerElapsedUs = scalar, U32, 1408, "", 1, 0 +; total TS size = 1412 +crankSynchronizationCounter0 = scalar, U32, 1412, "", 1, 0 +vvtSyncGapRatio0 = scalar, F32, 1416, "", 1, 0 +vvtToothDurations00 = scalar, U32, 1420, "us", 1, 0 +vvtCurrentPosition0 = scalar, F32, 1424, "sync: Primary Cam Position", 1, 0 +vvtToothPosition10 = scalar, F32, 1428, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition20 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition30 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition40 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio0 = scalar, F32, 1444, "", 1, 0 +triggerStateIndex0 = scalar, U08, 1448, "", 1, 0 +vvtStateIndex0 = scalar, U08, 1449, "", 1, 0 +; total TS size = 1452 +crankSynchronizationCounter1 = scalar, U32, 1452, "", 1, 0 +vvtSyncGapRatio1 = scalar, F32, 1456, "", 1, 0 +vvtToothDurations01 = scalar, U32, 1460, "us", 1, 0 +vvtCurrentPosition1 = scalar, F32, 1464, "sync: Primary Cam Position", 1, 0 +vvtToothPosition11 = scalar, F32, 1468, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition21 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition31 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition41 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio1 = scalar, F32, 1484, "", 1, 0 +triggerStateIndex1 = scalar, U08, 1488, "", 1, 0 +vvtStateIndex1 = scalar, U08, 1489, "", 1, 0 +; total TS size = 1492 +crankSynchronizationCounter2 = scalar, U32, 1492, "", 1, 0 +vvtSyncGapRatio2 = scalar, F32, 1496, "", 1, 0 +vvtToothDurations02 = scalar, U32, 1500, "us", 1, 0 +vvtCurrentPosition2 = scalar, F32, 1504, "sync: Primary Cam Position", 1, 0 +vvtToothPosition12 = scalar, F32, 1508, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition22 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition32 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition42 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio2 = scalar, F32, 1524, "", 1, 0 +triggerStateIndex2 = scalar, U08, 1528, "", 1, 0 +vvtStateIndex2 = scalar, U08, 1529, "", 1, 0 +; total TS size = 1532 +crankSynchronizationCounter3 = scalar, U32, 1532, "", 1, 0 +vvtSyncGapRatio3 = scalar, F32, 1536, "", 1, 0 +vvtToothDurations03 = scalar, U32, 1540, "us", 1, 0 +vvtCurrentPosition3 = scalar, F32, 1544, "sync: Primary Cam Position", 1, 0 +vvtToothPosition13 = scalar, F32, 1548, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition23 = scalar, F32, 1552, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition33 = scalar, F32, 1556, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition43 = scalar, F32, 1560, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio3 = scalar, F32, 1564, "", 1, 0 +triggerStateIndex3 = scalar, U08, 1568, "", 1, 0 +vvtStateIndex3 = scalar, U08, 1569, "", 1, 0 +; total TS size = 1572 +crankSynchronizationCounter4 = scalar, U32, 1572, "", 1, 0 +vvtSyncGapRatio4 = scalar, F32, 1576, "", 1, 0 +vvtToothDurations04 = scalar, U32, 1580, "us", 1, 0 +vvtCurrentPosition4 = scalar, F32, 1584, "sync: Primary Cam Position", 1, 0 +vvtToothPosition14 = scalar, F32, 1588, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition24 = scalar, F32, 1592, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition34 = scalar, F32, 1596, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition44 = scalar, F32, 1600, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio4 = scalar, F32, 1604, "", 1, 0 +triggerStateIndex4 = scalar, U08, 1608, "", 1, 0 +vvtStateIndex4 = scalar, U08, 1609, "", 1, 0 +; total TS size = 1612 +camResyncCounter = scalar, U08, 1612, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1616, [0:0] +; total TS size = 1620 +wallFuelCorrection = scalar, F32, 1620, "", 1, 0 +wallFuel = scalar, F32, 1624, "", 1, 0 +; total TS size = 1628 +idleState = bits, S32, 1628, [0:2], "not important" +currentIdlePosition = scalar, F32, 1632 +baseIdlePosition = scalar, F32, 1636 +idleClosedLoop = scalar, F32, 1640 +iacByTpsTaper = scalar, F32, 1644 +throttlePedalUpState = scalar, S32, 1648, "", 1, 0 +mightResetPid = bits, U32, 1652, [0:0] +shouldResetPid = bits, U32, 1652, [1:1] +wasResetPid = bits, U32, 1652, [2:2] +mustResetPid = bits, U32, 1652, [3:3] +isCranking = bits, U32, 1652, [4:4] +isIacTableForCoasting = bits, U32, 1652, [5:5] +notIdling = bits, U32, 1652, [6:6] +needReset = bits, U32, 1652, [7:7] +isInDeadZone = bits, U32, 1652, [8:8] +isBlipping = bits, U32, 1652, [9:9] +useClosedLoop = bits, U32, 1652, [10:10] +badTps = bits, U32, 1652, [11:11] +looksLikeRunning = bits, U32, 1652, [12:12] +looksLikeCoasting = bits, U32, 1652, [13:13] +looksLikeCrankToIdle = bits, U32, 1652, [14:14] +isIdleCoasting = bits, U32, 1652, [15:15] +isIdleClosedLoop = bits, U32, 1652, [16:16] +idleTarget = scalar, S32, 1656, "", 1, 0 +targetRpmByClt = scalar, S32, 1660, "", 1, 0 +targetRpmAc = scalar, S32, 1664, "", 1, 0 +iacByRpmTaper = scalar, F32, 1668 +luaAdd = scalar, F32, 1672 +; total TS size = 1676 +targetWithIdlePosition0 = scalar, F32, 1676, "per", 1,0 +trim0 = scalar, F32, 1680, "", 1, 0 +luaAdjustment0 = scalar, F32, 1684, "per", 1,0 +m_wastegatePosition0 = scalar, F32, 1688, "per", 1,0 +etbFeedForward0 = scalar, F32, 1692 +etbIntegralError0 = scalar, F32, 1696, "", 1, 0 +etbCurrentTarget0 = scalar, F32, 1700, "%", 1, 0 +etbCurrentAdjustedTarget0 = scalar, F32, 1704, "%", 1, 0 +etbRevLimitActive0 = bits, U32, 1708, [0:0] +jamDetected0 = bits, U32, 1708, [1:1] +etbTpsErrorCounter0 = scalar, U16, 1712, "count", 1,0 +etbPpsErrorCounter0 = scalar, U16, 1714, "count", 1,0 +etbErrorCode0 = scalar, S08, 1716, "", 1, 0 +tcEtbDrop0 = scalar, S08, 1717, "%", 1, 0 +jamTimer0 = scalar, U16, 1718, "sec", 0.01, 0 +adjustedEtbTarget0 = scalar, S08, 1720, "%", 1, 0 +; total TS size = 1724 +targetWithIdlePosition1 = scalar, F32, 1724, "per", 1,0 +trim1 = scalar, F32, 1728, "", 1, 0 +luaAdjustment1 = scalar, F32, 1732, "per", 1,0 +m_wastegatePosition1 = scalar, F32, 1736, "per", 1,0 +etbFeedForward1 = scalar, F32, 1740 +etbIntegralError1 = scalar, F32, 1744, "", 1, 0 +etbCurrentTarget1 = scalar, F32, 1748, "%", 1, 0 +etbCurrentAdjustedTarget1 = scalar, F32, 1752, "%", 1, 0 +etbRevLimitActive1 = bits, U32, 1756, [0:0] +jamDetected1 = bits, U32, 1756, [1:1] +etbTpsErrorCounter1 = scalar, U16, 1760, "count", 1,0 +etbPpsErrorCounter1 = scalar, U16, 1762, "count", 1,0 +etbErrorCode1 = scalar, S08, 1764, "", 1, 0 +tcEtbDrop1 = scalar, S08, 1765, "%", 1, 0 +jamTimer1 = scalar, U16, 1766, "sec", 0.01, 0 +adjustedEtbTarget1 = scalar, S08, 1768, "%", 1, 0 +; total TS size = 1772 +faultCode0 = scalar, U08, 1772, "", 1, 0 +heaterDuty0 = scalar, U08, 1773, "%", 1, 0 +pumpDuty0 = scalar, U08, 1774, "%", 1, 0 +tempC0 = scalar, U16, 1776, "C", 1, 0 +nernstVoltage0 = scalar, U16, 1778, "V", 0.001, 0 +esr0 = scalar, U16, 1780, "ohm", 1, 0 +; total TS size = 1784 +faultCode1 = scalar, U08, 1784, "", 1, 0 +heaterDuty1 = scalar, U08, 1785, "%", 1, 0 +pumpDuty1 = scalar, U08, 1786, "%", 1, 0 +tempC1 = scalar, U16, 1788, "C", 1, 0 +nernstVoltage1 = scalar, U16, 1790, "V", 0.001, 0 +esr1 = scalar, U16, 1792, "ohm", 1, 0 +; total TS size = 1796 +dcOutput0 = scalar, F32, 1796, "per", 1,0 +isEnabled0_int = scalar, U08, 1800, "per", 1,0 +isEnabled0 = bits, U32, 1804, [0:0] +; total TS size = 1808 +value0 = scalar, U16, 1808, "value", 1,0 +value1 = scalar, U16, 1810, "value", 1,0 +errorRate = scalar, F32, 1812, "ratio", 1,0 +; total TS size = 1816 +vvtTarget = scalar, U16, 1816, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1818, "%", 0.5, 0 +; total TS size = 1820 +lambdaCurrentlyGood = bits, U32, 1820, [0:0] +lambdaMonitorCut = bits, U32, 1820, [1:1] +lambdaTimeSinceGood = scalar, U16, 1824, "sec", 0.01, 0 +; total TS size = 1828 time = { timeNow } @@ -3616,6 +3648,7 @@ lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs8 requiresPowerCycle = cylinderBore + requiresPowerCycle = knockFrequency readOnly = warning_message readOnly = device_uid1 @@ -5033,6 +5066,26 @@ gaugeCategory = Knock knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knockSpectrumChannelCylGauge = m_knockSpectrumChannelCyl, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStartGauge = m_knockFrequencyStart, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStepGauge = m_knockFrequencyStep, "Knock Frequency Step", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFuelTrimMultiplier = m_knockFuelTrimMultiplier, "Knock Fuel Trim", "mult", 0, 0, 0, 0, 0, 30, 1, 1 + knockSpectrum1 = m_knockSpectrum1, "Knock Spectrum1", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum2 = m_knockSpectrum2, "knockSpectrum2", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum3 = m_knockSpectrum3, "knockSpectrum3", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum4 = m_knockSpectrum4, "knockSpectrum4", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum5 = m_knockSpectrum5, "knockSpectrum5", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum6 = m_knockSpectrum6, "knockSpectrum6", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum7 = m_knockSpectrum7, "knockSpectrum7", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum8 = m_knockSpectrum8, "knockSpectrum8", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum9 = m_knockSpectrum9, "knockSpectrum9", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum10 = m_knockSpectrum10, "knockSpectrum10", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum11 = m_knockSpectrum11, "knockSpectrum11", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum12 = m_knockSpectrum12, "knockSpectrum12", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum13 = m_knockSpectrum13, "knockSpectrum13", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum14 = m_knockSpectrum14, "knockSpectrum14", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum15 = m_knockSpectrum15, "knockSpectrum15", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum16 = m_knockSpectrum16, "knockSpectrum16", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -5631,6 +5684,26 @@ entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" entry = m_knockCount, "Knock: Count", int, "%d" entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_knockFrequency, "knock: frequency", int, "%d" +entry = m_knockSpectrum1, "Knock: SpectrumData 1", int, "%d" +entry = m_knockSpectrum2, "Knock: SpectrumData 2", int, "%d" +entry = m_knockSpectrum3, "Knock: SpectrumData 3", int, "%d" +entry = m_knockSpectrum4, "Knock: SpectrumData 4", int, "%d" +entry = m_knockSpectrum5, "Knock: SpectrumData 5", int, "%d" +entry = m_knockSpectrum6, "Knock: SpectrumData 6", int, "%d" +entry = m_knockSpectrum7, "Knock: SpectrumData 7", int, "%d" +entry = m_knockSpectrum8, "Knock: SpectrumData 8", int, "%d" +entry = m_knockSpectrum9, "Knock: SpectrumData 9", int, "%d" +entry = m_knockSpectrum10, "Knock: SpectrumData 10", int, "%d" +entry = m_knockSpectrum11, "Knock: SpectrumData 11", int, "%d" +entry = m_knockSpectrum12, "Knock: SpectrumData 12", int, "%d" +entry = m_knockSpectrum13, "Knock: SpectrumData 13", int, "%d" +entry = m_knockSpectrum14, "Knock: SpectrumData 14", int, "%d" +entry = m_knockSpectrum15, "Knock: SpectrumData 15", int, "%d" +entry = m_knockSpectrum16, "Knock: SpectrumData 16", int, "%d" +entry = m_knockSpectrumChannelCyl, "Knock: ChannelAndCylNumber", int, "%d" +entry = m_knockFrequencyStart, "Knock: Start Freq", int, "%d" +entry = m_knockFrequencyStep, "Knock: Step Freq", float, "%.3f" +entry = m_knockFuelTrimMultiplier, "Knock: Fuel trim when knock", float, "%.3f" entry = tcuCurrentGear, "TCU: Current Gear", int, "%d" entry = tcRatio, "TCU: Torque Converter Ratio", float, "%.3f" entry = lastShiftTime, "lastShiftTime", float, "%.3f" @@ -6527,6 +6600,31 @@ dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard graphLine = m_knockFrequency + graphLine = m_knockSpectrum1 + graphLine = m_knockSpectrum2 + liveGraph = knock_controller_6_Graph, "Graph", South + graphLine = m_knockSpectrum3 + graphLine = m_knockSpectrum4 + graphLine = m_knockSpectrum5 + graphLine = m_knockSpectrum6 + liveGraph = knock_controller_7_Graph, "Graph", South + graphLine = m_knockSpectrum7 + graphLine = m_knockSpectrum8 + graphLine = m_knockSpectrum9 + graphLine = m_knockSpectrum10 + liveGraph = knock_controller_8_Graph, "Graph", South + graphLine = m_knockSpectrum11 + graphLine = m_knockSpectrum12 + graphLine = m_knockSpectrum13 + graphLine = m_knockSpectrum14 + liveGraph = knock_controller_9_Graph, "Graph", South + graphLine = m_knockSpectrum15 + graphLine = m_knockSpectrum16 + graphLine = m_knockSpectrumChannelCyl + graphLine = m_knockFrequencyStart + liveGraph = knock_controller_10_Graph, "Graph", South + graphLine = m_knockFrequencyStep + graphLine = m_knockFuelTrimMultiplier indicatorPanel = tcu_controllerIndicatorPanel, 2 indicator = {isShifting}, "isShifting No", "isShifting Yes" @@ -8595,9 +8693,13 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockCfg, "Sense" field = "Enable", enableSoftwareKnock field = "Cylinder Bore", cylinderBore, {enableSoftwareKnock} + field = "Estimated Knock Frequency",knockFrequency, {enableSoftwareKnock} field = "Detection mode", knockDetectionUseDoubleFrequency field = "Detection Window Start",knockDetectionWindowStart, {enableSoftwareKnock} field = "Sampling Duration", knockSamplingDuration, {enableSoftwareKnock} + field = "Enable Knock Spectrogram", enableKnockSpectrogram, {enableSoftwareKnock} + field = "Enable Knock Spectrogram Filter", enableKnockSpectrogramFilter, {enableKnockSpectrogram} + field = "Knock Spectrum Sensitivity", knockSpectrumSensitivity, {enableKnockSpectrogram} field = "" field = "Select the nearest sensor for each cylinder" @@ -8617,6 +8719,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockResponseCfg, "Response" field = knockRetardAggression, knockRetardAggression field = knockRetardReapplyRate, knockRetardReapplyRate + field = knockFuelTrimAggression, knockFuelTrimAggression + field = knockFuelTrimReapplyRate, knockFuelTrimReapplyRate + field = knockFuelTrim, knockFuelTrim + field = knockSuppressMinTps, knockSuppressMinTps dialog = softwareKnockLeft, "" panel = softwareKnockCfg diff --git a/firmware/tunerstudio/generated/rusefi_f469-discovery.ini b/firmware/tunerstudio/generated/rusefi_f469-discovery.ini index 11ce72abcb..9d1032f033 100644 --- a/firmware/tunerstudio/generated/rusefi_f469-discovery.ini +++ b/firmware/tunerstudio/generated/rusefi_f469-discovery.ini @@ -38,12 +38,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.10.21.f469-discovery.3023494282" + signature = "rusEFI master.2024.10.21.f469-discovery.1746830965" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.10.21.f469-discovery.3023494282" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.10.21.f469-discovery.1746830965" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -774,6 +774,7 @@ devBit7 = bits, U32, 1492, [27:27], "false", "true" unusedSkipWasHere = bits, U32, 1492, [28:28], "false", "true" invertExhaustCamVVTSignal = bits, U32, 1492, [29:29], "Rising", "Falling" enableKnockSpectrogram = bits, U32, 1492, [30:30], "false", "true" +enableKnockSpectrogramFilter = bits, U32, 1492, [31:31], "false", "true" afterCrankingIACtaperDuration = scalar, S16, 1496, "cycles", 1, 0, 0, 5000, 0 iacByTpsTaper = scalar, S16, 1498, "percent", 1, 0, 0, 500, 0 unusedAuxSeria = bits, U16, 1500, [0:8], $gpio_list @@ -1394,7 +1395,13 @@ auxLinear4_v1 = scalar, F32, 3880, "volts", 1, 0, 0, 10, 2 auxLinear4_value1 = scalar, F32, 3884, "", 1, 0, -100000, 1000000, 2 auxLinear4_v2 = scalar, F32, 3888, "volts", 1, 0, 0, 10, 2 auxLinear4_value2 = scalar, F32, 3892, "", 1, 0, -100000, 1000000, 2 -unusedOftenChangesDuringFirmwareUpdate = array, U08, 3896, [128], "units", 1, 0, 0, 1, 0 +knockSuppressMinTps = scalar, U08, 3896, "%", 1, 0, 0, 100, 1 +knockFuelTrimAggression = scalar, U08, 3897, "%", 0.1, 0, 0, 20, 1 +knockFuelTrimReapplyRate = scalar, U08, 3898, "deg/s", 0.1, 0, 0, 10, 1 +knockFuelTrim = scalar, U08, 3899, "%", 1, 0, 0, 30, 1 +knockSpectrumSensitivity = scalar, F32, 3900, "sense", 1, 0, 0, 1, 2 +knockFrequency = scalar, F32, 3904, "Hz", 1, 0, 0, 20000, 2 +unusedOftenChangesDuringFirmwareUpdate = array, U08, 3908, [116], "units", 1, 0, 0, 1, 0 postCrankingFactor = array, F32, 4024, [6x6], "mult", 1, 0, 1, 3, 2 postCrankingDurationBins = array, F32, 4168, [6], "count", 1, 0, 0, 1000, 0 postCrankingCLTBins = array, S16, 4192, [6], "C", 1, 0, -100, 250, 0 @@ -2448,6 +2455,11 @@ minimumOilPressureValues = array, U08, 22960, [8], "kPa", 10.0, 0, 0, 1000, 0 minAcPressure = "value of A/C pressure in kPa before that compressor is disengaged" maxAcPressure = "value of A/C pressure in kPa after that compressor is disengaged" minimumOilPressureTimeout = "Delay before cutting fuel due to low oil pressure. Use this to ignore short pressure blips and sensor noise." + knockSuppressMinTps = "Below TPS value all knock suppression will be disabled." + knockFuelTrimAggression = "Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump)," + knockFuelTrimReapplyRate = "After a knock event, reapply fuel at this rate." + knockFuelTrim = "Fuel trim when knock, max 30%" + knockFrequency = "Estimated knock frequency, ignore cylinderBore if this one > 0" etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, open loop component of PID closed loop control" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2560,7 +2572,7 @@ minimumOilPressureValues = array, U08, 22960, [8], "kPa", 10.0, 0, 0, 1000, 0 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1752 + ochBlockSize = 1828 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3101,370 +3113,390 @@ m_knockThreshold = scalar, F32, 960, "", 1, 0 m_knockCount = scalar, U32, 964, "", 1, 0 m_maximumRetard = scalar, F32, 968, "", 1, 0 m_knockFrequency = scalar, U32, 972, "Hz", 1, 0 -; total TS size = 976 -tcuCurrentGear = scalar, S08, 976, "gear", 1, 0 -tcRatio = scalar, U16, 978, "value", 0.01, 0 -lastShiftTime = scalar, F32, 980, "", 1, 0 -tcu_currentRange = scalar, U08, 984, "", 1, 0 -pressureControlDuty = scalar, S08, 985, "%", 1,0 -torqueConverterDuty = scalar, S08, 986, "%", 1,0 -isShifting = bits, U32, 988, [0:0] -; total TS size = 992 -throttleUseWotModel = bits, U32, 992, [0:0] -throttleModelCrossoverAngle = scalar, S16, 996, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1000, "g/s", 1, 0 -; total TS size = 1004 -m_requested_pump = scalar, F32, 1004, "", 1, 0 -fuel_requested_percent = scalar, F32, 1008, "", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1012, "", 1, 0 -noValve = bits, U32, 1016, [0:0] -angleAboveMin = bits, U32, 1016, [1:1] -isHpfpInactive = bits, U32, 1016, [2:2] -m_pressureTarget_kPa = scalar, F32, 1020, "", 1, 0 -nextLobe = scalar, F32, 1024, "", 1, 0 -di_nextStart = scalar, F32, 1028, "v", 1, 0 -; total TS size = 1032 -m_deadtime = scalar, F32, 1032, "ms", 1, 0 -pressureDelta = scalar, F32, 1036, "kPa", 1, 0 -pressureRatio = scalar, F32, 1040, "", 1, 0 -; total TS size = 1044 -retardThresholdRpm = scalar, S32, 1044, "", 1, 0 -launchActivatePinState = bits, U32, 1048, [0:0] -isPreLaunchCondition = bits, U32, 1048, [1:1] -isLaunchCondition = bits, U32, 1048, [2:2] -isSwitchActivated = bits, U32, 1048, [3:3] -isClutchActivated = bits, U32, 1048, [4:4] -isBrakePedalActivated = bits, U32, 1048, [5:5] -isValidInputPin = bits, U32, 1048, [6:6] -activateSwitchCondition = bits, U32, 1048, [7:7] -rpmLaunchCondition = bits, U32, 1048, [8:8] -rpmPreLaunchCondition = bits, U32, 1048, [9:9] -speedCondition = bits, U32, 1048, [10:10] -tpsCondition = bits, U32, 1048, [11:11] +m_knockSpectrum1 = scalar, U32, 976, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 980, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 984, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 988, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1040, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1042, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1044, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1048, "multiplier", 1, 0 ; total TS size = 1052 -isTorqueReductionTriggerPinValid = bits, U32, 1052, [0:0] -torqueReductionTriggerPinState = bits, U32, 1052, [1:1] -isTimeConditionSatisfied = bits, U32, 1052, [2:2] -isRpmConditionSatisfied = bits, U32, 1052, [3:3] -isAppConditionSatisfied = bits, U32, 1052, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1052, [5:5] -; total TS size = 1056 -isAntilagCondition = bits, U32, 1056, [0:0] -ALSMinRPMCondition = bits, U32, 1056, [1:1] -ALSMaxRPMCondition = bits, U32, 1056, [2:2] -ALSMinCLTCondition = bits, U32, 1056, [3:3] -ALSMaxCLTCondition = bits, U32, 1056, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1056, [5:5] -isALSSwitchActivated = bits, U32, 1056, [6:6] -ALSActivatePinState = bits, U32, 1056, [7:7] -ALSSwitchCondition = bits, U32, 1056, [8:8] -ALSTimerCondition = bits, U32, 1056, [9:9] -fuelALSCorrection = scalar, F32, 1060, "", 1, 0 -timingALSCorrection = scalar, S16, 1064, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1066, "deg", 0.01, 0 +tcuCurrentGear = scalar, S08, 1052, "gear", 1, 0 +tcRatio = scalar, U16, 1054, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1056, "", 1, 0 +tcu_currentRange = scalar, U08, 1060, "", 1, 0 +pressureControlDuty = scalar, S08, 1061, "%", 1,0 +torqueConverterDuty = scalar, S08, 1062, "%", 1,0 +isShifting = bits, U32, 1064, [0:0] ; total TS size = 1068 -isTpsInvalid = bits, U32, 1068, [0:0] -m_shouldResetPid = bits, U32, 1068, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1068, [2:2] -isNotClosedLoop = bits, U32, 1068, [3:3] -isZeroRpm = bits, U32, 1068, [4:4] -hasInitBoost = bits, U32, 1068, [5:5] -rpmTooLow = bits, U32, 1068, [6:6] -tpsTooLow = bits, U32, 1068, [7:7] -mapTooLow = bits, U32, 1068, [8:8] -isPlantValid = bits, U32, 1068, [9:9] -isBoostControlled = bits, U32, 1068, [10:10] -luaTargetAdd = scalar, S16, 1072, "v", 0.5,0 -boostOutput = scalar, S16, 1074, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1076, "v", 1,0 -openLoopPart = scalar, F32, 1080, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1084, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1088, "%", 0.5,0 -boostControlTarget = scalar, S16, 1090, "kPa", 0.03333333333333333,0 -; total TS size = 1092 -acButtonState = scalar, S08, 1092, "", 1, 0 -m_acEnabled = bits, U32, 1096, [0:0] -engineTooSlow = bits, U32, 1096, [1:1] -engineTooFast = bits, U32, 1096, [2:2] -noClt = bits, U32, 1096, [3:3] -engineTooHot = bits, U32, 1096, [4:4] -tpsTooHigh = bits, U32, 1096, [5:5] -isDisabledByLua = bits, U32, 1096, [6:6] -acCompressorState = bits, U32, 1096, [7:7] -acPressureTooLow = bits, U32, 1096, [8:8] -acPressureTooHigh = bits, U32, 1096, [9:9] -; total TS size = 1100 -cranking0 = bits, U32, 1100, [0:0] -notRunning0 = bits, U32, 1100, [1:1] -disabledWhileEngineStopped0 = bits, U32, 1100, [2:2] -brokenClt0 = bits, U32, 1100, [3:3] -enabledForAc0 = bits, U32, 1100, [4:4] -hot0 = bits, U32, 1100, [5:5] -cold0 = bits, U32, 1100, [6:6] -disabledBySpeed0 = bits, U32, 1100, [7:7] -radiatorFanStatus0 = scalar, U08, 1104, "", 1, 0 +throttleUseWotModel = bits, U32, 1068, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1072, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1076, "g/s", 1, 0 +; total TS size = 1080 +m_requested_pump = scalar, F32, 1080, "", 1, 0 +fuel_requested_percent = scalar, F32, 1084, "", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1088, "", 1, 0 +noValve = bits, U32, 1092, [0:0] +angleAboveMin = bits, U32, 1092, [1:1] +isHpfpInactive = bits, U32, 1092, [2:2] +m_pressureTarget_kPa = scalar, F32, 1096, "", 1, 0 +nextLobe = scalar, F32, 1100, "", 1, 0 +di_nextStart = scalar, F32, 1104, "v", 1, 0 ; total TS size = 1108 -cranking1 = bits, U32, 1108, [0:0] -notRunning1 = bits, U32, 1108, [1:1] -disabledWhileEngineStopped1 = bits, U32, 1108, [2:2] -brokenClt1 = bits, U32, 1108, [3:3] -enabledForAc1 = bits, U32, 1108, [4:4] -hot1 = bits, U32, 1108, [5:5] -cold1 = bits, U32, 1108, [6:6] -disabledBySpeed1 = bits, U32, 1108, [7:7] -radiatorFanStatus1 = scalar, U08, 1112, "", 1, 0 -; total TS size = 1116 -isPrime = bits, U32, 1116, [0:0] -engineTurnedRecently = bits, U32, 1116, [1:1] -isFuelPumpOn = bits, U32, 1116, [2:2] -ignitionOn = bits, U32, 1116, [3:3] +m_deadtime = scalar, F32, 1108, "ms", 1, 0 +pressureDelta = scalar, F32, 1112, "kPa", 1, 0 +pressureRatio = scalar, F32, 1116, "", 1, 0 ; total TS size = 1120 -isBenchTest = bits, U32, 1120, [0:0] -hasIgnitionVoltage = bits, U32, 1120, [1:1] -mainRelayState = bits, U32, 1120, [2:2] -delayedShutoffRequested = bits, U32, 1120, [3:3] -; total TS size = 1124 -lua_fuelAdd = scalar, F32, 1124, "g", 1, 0 -lua_fuelMult = scalar, F32, 1128, "", 1, 0 -lua_clutchUpState = bits, U32, 1132, [0:0] -lua_brakePedalState = bits, U32, 1132, [1:1] -lua_acRequestState = bits, U32, 1132, [2:2] -lua_luaDisableEtb = bits, U32, 1132, [3:3] -lua_luaIgnCut = bits, U32, 1132, [4:4] -lua_luaFuelCut = bits, U32, 1132, [5:5] -lua_clutchDownState = bits, U32, 1132, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1132, [7:7] -sd_tCharge = scalar, S16, 1136, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1140, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1144, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1148, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1152, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1156, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1160, "", 1, 0 -hellenBoardId = scalar, S16, 1164, "id", 1, 0 -clutchUpState = scalar, S08, 1166, "", 1, 0 -clutchDownState = scalar, S08, 1167, "", 1, 0 -brakePedalState = scalar, S08, 1168, "", 1, 0 -startStopState = scalar, S08, 1169, "", 1, 0 -smartChipState = scalar, S08, 1170, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1171, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1172, "", 1, 0 -startStopPhysicalState = bits, U32, 1176, [0:0] -acrActive = bits, U32, 1176, [1:1] -acrEngineMovedRecently = bits, U32, 1176, [2:2] -heaterControlEnabled = bits, U32, 1176, [3:3] -luaDigitalState0 = bits, U32, 1176, [4:4] -luaDigitalState1 = bits, U32, 1176, [5:5] -luaDigitalState2 = bits, U32, 1176, [6:6] -luaDigitalState3 = bits, U32, 1176, [7:7] -startStopStateToggleCounter = scalar, U32, 1180, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1184, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1188, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1192, "", 1, 0 -desiredRpmLimit = scalar, S16, 1196, "rpm", 1, 0 -fuelInjectionCounter = scalar, U32, 1200, "", 1, 0 -globalSparkCounter = scalar, U32, 1204, "", 1, 0 -fuelingLoad = scalar, F32, 1208, "", 1, 0 -ignitionLoad = scalar, F32, 1212, "", 1, 0 -veTableYAxis = scalar, U16, 1216, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1218, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1219, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1220, "", 1, 0 -; total TS size = 1224 -tpsFrom = scalar, F32, 1224 -tpsTo = scalar, F32, 1228 -deltaTps = scalar, F32, 1232 -extraFuel = scalar, F32, 1236, "", 1, 0 -valueFromTable = scalar, F32, 1240, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1244, [0:0] -isBelowDecelThreshold = bits, U32, 1244, [1:1] -isTimeToResetAccumulator = bits, U32, 1244, [2:2] -isFractionalEnrichment = bits, U32, 1244, [3:3] -belowEpsilon = bits, U32, 1244, [4:4] -tooShort = bits, U32, 1244, [5:5] -fractionalInjFuel = scalar, F32, 1248, "", 1, 0 -accumulatedValue = scalar, F32, 1252, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1256, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1260, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1264, "", 1, 0 -cycleCnt = scalar, S32, 1268, "", 1, 0 -; total TS size = 1272 -hwEventCounters1 = scalar, U32, 1272, "", 1, 0 -hwEventCounters2 = scalar, U32, 1276, "", 1, 0 -hwEventCounters3 = scalar, U32, 1280, "", 1, 0 -hwEventCounters4 = scalar, U32, 1284, "", 1, 0 -hwEventCounters5 = scalar, U32, 1288, "", 1, 0 -hwEventCounters6 = scalar, U32, 1292, "", 1, 0 -vvtCamCounter = scalar, U32, 1296, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1300, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1304, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1308, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1309, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1312, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1316, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1320, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1324, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1328, [0:0] -triggerElapsedUs = scalar, U32, 1332, "", 1, 0 -; total TS size = 1336 -crankSynchronizationCounter0 = scalar, U32, 1336, "", 1, 0 -vvtSyncGapRatio0 = scalar, F32, 1340, "", 1, 0 -vvtToothDurations00 = scalar, U32, 1344, "us", 1, 0 -vvtCurrentPosition0 = scalar, F32, 1348, "sync: Primary Cam Position", 1, 0 -vvtToothPosition10 = scalar, F32, 1352, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition20 = scalar, F32, 1356, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition30 = scalar, F32, 1360, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition40 = scalar, F32, 1364, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio0 = scalar, F32, 1368, "", 1, 0 -triggerStateIndex0 = scalar, U08, 1372, "", 1, 0 -vvtStateIndex0 = scalar, U08, 1373, "", 1, 0 -; total TS size = 1376 -crankSynchronizationCounter1 = scalar, U32, 1376, "", 1, 0 -vvtSyncGapRatio1 = scalar, F32, 1380, "", 1, 0 -vvtToothDurations01 = scalar, U32, 1384, "us", 1, 0 -vvtCurrentPosition1 = scalar, F32, 1388, "sync: Primary Cam Position", 1, 0 -vvtToothPosition11 = scalar, F32, 1392, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition21 = scalar, F32, 1396, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition31 = scalar, F32, 1400, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition41 = scalar, F32, 1404, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio1 = scalar, F32, 1408, "", 1, 0 -triggerStateIndex1 = scalar, U08, 1412, "", 1, 0 -vvtStateIndex1 = scalar, U08, 1413, "", 1, 0 -; total TS size = 1416 -crankSynchronizationCounter2 = scalar, U32, 1416, "", 1, 0 -vvtSyncGapRatio2 = scalar, F32, 1420, "", 1, 0 -vvtToothDurations02 = scalar, U32, 1424, "us", 1, 0 -vvtCurrentPosition2 = scalar, F32, 1428, "sync: Primary Cam Position", 1, 0 -vvtToothPosition12 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition22 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition32 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition42 = scalar, F32, 1444, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio2 = scalar, F32, 1448, "", 1, 0 -triggerStateIndex2 = scalar, U08, 1452, "", 1, 0 -vvtStateIndex2 = scalar, U08, 1453, "", 1, 0 -; total TS size = 1456 -crankSynchronizationCounter3 = scalar, U32, 1456, "", 1, 0 -vvtSyncGapRatio3 = scalar, F32, 1460, "", 1, 0 -vvtToothDurations03 = scalar, U32, 1464, "us", 1, 0 -vvtCurrentPosition3 = scalar, F32, 1468, "sync: Primary Cam Position", 1, 0 -vvtToothPosition13 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition23 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition33 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition43 = scalar, F32, 1484, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio3 = scalar, F32, 1488, "", 1, 0 -triggerStateIndex3 = scalar, U08, 1492, "", 1, 0 -vvtStateIndex3 = scalar, U08, 1493, "", 1, 0 -; total TS size = 1496 -crankSynchronizationCounter4 = scalar, U32, 1496, "", 1, 0 -vvtSyncGapRatio4 = scalar, F32, 1500, "", 1, 0 -vvtToothDurations04 = scalar, U32, 1504, "us", 1, 0 -vvtCurrentPosition4 = scalar, F32, 1508, "sync: Primary Cam Position", 1, 0 -vvtToothPosition14 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition24 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition34 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition44 = scalar, F32, 1524, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio4 = scalar, F32, 1528, "", 1, 0 -triggerStateIndex4 = scalar, U08, 1532, "", 1, 0 -vvtStateIndex4 = scalar, U08, 1533, "", 1, 0 -; total TS size = 1536 -camResyncCounter = scalar, U08, 1536, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1540, [0:0] -; total TS size = 1544 -wallFuelCorrection = scalar, F32, 1544, "", 1, 0 -wallFuel = scalar, F32, 1548, "", 1, 0 -; total TS size = 1552 -idleState = bits, S32, 1552, [0:2], "not important" -currentIdlePosition = scalar, F32, 1556 -baseIdlePosition = scalar, F32, 1560 -idleClosedLoop = scalar, F32, 1564 -iacByTpsTaper = scalar, F32, 1568 -throttlePedalUpState = scalar, S32, 1572, "", 1, 0 -mightResetPid = bits, U32, 1576, [0:0] -shouldResetPid = bits, U32, 1576, [1:1] -wasResetPid = bits, U32, 1576, [2:2] -mustResetPid = bits, U32, 1576, [3:3] -isCranking = bits, U32, 1576, [4:4] -isIacTableForCoasting = bits, U32, 1576, [5:5] -notIdling = bits, U32, 1576, [6:6] -needReset = bits, U32, 1576, [7:7] -isInDeadZone = bits, U32, 1576, [8:8] -isBlipping = bits, U32, 1576, [9:9] -useClosedLoop = bits, U32, 1576, [10:10] -badTps = bits, U32, 1576, [11:11] -looksLikeRunning = bits, U32, 1576, [12:12] -looksLikeCoasting = bits, U32, 1576, [13:13] -looksLikeCrankToIdle = bits, U32, 1576, [14:14] -isIdleCoasting = bits, U32, 1576, [15:15] -isIdleClosedLoop = bits, U32, 1576, [16:16] -idleTarget = scalar, S32, 1580, "", 1, 0 -targetRpmByClt = scalar, S32, 1584, "", 1, 0 -targetRpmAc = scalar, S32, 1588, "", 1, 0 -iacByRpmTaper = scalar, F32, 1592 -luaAdd = scalar, F32, 1596 -; total TS size = 1600 -targetWithIdlePosition0 = scalar, F32, 1600, "per", 1,0 -trim0 = scalar, F32, 1604, "", 1, 0 -luaAdjustment0 = scalar, F32, 1608, "per", 1,0 -m_wastegatePosition0 = scalar, F32, 1612, "per", 1,0 -etbFeedForward0 = scalar, F32, 1616 -etbIntegralError0 = scalar, F32, 1620, "", 1, 0 -etbCurrentTarget0 = scalar, F32, 1624, "%", 1, 0 -etbCurrentAdjustedTarget0 = scalar, F32, 1628, "%", 1, 0 -etbRevLimitActive0 = bits, U32, 1632, [0:0] -jamDetected0 = bits, U32, 1632, [1:1] -etbTpsErrorCounter0 = scalar, U16, 1636, "count", 1,0 -etbPpsErrorCounter0 = scalar, U16, 1638, "count", 1,0 -etbErrorCode0 = scalar, S08, 1640, "", 1, 0 -tcEtbDrop0 = scalar, S08, 1641, "%", 1, 0 -jamTimer0 = scalar, U16, 1642, "sec", 0.01, 0 -adjustedEtbTarget0 = scalar, S08, 1644, "%", 1, 0 -; total TS size = 1648 -targetWithIdlePosition1 = scalar, F32, 1648, "per", 1,0 -trim1 = scalar, F32, 1652, "", 1, 0 -luaAdjustment1 = scalar, F32, 1656, "per", 1,0 -m_wastegatePosition1 = scalar, F32, 1660, "per", 1,0 -etbFeedForward1 = scalar, F32, 1664 -etbIntegralError1 = scalar, F32, 1668, "", 1, 0 -etbCurrentTarget1 = scalar, F32, 1672, "%", 1, 0 -etbCurrentAdjustedTarget1 = scalar, F32, 1676, "%", 1, 0 -etbRevLimitActive1 = bits, U32, 1680, [0:0] -jamDetected1 = bits, U32, 1680, [1:1] -etbTpsErrorCounter1 = scalar, U16, 1684, "count", 1,0 -etbPpsErrorCounter1 = scalar, U16, 1686, "count", 1,0 -etbErrorCode1 = scalar, S08, 1688, "", 1, 0 -tcEtbDrop1 = scalar, S08, 1689, "%", 1, 0 -jamTimer1 = scalar, U16, 1690, "sec", 0.01, 0 -adjustedEtbTarget1 = scalar, S08, 1692, "%", 1, 0 -; total TS size = 1696 -faultCode0 = scalar, U08, 1696, "", 1, 0 -heaterDuty0 = scalar, U08, 1697, "%", 1, 0 -pumpDuty0 = scalar, U08, 1698, "%", 1, 0 -tempC0 = scalar, U16, 1700, "C", 1, 0 -nernstVoltage0 = scalar, U16, 1702, "V", 0.001, 0 -esr0 = scalar, U16, 1704, "ohm", 1, 0 -; total TS size = 1708 -faultCode1 = scalar, U08, 1708, "", 1, 0 -heaterDuty1 = scalar, U08, 1709, "%", 1, 0 -pumpDuty1 = scalar, U08, 1710, "%", 1, 0 -tempC1 = scalar, U16, 1712, "C", 1, 0 -nernstVoltage1 = scalar, U16, 1714, "V", 0.001, 0 -esr1 = scalar, U16, 1716, "ohm", 1, 0 -; total TS size = 1720 -dcOutput0 = scalar, F32, 1720, "per", 1,0 -isEnabled0_int = scalar, U08, 1724, "per", 1,0 -isEnabled0 = bits, U32, 1728, [0:0] -; total TS size = 1732 -value0 = scalar, U16, 1732, "value", 1,0 -value1 = scalar, U16, 1734, "value", 1,0 -errorRate = scalar, F32, 1736, "ratio", 1,0 -; total TS size = 1740 -vvtTarget = scalar, U16, 1740, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1742, "%", 0.5, 0 -; total TS size = 1744 -lambdaCurrentlyGood = bits, U32, 1744, [0:0] -lambdaMonitorCut = bits, U32, 1744, [1:1] -lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 -; total TS size = 1752 +retardThresholdRpm = scalar, S32, 1120, "", 1, 0 +launchActivatePinState = bits, U32, 1124, [0:0] +isPreLaunchCondition = bits, U32, 1124, [1:1] +isLaunchCondition = bits, U32, 1124, [2:2] +isSwitchActivated = bits, U32, 1124, [3:3] +isClutchActivated = bits, U32, 1124, [4:4] +isBrakePedalActivated = bits, U32, 1124, [5:5] +isValidInputPin = bits, U32, 1124, [6:6] +activateSwitchCondition = bits, U32, 1124, [7:7] +rpmLaunchCondition = bits, U32, 1124, [8:8] +rpmPreLaunchCondition = bits, U32, 1124, [9:9] +speedCondition = bits, U32, 1124, [10:10] +tpsCondition = bits, U32, 1124, [11:11] +; total TS size = 1128 +isTorqueReductionTriggerPinValid = bits, U32, 1128, [0:0] +torqueReductionTriggerPinState = bits, U32, 1128, [1:1] +isTimeConditionSatisfied = bits, U32, 1128, [2:2] +isRpmConditionSatisfied = bits, U32, 1128, [3:3] +isAppConditionSatisfied = bits, U32, 1128, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1128, [5:5] +; total TS size = 1132 +isAntilagCondition = bits, U32, 1132, [0:0] +ALSMinRPMCondition = bits, U32, 1132, [1:1] +ALSMaxRPMCondition = bits, U32, 1132, [2:2] +ALSMinCLTCondition = bits, U32, 1132, [3:3] +ALSMaxCLTCondition = bits, U32, 1132, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1132, [5:5] +isALSSwitchActivated = bits, U32, 1132, [6:6] +ALSActivatePinState = bits, U32, 1132, [7:7] +ALSSwitchCondition = bits, U32, 1132, [8:8] +ALSTimerCondition = bits, U32, 1132, [9:9] +fuelALSCorrection = scalar, F32, 1136, "", 1, 0 +timingALSCorrection = scalar, S16, 1140, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1142, "deg", 0.01, 0 +; total TS size = 1144 +isTpsInvalid = bits, U32, 1144, [0:0] +m_shouldResetPid = bits, U32, 1144, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1144, [2:2] +isNotClosedLoop = bits, U32, 1144, [3:3] +isZeroRpm = bits, U32, 1144, [4:4] +hasInitBoost = bits, U32, 1144, [5:5] +rpmTooLow = bits, U32, 1144, [6:6] +tpsTooLow = bits, U32, 1144, [7:7] +mapTooLow = bits, U32, 1144, [8:8] +isPlantValid = bits, U32, 1144, [9:9] +isBoostControlled = bits, U32, 1144, [10:10] +luaTargetAdd = scalar, S16, 1148, "v", 0.5,0 +boostOutput = scalar, S16, 1150, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1152, "v", 1,0 +openLoopPart = scalar, F32, 1156, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1160, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1164, "%", 0.5,0 +boostControlTarget = scalar, S16, 1166, "kPa", 0.03333333333333333,0 +; total TS size = 1168 +acButtonState = scalar, S08, 1168, "", 1, 0 +m_acEnabled = bits, U32, 1172, [0:0] +engineTooSlow = bits, U32, 1172, [1:1] +engineTooFast = bits, U32, 1172, [2:2] +noClt = bits, U32, 1172, [3:3] +engineTooHot = bits, U32, 1172, [4:4] +tpsTooHigh = bits, U32, 1172, [5:5] +isDisabledByLua = bits, U32, 1172, [6:6] +acCompressorState = bits, U32, 1172, [7:7] +acPressureTooLow = bits, U32, 1172, [8:8] +acPressureTooHigh = bits, U32, 1172, [9:9] +; total TS size = 1176 +cranking0 = bits, U32, 1176, [0:0] +notRunning0 = bits, U32, 1176, [1:1] +disabledWhileEngineStopped0 = bits, U32, 1176, [2:2] +brokenClt0 = bits, U32, 1176, [3:3] +enabledForAc0 = bits, U32, 1176, [4:4] +hot0 = bits, U32, 1176, [5:5] +cold0 = bits, U32, 1176, [6:6] +disabledBySpeed0 = bits, U32, 1176, [7:7] +radiatorFanStatus0 = scalar, U08, 1180, "", 1, 0 +; total TS size = 1184 +cranking1 = bits, U32, 1184, [0:0] +notRunning1 = bits, U32, 1184, [1:1] +disabledWhileEngineStopped1 = bits, U32, 1184, [2:2] +brokenClt1 = bits, U32, 1184, [3:3] +enabledForAc1 = bits, U32, 1184, [4:4] +hot1 = bits, U32, 1184, [5:5] +cold1 = bits, U32, 1184, [6:6] +disabledBySpeed1 = bits, U32, 1184, [7:7] +radiatorFanStatus1 = scalar, U08, 1188, "", 1, 0 +; total TS size = 1192 +isPrime = bits, U32, 1192, [0:0] +engineTurnedRecently = bits, U32, 1192, [1:1] +isFuelPumpOn = bits, U32, 1192, [2:2] +ignitionOn = bits, U32, 1192, [3:3] +; total TS size = 1196 +isBenchTest = bits, U32, 1196, [0:0] +hasIgnitionVoltage = bits, U32, 1196, [1:1] +mainRelayState = bits, U32, 1196, [2:2] +delayedShutoffRequested = bits, U32, 1196, [3:3] +; total TS size = 1200 +lua_fuelAdd = scalar, F32, 1200, "g", 1, 0 +lua_fuelMult = scalar, F32, 1204, "", 1, 0 +lua_clutchUpState = bits, U32, 1208, [0:0] +lua_brakePedalState = bits, U32, 1208, [1:1] +lua_acRequestState = bits, U32, 1208, [2:2] +lua_luaDisableEtb = bits, U32, 1208, [3:3] +lua_luaIgnCut = bits, U32, 1208, [4:4] +lua_luaFuelCut = bits, U32, 1208, [5:5] +lua_clutchDownState = bits, U32, 1208, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1208, [7:7] +sd_tCharge = scalar, S16, 1212, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1216, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1220, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1224, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1228, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1232, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1236, "", 1, 0 +hellenBoardId = scalar, S16, 1240, "id", 1, 0 +clutchUpState = scalar, S08, 1242, "", 1, 0 +clutchDownState = scalar, S08, 1243, "", 1, 0 +brakePedalState = scalar, S08, 1244, "", 1, 0 +startStopState = scalar, S08, 1245, "", 1, 0 +smartChipState = scalar, S08, 1246, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1247, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1248, "", 1, 0 +startStopPhysicalState = bits, U32, 1252, [0:0] +acrActive = bits, U32, 1252, [1:1] +acrEngineMovedRecently = bits, U32, 1252, [2:2] +heaterControlEnabled = bits, U32, 1252, [3:3] +luaDigitalState0 = bits, U32, 1252, [4:4] +luaDigitalState1 = bits, U32, 1252, [5:5] +luaDigitalState2 = bits, U32, 1252, [6:6] +luaDigitalState3 = bits, U32, 1252, [7:7] +startStopStateToggleCounter = scalar, U32, 1256, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1260, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1264, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1268, "", 1, 0 +desiredRpmLimit = scalar, S16, 1272, "rpm", 1, 0 +fuelInjectionCounter = scalar, U32, 1276, "", 1, 0 +globalSparkCounter = scalar, U32, 1280, "", 1, 0 +fuelingLoad = scalar, F32, 1284, "", 1, 0 +ignitionLoad = scalar, F32, 1288, "", 1, 0 +veTableYAxis = scalar, U16, 1292, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1294, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1295, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1296, "", 1, 0 +; total TS size = 1300 +tpsFrom = scalar, F32, 1300 +tpsTo = scalar, F32, 1304 +deltaTps = scalar, F32, 1308 +extraFuel = scalar, F32, 1312, "", 1, 0 +valueFromTable = scalar, F32, 1316, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1320, [0:0] +isBelowDecelThreshold = bits, U32, 1320, [1:1] +isTimeToResetAccumulator = bits, U32, 1320, [2:2] +isFractionalEnrichment = bits, U32, 1320, [3:3] +belowEpsilon = bits, U32, 1320, [4:4] +tooShort = bits, U32, 1320, [5:5] +fractionalInjFuel = scalar, F32, 1324, "", 1, 0 +accumulatedValue = scalar, F32, 1328, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1332, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1336, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1340, "", 1, 0 +cycleCnt = scalar, S32, 1344, "", 1, 0 +; total TS size = 1348 +hwEventCounters1 = scalar, U32, 1348, "", 1, 0 +hwEventCounters2 = scalar, U32, 1352, "", 1, 0 +hwEventCounters3 = scalar, U32, 1356, "", 1, 0 +hwEventCounters4 = scalar, U32, 1360, "", 1, 0 +hwEventCounters5 = scalar, U32, 1364, "", 1, 0 +hwEventCounters6 = scalar, U32, 1368, "", 1, 0 +vvtCamCounter = scalar, U32, 1372, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1376, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1380, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1384, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1385, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1388, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1392, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1396, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1400, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1404, [0:0] +triggerElapsedUs = scalar, U32, 1408, "", 1, 0 +; total TS size = 1412 +crankSynchronizationCounter0 = scalar, U32, 1412, "", 1, 0 +vvtSyncGapRatio0 = scalar, F32, 1416, "", 1, 0 +vvtToothDurations00 = scalar, U32, 1420, "us", 1, 0 +vvtCurrentPosition0 = scalar, F32, 1424, "sync: Primary Cam Position", 1, 0 +vvtToothPosition10 = scalar, F32, 1428, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition20 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition30 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition40 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio0 = scalar, F32, 1444, "", 1, 0 +triggerStateIndex0 = scalar, U08, 1448, "", 1, 0 +vvtStateIndex0 = scalar, U08, 1449, "", 1, 0 +; total TS size = 1452 +crankSynchronizationCounter1 = scalar, U32, 1452, "", 1, 0 +vvtSyncGapRatio1 = scalar, F32, 1456, "", 1, 0 +vvtToothDurations01 = scalar, U32, 1460, "us", 1, 0 +vvtCurrentPosition1 = scalar, F32, 1464, "sync: Primary Cam Position", 1, 0 +vvtToothPosition11 = scalar, F32, 1468, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition21 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition31 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition41 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio1 = scalar, F32, 1484, "", 1, 0 +triggerStateIndex1 = scalar, U08, 1488, "", 1, 0 +vvtStateIndex1 = scalar, U08, 1489, "", 1, 0 +; total TS size = 1492 +crankSynchronizationCounter2 = scalar, U32, 1492, "", 1, 0 +vvtSyncGapRatio2 = scalar, F32, 1496, "", 1, 0 +vvtToothDurations02 = scalar, U32, 1500, "us", 1, 0 +vvtCurrentPosition2 = scalar, F32, 1504, "sync: Primary Cam Position", 1, 0 +vvtToothPosition12 = scalar, F32, 1508, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition22 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition32 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition42 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio2 = scalar, F32, 1524, "", 1, 0 +triggerStateIndex2 = scalar, U08, 1528, "", 1, 0 +vvtStateIndex2 = scalar, U08, 1529, "", 1, 0 +; total TS size = 1532 +crankSynchronizationCounter3 = scalar, U32, 1532, "", 1, 0 +vvtSyncGapRatio3 = scalar, F32, 1536, "", 1, 0 +vvtToothDurations03 = scalar, U32, 1540, "us", 1, 0 +vvtCurrentPosition3 = scalar, F32, 1544, "sync: Primary Cam Position", 1, 0 +vvtToothPosition13 = scalar, F32, 1548, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition23 = scalar, F32, 1552, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition33 = scalar, F32, 1556, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition43 = scalar, F32, 1560, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio3 = scalar, F32, 1564, "", 1, 0 +triggerStateIndex3 = scalar, U08, 1568, "", 1, 0 +vvtStateIndex3 = scalar, U08, 1569, "", 1, 0 +; total TS size = 1572 +crankSynchronizationCounter4 = scalar, U32, 1572, "", 1, 0 +vvtSyncGapRatio4 = scalar, F32, 1576, "", 1, 0 +vvtToothDurations04 = scalar, U32, 1580, "us", 1, 0 +vvtCurrentPosition4 = scalar, F32, 1584, "sync: Primary Cam Position", 1, 0 +vvtToothPosition14 = scalar, F32, 1588, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition24 = scalar, F32, 1592, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition34 = scalar, F32, 1596, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition44 = scalar, F32, 1600, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio4 = scalar, F32, 1604, "", 1, 0 +triggerStateIndex4 = scalar, U08, 1608, "", 1, 0 +vvtStateIndex4 = scalar, U08, 1609, "", 1, 0 +; total TS size = 1612 +camResyncCounter = scalar, U08, 1612, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1616, [0:0] +; total TS size = 1620 +wallFuelCorrection = scalar, F32, 1620, "", 1, 0 +wallFuel = scalar, F32, 1624, "", 1, 0 +; total TS size = 1628 +idleState = bits, S32, 1628, [0:2], "not important" +currentIdlePosition = scalar, F32, 1632 +baseIdlePosition = scalar, F32, 1636 +idleClosedLoop = scalar, F32, 1640 +iacByTpsTaper = scalar, F32, 1644 +throttlePedalUpState = scalar, S32, 1648, "", 1, 0 +mightResetPid = bits, U32, 1652, [0:0] +shouldResetPid = bits, U32, 1652, [1:1] +wasResetPid = bits, U32, 1652, [2:2] +mustResetPid = bits, U32, 1652, [3:3] +isCranking = bits, U32, 1652, [4:4] +isIacTableForCoasting = bits, U32, 1652, [5:5] +notIdling = bits, U32, 1652, [6:6] +needReset = bits, U32, 1652, [7:7] +isInDeadZone = bits, U32, 1652, [8:8] +isBlipping = bits, U32, 1652, [9:9] +useClosedLoop = bits, U32, 1652, [10:10] +badTps = bits, U32, 1652, [11:11] +looksLikeRunning = bits, U32, 1652, [12:12] +looksLikeCoasting = bits, U32, 1652, [13:13] +looksLikeCrankToIdle = bits, U32, 1652, [14:14] +isIdleCoasting = bits, U32, 1652, [15:15] +isIdleClosedLoop = bits, U32, 1652, [16:16] +idleTarget = scalar, S32, 1656, "", 1, 0 +targetRpmByClt = scalar, S32, 1660, "", 1, 0 +targetRpmAc = scalar, S32, 1664, "", 1, 0 +iacByRpmTaper = scalar, F32, 1668 +luaAdd = scalar, F32, 1672 +; total TS size = 1676 +targetWithIdlePosition0 = scalar, F32, 1676, "per", 1,0 +trim0 = scalar, F32, 1680, "", 1, 0 +luaAdjustment0 = scalar, F32, 1684, "per", 1,0 +m_wastegatePosition0 = scalar, F32, 1688, "per", 1,0 +etbFeedForward0 = scalar, F32, 1692 +etbIntegralError0 = scalar, F32, 1696, "", 1, 0 +etbCurrentTarget0 = scalar, F32, 1700, "%", 1, 0 +etbCurrentAdjustedTarget0 = scalar, F32, 1704, "%", 1, 0 +etbRevLimitActive0 = bits, U32, 1708, [0:0] +jamDetected0 = bits, U32, 1708, [1:1] +etbTpsErrorCounter0 = scalar, U16, 1712, "count", 1,0 +etbPpsErrorCounter0 = scalar, U16, 1714, "count", 1,0 +etbErrorCode0 = scalar, S08, 1716, "", 1, 0 +tcEtbDrop0 = scalar, S08, 1717, "%", 1, 0 +jamTimer0 = scalar, U16, 1718, "sec", 0.01, 0 +adjustedEtbTarget0 = scalar, S08, 1720, "%", 1, 0 +; total TS size = 1724 +targetWithIdlePosition1 = scalar, F32, 1724, "per", 1,0 +trim1 = scalar, F32, 1728, "", 1, 0 +luaAdjustment1 = scalar, F32, 1732, "per", 1,0 +m_wastegatePosition1 = scalar, F32, 1736, "per", 1,0 +etbFeedForward1 = scalar, F32, 1740 +etbIntegralError1 = scalar, F32, 1744, "", 1, 0 +etbCurrentTarget1 = scalar, F32, 1748, "%", 1, 0 +etbCurrentAdjustedTarget1 = scalar, F32, 1752, "%", 1, 0 +etbRevLimitActive1 = bits, U32, 1756, [0:0] +jamDetected1 = bits, U32, 1756, [1:1] +etbTpsErrorCounter1 = scalar, U16, 1760, "count", 1,0 +etbPpsErrorCounter1 = scalar, U16, 1762, "count", 1,0 +etbErrorCode1 = scalar, S08, 1764, "", 1, 0 +tcEtbDrop1 = scalar, S08, 1765, "%", 1, 0 +jamTimer1 = scalar, U16, 1766, "sec", 0.01, 0 +adjustedEtbTarget1 = scalar, S08, 1768, "%", 1, 0 +; total TS size = 1772 +faultCode0 = scalar, U08, 1772, "", 1, 0 +heaterDuty0 = scalar, U08, 1773, "%", 1, 0 +pumpDuty0 = scalar, U08, 1774, "%", 1, 0 +tempC0 = scalar, U16, 1776, "C", 1, 0 +nernstVoltage0 = scalar, U16, 1778, "V", 0.001, 0 +esr0 = scalar, U16, 1780, "ohm", 1, 0 +; total TS size = 1784 +faultCode1 = scalar, U08, 1784, "", 1, 0 +heaterDuty1 = scalar, U08, 1785, "%", 1, 0 +pumpDuty1 = scalar, U08, 1786, "%", 1, 0 +tempC1 = scalar, U16, 1788, "C", 1, 0 +nernstVoltage1 = scalar, U16, 1790, "V", 0.001, 0 +esr1 = scalar, U16, 1792, "ohm", 1, 0 +; total TS size = 1796 +dcOutput0 = scalar, F32, 1796, "per", 1,0 +isEnabled0_int = scalar, U08, 1800, "per", 1,0 +isEnabled0 = bits, U32, 1804, [0:0] +; total TS size = 1808 +value0 = scalar, U16, 1808, "value", 1,0 +value1 = scalar, U16, 1810, "value", 1,0 +errorRate = scalar, F32, 1812, "ratio", 1,0 +; total TS size = 1816 +vvtTarget = scalar, U16, 1816, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1818, "%", 0.5, 0 +; total TS size = 1820 +lambdaCurrentlyGood = bits, U32, 1820, [0:0] +lambdaMonitorCut = bits, U32, 1820, [1:1] +lambdaTimeSinceGood = scalar, U16, 1824, "sec", 0.01, 0 +; total TS size = 1828 time = { timeNow } @@ -3616,6 +3648,7 @@ lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs8 requiresPowerCycle = cylinderBore + requiresPowerCycle = knockFrequency readOnly = warning_message readOnly = device_uid1 @@ -5033,6 +5066,26 @@ gaugeCategory = Knock knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knockSpectrumChannelCylGauge = m_knockSpectrumChannelCyl, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStartGauge = m_knockFrequencyStart, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStepGauge = m_knockFrequencyStep, "Knock Frequency Step", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFuelTrimMultiplier = m_knockFuelTrimMultiplier, "Knock Fuel Trim", "mult", 0, 0, 0, 0, 0, 30, 1, 1 + knockSpectrum1 = m_knockSpectrum1, "Knock Spectrum1", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum2 = m_knockSpectrum2, "knockSpectrum2", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum3 = m_knockSpectrum3, "knockSpectrum3", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum4 = m_knockSpectrum4, "knockSpectrum4", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum5 = m_knockSpectrum5, "knockSpectrum5", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum6 = m_knockSpectrum6, "knockSpectrum6", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum7 = m_knockSpectrum7, "knockSpectrum7", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum8 = m_knockSpectrum8, "knockSpectrum8", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum9 = m_knockSpectrum9, "knockSpectrum9", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum10 = m_knockSpectrum10, "knockSpectrum10", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum11 = m_knockSpectrum11, "knockSpectrum11", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum12 = m_knockSpectrum12, "knockSpectrum12", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum13 = m_knockSpectrum13, "knockSpectrum13", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum14 = m_knockSpectrum14, "knockSpectrum14", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum15 = m_knockSpectrum15, "knockSpectrum15", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum16 = m_knockSpectrum16, "knockSpectrum16", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -5631,6 +5684,26 @@ entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" entry = m_knockCount, "Knock: Count", int, "%d" entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_knockFrequency, "knock: frequency", int, "%d" +entry = m_knockSpectrum1, "Knock: SpectrumData 1", int, "%d" +entry = m_knockSpectrum2, "Knock: SpectrumData 2", int, "%d" +entry = m_knockSpectrum3, "Knock: SpectrumData 3", int, "%d" +entry = m_knockSpectrum4, "Knock: SpectrumData 4", int, "%d" +entry = m_knockSpectrum5, "Knock: SpectrumData 5", int, "%d" +entry = m_knockSpectrum6, "Knock: SpectrumData 6", int, "%d" +entry = m_knockSpectrum7, "Knock: SpectrumData 7", int, "%d" +entry = m_knockSpectrum8, "Knock: SpectrumData 8", int, "%d" +entry = m_knockSpectrum9, "Knock: SpectrumData 9", int, "%d" +entry = m_knockSpectrum10, "Knock: SpectrumData 10", int, "%d" +entry = m_knockSpectrum11, "Knock: SpectrumData 11", int, "%d" +entry = m_knockSpectrum12, "Knock: SpectrumData 12", int, "%d" +entry = m_knockSpectrum13, "Knock: SpectrumData 13", int, "%d" +entry = m_knockSpectrum14, "Knock: SpectrumData 14", int, "%d" +entry = m_knockSpectrum15, "Knock: SpectrumData 15", int, "%d" +entry = m_knockSpectrum16, "Knock: SpectrumData 16", int, "%d" +entry = m_knockSpectrumChannelCyl, "Knock: ChannelAndCylNumber", int, "%d" +entry = m_knockFrequencyStart, "Knock: Start Freq", int, "%d" +entry = m_knockFrequencyStep, "Knock: Step Freq", float, "%.3f" +entry = m_knockFuelTrimMultiplier, "Knock: Fuel trim when knock", float, "%.3f" entry = tcuCurrentGear, "TCU: Current Gear", int, "%d" entry = tcRatio, "TCU: Torque Converter Ratio", float, "%.3f" entry = lastShiftTime, "lastShiftTime", float, "%.3f" @@ -6527,6 +6600,31 @@ dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard graphLine = m_knockFrequency + graphLine = m_knockSpectrum1 + graphLine = m_knockSpectrum2 + liveGraph = knock_controller_6_Graph, "Graph", South + graphLine = m_knockSpectrum3 + graphLine = m_knockSpectrum4 + graphLine = m_knockSpectrum5 + graphLine = m_knockSpectrum6 + liveGraph = knock_controller_7_Graph, "Graph", South + graphLine = m_knockSpectrum7 + graphLine = m_knockSpectrum8 + graphLine = m_knockSpectrum9 + graphLine = m_knockSpectrum10 + liveGraph = knock_controller_8_Graph, "Graph", South + graphLine = m_knockSpectrum11 + graphLine = m_knockSpectrum12 + graphLine = m_knockSpectrum13 + graphLine = m_knockSpectrum14 + liveGraph = knock_controller_9_Graph, "Graph", South + graphLine = m_knockSpectrum15 + graphLine = m_knockSpectrum16 + graphLine = m_knockSpectrumChannelCyl + graphLine = m_knockFrequencyStart + liveGraph = knock_controller_10_Graph, "Graph", South + graphLine = m_knockFrequencyStep + graphLine = m_knockFuelTrimMultiplier indicatorPanel = tcu_controllerIndicatorPanel, 2 indicator = {isShifting}, "isShifting No", "isShifting Yes" @@ -8595,9 +8693,13 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockCfg, "Sense" field = "Enable", enableSoftwareKnock field = "Cylinder Bore", cylinderBore, {enableSoftwareKnock} + field = "Estimated Knock Frequency",knockFrequency, {enableSoftwareKnock} field = "Detection mode", knockDetectionUseDoubleFrequency field = "Detection Window Start",knockDetectionWindowStart, {enableSoftwareKnock} field = "Sampling Duration", knockSamplingDuration, {enableSoftwareKnock} + field = "Enable Knock Spectrogram", enableKnockSpectrogram, {enableSoftwareKnock} + field = "Enable Knock Spectrogram Filter", enableKnockSpectrogramFilter, {enableKnockSpectrogram} + field = "Knock Spectrum Sensitivity", knockSpectrumSensitivity, {enableKnockSpectrogram} field = "" field = "Select the nearest sensor for each cylinder" @@ -8617,6 +8719,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockResponseCfg, "Response" field = knockRetardAggression, knockRetardAggression field = knockRetardReapplyRate, knockRetardReapplyRate + field = knockFuelTrimAggression, knockFuelTrimAggression + field = knockFuelTrimReapplyRate, knockFuelTrimReapplyRate + field = knockFuelTrim, knockFuelTrim + field = knockSuppressMinTps, knockSuppressMinTps dialog = softwareKnockLeft, "" panel = softwareKnockCfg diff --git a/firmware/tunerstudio/generated/rusefi_frankenso_na6.ini b/firmware/tunerstudio/generated/rusefi_frankenso_na6.ini index 4c929584fa..e5cb650b04 100644 --- a/firmware/tunerstudio/generated/rusefi_frankenso_na6.ini +++ b/firmware/tunerstudio/generated/rusefi_frankenso_na6.ini @@ -38,12 +38,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.10.21.frankenso_na6.3496128002" + signature = "rusEFI master.2024.10.21.frankenso_na6.206238973" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.10.21.frankenso_na6.3496128002" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.10.21.frankenso_na6.206238973" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -774,6 +774,7 @@ devBit7 = bits, U32, 1492, [27:27], "false", "true" unusedSkipWasHere = bits, U32, 1492, [28:28], "false", "true" invertExhaustCamVVTSignal = bits, U32, 1492, [29:29], "Rising", "Falling" enableKnockSpectrogram = bits, U32, 1492, [30:30], "false", "true" +enableKnockSpectrogramFilter = bits, U32, 1492, [31:31], "false", "true" afterCrankingIACtaperDuration = scalar, S16, 1496, "cycles", 1, 0, 0, 5000, 0 iacByTpsTaper = scalar, S16, 1498, "percent", 1, 0, 0, 500, 0 unusedAuxSeria = bits, U16, 1500, [0:8], $gpio_list @@ -1394,7 +1395,13 @@ auxLinear4_v1 = scalar, F32, 3880, "volts", 1, 0, 0, 10, 2 auxLinear4_value1 = scalar, F32, 3884, "", 1, 0, -100000, 1000000, 2 auxLinear4_v2 = scalar, F32, 3888, "volts", 1, 0, 0, 10, 2 auxLinear4_value2 = scalar, F32, 3892, "", 1, 0, -100000, 1000000, 2 -unusedOftenChangesDuringFirmwareUpdate = array, U08, 3896, [128], "units", 1, 0, 0, 1, 0 +knockSuppressMinTps = scalar, U08, 3896, "%", 1, 0, 0, 100, 1 +knockFuelTrimAggression = scalar, U08, 3897, "%", 0.1, 0, 0, 20, 1 +knockFuelTrimReapplyRate = scalar, U08, 3898, "deg/s", 0.1, 0, 0, 10, 1 +knockFuelTrim = scalar, U08, 3899, "%", 1, 0, 0, 30, 1 +knockSpectrumSensitivity = scalar, F32, 3900, "sense", 1, 0, 0, 1, 2 +knockFrequency = scalar, F32, 3904, "Hz", 1, 0, 0, 20000, 2 +unusedOftenChangesDuringFirmwareUpdate = array, U08, 3908, [116], "units", 1, 0, 0, 1, 0 postCrankingFactor = array, F32, 4024, [6x6], "mult", 1, 0, 1, 3, 2 postCrankingDurationBins = array, F32, 4168, [6], "count", 1, 0, 0, 1000, 0 postCrankingCLTBins = array, S16, 4192, [6], "C", 1, 0, -100, 250, 0 @@ -2448,6 +2455,11 @@ minimumOilPressureValues = array, U08, 22960, [8], "kPa", 10.0, 0, 0, 1000, 0 minAcPressure = "value of A/C pressure in kPa before that compressor is disengaged" maxAcPressure = "value of A/C pressure in kPa after that compressor is disengaged" minimumOilPressureTimeout = "Delay before cutting fuel due to low oil pressure. Use this to ignore short pressure blips and sensor noise." + knockSuppressMinTps = "Below TPS value all knock suppression will be disabled." + knockFuelTrimAggression = "Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump)," + knockFuelTrimReapplyRate = "After a knock event, reapply fuel at this rate." + knockFuelTrim = "Fuel trim when knock, max 30%" + knockFrequency = "Estimated knock frequency, ignore cylinderBore if this one > 0" etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, open loop component of PID closed loop control" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2560,7 +2572,7 @@ minimumOilPressureValues = array, U08, 22960, [8], "kPa", 10.0, 0, 0, 1000, 0 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1752 + ochBlockSize = 1828 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3101,370 +3113,390 @@ m_knockThreshold = scalar, F32, 960, "", 1, 0 m_knockCount = scalar, U32, 964, "", 1, 0 m_maximumRetard = scalar, F32, 968, "", 1, 0 m_knockFrequency = scalar, U32, 972, "Hz", 1, 0 -; total TS size = 976 -tcuCurrentGear = scalar, S08, 976, "gear", 1, 0 -tcRatio = scalar, U16, 978, "value", 0.01, 0 -lastShiftTime = scalar, F32, 980, "", 1, 0 -tcu_currentRange = scalar, U08, 984, "", 1, 0 -pressureControlDuty = scalar, S08, 985, "%", 1,0 -torqueConverterDuty = scalar, S08, 986, "%", 1,0 -isShifting = bits, U32, 988, [0:0] -; total TS size = 992 -throttleUseWotModel = bits, U32, 992, [0:0] -throttleModelCrossoverAngle = scalar, S16, 996, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1000, "g/s", 1, 0 -; total TS size = 1004 -m_requested_pump = scalar, F32, 1004, "", 1, 0 -fuel_requested_percent = scalar, F32, 1008, "", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1012, "", 1, 0 -noValve = bits, U32, 1016, [0:0] -angleAboveMin = bits, U32, 1016, [1:1] -isHpfpInactive = bits, U32, 1016, [2:2] -m_pressureTarget_kPa = scalar, F32, 1020, "", 1, 0 -nextLobe = scalar, F32, 1024, "", 1, 0 -di_nextStart = scalar, F32, 1028, "v", 1, 0 -; total TS size = 1032 -m_deadtime = scalar, F32, 1032, "ms", 1, 0 -pressureDelta = scalar, F32, 1036, "kPa", 1, 0 -pressureRatio = scalar, F32, 1040, "", 1, 0 -; total TS size = 1044 -retardThresholdRpm = scalar, S32, 1044, "", 1, 0 -launchActivatePinState = bits, U32, 1048, [0:0] -isPreLaunchCondition = bits, U32, 1048, [1:1] -isLaunchCondition = bits, U32, 1048, [2:2] -isSwitchActivated = bits, U32, 1048, [3:3] -isClutchActivated = bits, U32, 1048, [4:4] -isBrakePedalActivated = bits, U32, 1048, [5:5] -isValidInputPin = bits, U32, 1048, [6:6] -activateSwitchCondition = bits, U32, 1048, [7:7] -rpmLaunchCondition = bits, U32, 1048, [8:8] -rpmPreLaunchCondition = bits, U32, 1048, [9:9] -speedCondition = bits, U32, 1048, [10:10] -tpsCondition = bits, U32, 1048, [11:11] +m_knockSpectrum1 = scalar, U32, 976, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 980, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 984, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 988, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1040, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1042, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1044, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1048, "multiplier", 1, 0 ; total TS size = 1052 -isTorqueReductionTriggerPinValid = bits, U32, 1052, [0:0] -torqueReductionTriggerPinState = bits, U32, 1052, [1:1] -isTimeConditionSatisfied = bits, U32, 1052, [2:2] -isRpmConditionSatisfied = bits, U32, 1052, [3:3] -isAppConditionSatisfied = bits, U32, 1052, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1052, [5:5] -; total TS size = 1056 -isAntilagCondition = bits, U32, 1056, [0:0] -ALSMinRPMCondition = bits, U32, 1056, [1:1] -ALSMaxRPMCondition = bits, U32, 1056, [2:2] -ALSMinCLTCondition = bits, U32, 1056, [3:3] -ALSMaxCLTCondition = bits, U32, 1056, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1056, [5:5] -isALSSwitchActivated = bits, U32, 1056, [6:6] -ALSActivatePinState = bits, U32, 1056, [7:7] -ALSSwitchCondition = bits, U32, 1056, [8:8] -ALSTimerCondition = bits, U32, 1056, [9:9] -fuelALSCorrection = scalar, F32, 1060, "", 1, 0 -timingALSCorrection = scalar, S16, 1064, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1066, "deg", 0.01, 0 +tcuCurrentGear = scalar, S08, 1052, "gear", 1, 0 +tcRatio = scalar, U16, 1054, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1056, "", 1, 0 +tcu_currentRange = scalar, U08, 1060, "", 1, 0 +pressureControlDuty = scalar, S08, 1061, "%", 1,0 +torqueConverterDuty = scalar, S08, 1062, "%", 1,0 +isShifting = bits, U32, 1064, [0:0] ; total TS size = 1068 -isTpsInvalid = bits, U32, 1068, [0:0] -m_shouldResetPid = bits, U32, 1068, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1068, [2:2] -isNotClosedLoop = bits, U32, 1068, [3:3] -isZeroRpm = bits, U32, 1068, [4:4] -hasInitBoost = bits, U32, 1068, [5:5] -rpmTooLow = bits, U32, 1068, [6:6] -tpsTooLow = bits, U32, 1068, [7:7] -mapTooLow = bits, U32, 1068, [8:8] -isPlantValid = bits, U32, 1068, [9:9] -isBoostControlled = bits, U32, 1068, [10:10] -luaTargetAdd = scalar, S16, 1072, "v", 0.5,0 -boostOutput = scalar, S16, 1074, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1076, "v", 1,0 -openLoopPart = scalar, F32, 1080, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1084, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1088, "%", 0.5,0 -boostControlTarget = scalar, S16, 1090, "kPa", 0.03333333333333333,0 -; total TS size = 1092 -acButtonState = scalar, S08, 1092, "", 1, 0 -m_acEnabled = bits, U32, 1096, [0:0] -engineTooSlow = bits, U32, 1096, [1:1] -engineTooFast = bits, U32, 1096, [2:2] -noClt = bits, U32, 1096, [3:3] -engineTooHot = bits, U32, 1096, [4:4] -tpsTooHigh = bits, U32, 1096, [5:5] -isDisabledByLua = bits, U32, 1096, [6:6] -acCompressorState = bits, U32, 1096, [7:7] -acPressureTooLow = bits, U32, 1096, [8:8] -acPressureTooHigh = bits, U32, 1096, [9:9] -; total TS size = 1100 -cranking0 = bits, U32, 1100, [0:0] -notRunning0 = bits, U32, 1100, [1:1] -disabledWhileEngineStopped0 = bits, U32, 1100, [2:2] -brokenClt0 = bits, U32, 1100, [3:3] -enabledForAc0 = bits, U32, 1100, [4:4] -hot0 = bits, U32, 1100, [5:5] -cold0 = bits, U32, 1100, [6:6] -disabledBySpeed0 = bits, U32, 1100, [7:7] -radiatorFanStatus0 = scalar, U08, 1104, "", 1, 0 +throttleUseWotModel = bits, U32, 1068, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1072, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1076, "g/s", 1, 0 +; total TS size = 1080 +m_requested_pump = scalar, F32, 1080, "", 1, 0 +fuel_requested_percent = scalar, F32, 1084, "", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1088, "", 1, 0 +noValve = bits, U32, 1092, [0:0] +angleAboveMin = bits, U32, 1092, [1:1] +isHpfpInactive = bits, U32, 1092, [2:2] +m_pressureTarget_kPa = scalar, F32, 1096, "", 1, 0 +nextLobe = scalar, F32, 1100, "", 1, 0 +di_nextStart = scalar, F32, 1104, "v", 1, 0 ; total TS size = 1108 -cranking1 = bits, U32, 1108, [0:0] -notRunning1 = bits, U32, 1108, [1:1] -disabledWhileEngineStopped1 = bits, U32, 1108, [2:2] -brokenClt1 = bits, U32, 1108, [3:3] -enabledForAc1 = bits, U32, 1108, [4:4] -hot1 = bits, U32, 1108, [5:5] -cold1 = bits, U32, 1108, [6:6] -disabledBySpeed1 = bits, U32, 1108, [7:7] -radiatorFanStatus1 = scalar, U08, 1112, "", 1, 0 -; total TS size = 1116 -isPrime = bits, U32, 1116, [0:0] -engineTurnedRecently = bits, U32, 1116, [1:1] -isFuelPumpOn = bits, U32, 1116, [2:2] -ignitionOn = bits, U32, 1116, [3:3] +m_deadtime = scalar, F32, 1108, "ms", 1, 0 +pressureDelta = scalar, F32, 1112, "kPa", 1, 0 +pressureRatio = scalar, F32, 1116, "", 1, 0 ; total TS size = 1120 -isBenchTest = bits, U32, 1120, [0:0] -hasIgnitionVoltage = bits, U32, 1120, [1:1] -mainRelayState = bits, U32, 1120, [2:2] -delayedShutoffRequested = bits, U32, 1120, [3:3] -; total TS size = 1124 -lua_fuelAdd = scalar, F32, 1124, "g", 1, 0 -lua_fuelMult = scalar, F32, 1128, "", 1, 0 -lua_clutchUpState = bits, U32, 1132, [0:0] -lua_brakePedalState = bits, U32, 1132, [1:1] -lua_acRequestState = bits, U32, 1132, [2:2] -lua_luaDisableEtb = bits, U32, 1132, [3:3] -lua_luaIgnCut = bits, U32, 1132, [4:4] -lua_luaFuelCut = bits, U32, 1132, [5:5] -lua_clutchDownState = bits, U32, 1132, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1132, [7:7] -sd_tCharge = scalar, S16, 1136, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1140, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1144, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1148, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1152, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1156, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1160, "", 1, 0 -hellenBoardId = scalar, S16, 1164, "id", 1, 0 -clutchUpState = scalar, S08, 1166, "", 1, 0 -clutchDownState = scalar, S08, 1167, "", 1, 0 -brakePedalState = scalar, S08, 1168, "", 1, 0 -startStopState = scalar, S08, 1169, "", 1, 0 -smartChipState = scalar, S08, 1170, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1171, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1172, "", 1, 0 -startStopPhysicalState = bits, U32, 1176, [0:0] -acrActive = bits, U32, 1176, [1:1] -acrEngineMovedRecently = bits, U32, 1176, [2:2] -heaterControlEnabled = bits, U32, 1176, [3:3] -luaDigitalState0 = bits, U32, 1176, [4:4] -luaDigitalState1 = bits, U32, 1176, [5:5] -luaDigitalState2 = bits, U32, 1176, [6:6] -luaDigitalState3 = bits, U32, 1176, [7:7] -startStopStateToggleCounter = scalar, U32, 1180, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1184, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1188, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1192, "", 1, 0 -desiredRpmLimit = scalar, S16, 1196, "rpm", 1, 0 -fuelInjectionCounter = scalar, U32, 1200, "", 1, 0 -globalSparkCounter = scalar, U32, 1204, "", 1, 0 -fuelingLoad = scalar, F32, 1208, "", 1, 0 -ignitionLoad = scalar, F32, 1212, "", 1, 0 -veTableYAxis = scalar, U16, 1216, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1218, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1219, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1220, "", 1, 0 -; total TS size = 1224 -tpsFrom = scalar, F32, 1224 -tpsTo = scalar, F32, 1228 -deltaTps = scalar, F32, 1232 -extraFuel = scalar, F32, 1236, "", 1, 0 -valueFromTable = scalar, F32, 1240, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1244, [0:0] -isBelowDecelThreshold = bits, U32, 1244, [1:1] -isTimeToResetAccumulator = bits, U32, 1244, [2:2] -isFractionalEnrichment = bits, U32, 1244, [3:3] -belowEpsilon = bits, U32, 1244, [4:4] -tooShort = bits, U32, 1244, [5:5] -fractionalInjFuel = scalar, F32, 1248, "", 1, 0 -accumulatedValue = scalar, F32, 1252, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1256, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1260, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1264, "", 1, 0 -cycleCnt = scalar, S32, 1268, "", 1, 0 -; total TS size = 1272 -hwEventCounters1 = scalar, U32, 1272, "", 1, 0 -hwEventCounters2 = scalar, U32, 1276, "", 1, 0 -hwEventCounters3 = scalar, U32, 1280, "", 1, 0 -hwEventCounters4 = scalar, U32, 1284, "", 1, 0 -hwEventCounters5 = scalar, U32, 1288, "", 1, 0 -hwEventCounters6 = scalar, U32, 1292, "", 1, 0 -vvtCamCounter = scalar, U32, 1296, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1300, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1304, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1308, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1309, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1312, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1316, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1320, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1324, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1328, [0:0] -triggerElapsedUs = scalar, U32, 1332, "", 1, 0 -; total TS size = 1336 -crankSynchronizationCounter0 = scalar, U32, 1336, "", 1, 0 -vvtSyncGapRatio0 = scalar, F32, 1340, "", 1, 0 -vvtToothDurations00 = scalar, U32, 1344, "us", 1, 0 -vvtCurrentPosition0 = scalar, F32, 1348, "sync: Primary Cam Position", 1, 0 -vvtToothPosition10 = scalar, F32, 1352, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition20 = scalar, F32, 1356, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition30 = scalar, F32, 1360, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition40 = scalar, F32, 1364, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio0 = scalar, F32, 1368, "", 1, 0 -triggerStateIndex0 = scalar, U08, 1372, "", 1, 0 -vvtStateIndex0 = scalar, U08, 1373, "", 1, 0 -; total TS size = 1376 -crankSynchronizationCounter1 = scalar, U32, 1376, "", 1, 0 -vvtSyncGapRatio1 = scalar, F32, 1380, "", 1, 0 -vvtToothDurations01 = scalar, U32, 1384, "us", 1, 0 -vvtCurrentPosition1 = scalar, F32, 1388, "sync: Primary Cam Position", 1, 0 -vvtToothPosition11 = scalar, F32, 1392, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition21 = scalar, F32, 1396, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition31 = scalar, F32, 1400, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition41 = scalar, F32, 1404, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio1 = scalar, F32, 1408, "", 1, 0 -triggerStateIndex1 = scalar, U08, 1412, "", 1, 0 -vvtStateIndex1 = scalar, U08, 1413, "", 1, 0 -; total TS size = 1416 -crankSynchronizationCounter2 = scalar, U32, 1416, "", 1, 0 -vvtSyncGapRatio2 = scalar, F32, 1420, "", 1, 0 -vvtToothDurations02 = scalar, U32, 1424, "us", 1, 0 -vvtCurrentPosition2 = scalar, F32, 1428, "sync: Primary Cam Position", 1, 0 -vvtToothPosition12 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition22 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition32 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition42 = scalar, F32, 1444, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio2 = scalar, F32, 1448, "", 1, 0 -triggerStateIndex2 = scalar, U08, 1452, "", 1, 0 -vvtStateIndex2 = scalar, U08, 1453, "", 1, 0 -; total TS size = 1456 -crankSynchronizationCounter3 = scalar, U32, 1456, "", 1, 0 -vvtSyncGapRatio3 = scalar, F32, 1460, "", 1, 0 -vvtToothDurations03 = scalar, U32, 1464, "us", 1, 0 -vvtCurrentPosition3 = scalar, F32, 1468, "sync: Primary Cam Position", 1, 0 -vvtToothPosition13 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition23 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition33 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition43 = scalar, F32, 1484, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio3 = scalar, F32, 1488, "", 1, 0 -triggerStateIndex3 = scalar, U08, 1492, "", 1, 0 -vvtStateIndex3 = scalar, U08, 1493, "", 1, 0 -; total TS size = 1496 -crankSynchronizationCounter4 = scalar, U32, 1496, "", 1, 0 -vvtSyncGapRatio4 = scalar, F32, 1500, "", 1, 0 -vvtToothDurations04 = scalar, U32, 1504, "us", 1, 0 -vvtCurrentPosition4 = scalar, F32, 1508, "sync: Primary Cam Position", 1, 0 -vvtToothPosition14 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition24 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition34 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition44 = scalar, F32, 1524, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio4 = scalar, F32, 1528, "", 1, 0 -triggerStateIndex4 = scalar, U08, 1532, "", 1, 0 -vvtStateIndex4 = scalar, U08, 1533, "", 1, 0 -; total TS size = 1536 -camResyncCounter = scalar, U08, 1536, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1540, [0:0] -; total TS size = 1544 -wallFuelCorrection = scalar, F32, 1544, "", 1, 0 -wallFuel = scalar, F32, 1548, "", 1, 0 -; total TS size = 1552 -idleState = bits, S32, 1552, [0:2], "not important" -currentIdlePosition = scalar, F32, 1556 -baseIdlePosition = scalar, F32, 1560 -idleClosedLoop = scalar, F32, 1564 -iacByTpsTaper = scalar, F32, 1568 -throttlePedalUpState = scalar, S32, 1572, "", 1, 0 -mightResetPid = bits, U32, 1576, [0:0] -shouldResetPid = bits, U32, 1576, [1:1] -wasResetPid = bits, U32, 1576, [2:2] -mustResetPid = bits, U32, 1576, [3:3] -isCranking = bits, U32, 1576, [4:4] -isIacTableForCoasting = bits, U32, 1576, [5:5] -notIdling = bits, U32, 1576, [6:6] -needReset = bits, U32, 1576, [7:7] -isInDeadZone = bits, U32, 1576, [8:8] -isBlipping = bits, U32, 1576, [9:9] -useClosedLoop = bits, U32, 1576, [10:10] -badTps = bits, U32, 1576, [11:11] -looksLikeRunning = bits, U32, 1576, [12:12] -looksLikeCoasting = bits, U32, 1576, [13:13] -looksLikeCrankToIdle = bits, U32, 1576, [14:14] -isIdleCoasting = bits, U32, 1576, [15:15] -isIdleClosedLoop = bits, U32, 1576, [16:16] -idleTarget = scalar, S32, 1580, "", 1, 0 -targetRpmByClt = scalar, S32, 1584, "", 1, 0 -targetRpmAc = scalar, S32, 1588, "", 1, 0 -iacByRpmTaper = scalar, F32, 1592 -luaAdd = scalar, F32, 1596 -; total TS size = 1600 -targetWithIdlePosition0 = scalar, F32, 1600, "per", 1,0 -trim0 = scalar, F32, 1604, "", 1, 0 -luaAdjustment0 = scalar, F32, 1608, "per", 1,0 -m_wastegatePosition0 = scalar, F32, 1612, "per", 1,0 -etbFeedForward0 = scalar, F32, 1616 -etbIntegralError0 = scalar, F32, 1620, "", 1, 0 -etbCurrentTarget0 = scalar, F32, 1624, "%", 1, 0 -etbCurrentAdjustedTarget0 = scalar, F32, 1628, "%", 1, 0 -etbRevLimitActive0 = bits, U32, 1632, [0:0] -jamDetected0 = bits, U32, 1632, [1:1] -etbTpsErrorCounter0 = scalar, U16, 1636, "count", 1,0 -etbPpsErrorCounter0 = scalar, U16, 1638, "count", 1,0 -etbErrorCode0 = scalar, S08, 1640, "", 1, 0 -tcEtbDrop0 = scalar, S08, 1641, "%", 1, 0 -jamTimer0 = scalar, U16, 1642, "sec", 0.01, 0 -adjustedEtbTarget0 = scalar, S08, 1644, "%", 1, 0 -; total TS size = 1648 -targetWithIdlePosition1 = scalar, F32, 1648, "per", 1,0 -trim1 = scalar, F32, 1652, "", 1, 0 -luaAdjustment1 = scalar, F32, 1656, "per", 1,0 -m_wastegatePosition1 = scalar, F32, 1660, "per", 1,0 -etbFeedForward1 = scalar, F32, 1664 -etbIntegralError1 = scalar, F32, 1668, "", 1, 0 -etbCurrentTarget1 = scalar, F32, 1672, "%", 1, 0 -etbCurrentAdjustedTarget1 = scalar, F32, 1676, "%", 1, 0 -etbRevLimitActive1 = bits, U32, 1680, [0:0] -jamDetected1 = bits, U32, 1680, [1:1] -etbTpsErrorCounter1 = scalar, U16, 1684, "count", 1,0 -etbPpsErrorCounter1 = scalar, U16, 1686, "count", 1,0 -etbErrorCode1 = scalar, S08, 1688, "", 1, 0 -tcEtbDrop1 = scalar, S08, 1689, "%", 1, 0 -jamTimer1 = scalar, U16, 1690, "sec", 0.01, 0 -adjustedEtbTarget1 = scalar, S08, 1692, "%", 1, 0 -; total TS size = 1696 -faultCode0 = scalar, U08, 1696, "", 1, 0 -heaterDuty0 = scalar, U08, 1697, "%", 1, 0 -pumpDuty0 = scalar, U08, 1698, "%", 1, 0 -tempC0 = scalar, U16, 1700, "C", 1, 0 -nernstVoltage0 = scalar, U16, 1702, "V", 0.001, 0 -esr0 = scalar, U16, 1704, "ohm", 1, 0 -; total TS size = 1708 -faultCode1 = scalar, U08, 1708, "", 1, 0 -heaterDuty1 = scalar, U08, 1709, "%", 1, 0 -pumpDuty1 = scalar, U08, 1710, "%", 1, 0 -tempC1 = scalar, U16, 1712, "C", 1, 0 -nernstVoltage1 = scalar, U16, 1714, "V", 0.001, 0 -esr1 = scalar, U16, 1716, "ohm", 1, 0 -; total TS size = 1720 -dcOutput0 = scalar, F32, 1720, "per", 1,0 -isEnabled0_int = scalar, U08, 1724, "per", 1,0 -isEnabled0 = bits, U32, 1728, [0:0] -; total TS size = 1732 -value0 = scalar, U16, 1732, "value", 1,0 -value1 = scalar, U16, 1734, "value", 1,0 -errorRate = scalar, F32, 1736, "ratio", 1,0 -; total TS size = 1740 -vvtTarget = scalar, U16, 1740, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1742, "%", 0.5, 0 -; total TS size = 1744 -lambdaCurrentlyGood = bits, U32, 1744, [0:0] -lambdaMonitorCut = bits, U32, 1744, [1:1] -lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 -; total TS size = 1752 +retardThresholdRpm = scalar, S32, 1120, "", 1, 0 +launchActivatePinState = bits, U32, 1124, [0:0] +isPreLaunchCondition = bits, U32, 1124, [1:1] +isLaunchCondition = bits, U32, 1124, [2:2] +isSwitchActivated = bits, U32, 1124, [3:3] +isClutchActivated = bits, U32, 1124, [4:4] +isBrakePedalActivated = bits, U32, 1124, [5:5] +isValidInputPin = bits, U32, 1124, [6:6] +activateSwitchCondition = bits, U32, 1124, [7:7] +rpmLaunchCondition = bits, U32, 1124, [8:8] +rpmPreLaunchCondition = bits, U32, 1124, [9:9] +speedCondition = bits, U32, 1124, [10:10] +tpsCondition = bits, U32, 1124, [11:11] +; total TS size = 1128 +isTorqueReductionTriggerPinValid = bits, U32, 1128, [0:0] +torqueReductionTriggerPinState = bits, U32, 1128, [1:1] +isTimeConditionSatisfied = bits, U32, 1128, [2:2] +isRpmConditionSatisfied = bits, U32, 1128, [3:3] +isAppConditionSatisfied = bits, U32, 1128, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1128, [5:5] +; total TS size = 1132 +isAntilagCondition = bits, U32, 1132, [0:0] +ALSMinRPMCondition = bits, U32, 1132, [1:1] +ALSMaxRPMCondition = bits, U32, 1132, [2:2] +ALSMinCLTCondition = bits, U32, 1132, [3:3] +ALSMaxCLTCondition = bits, U32, 1132, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1132, [5:5] +isALSSwitchActivated = bits, U32, 1132, [6:6] +ALSActivatePinState = bits, U32, 1132, [7:7] +ALSSwitchCondition = bits, U32, 1132, [8:8] +ALSTimerCondition = bits, U32, 1132, [9:9] +fuelALSCorrection = scalar, F32, 1136, "", 1, 0 +timingALSCorrection = scalar, S16, 1140, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1142, "deg", 0.01, 0 +; total TS size = 1144 +isTpsInvalid = bits, U32, 1144, [0:0] +m_shouldResetPid = bits, U32, 1144, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1144, [2:2] +isNotClosedLoop = bits, U32, 1144, [3:3] +isZeroRpm = bits, U32, 1144, [4:4] +hasInitBoost = bits, U32, 1144, [5:5] +rpmTooLow = bits, U32, 1144, [6:6] +tpsTooLow = bits, U32, 1144, [7:7] +mapTooLow = bits, U32, 1144, [8:8] +isPlantValid = bits, U32, 1144, [9:9] +isBoostControlled = bits, U32, 1144, [10:10] +luaTargetAdd = scalar, S16, 1148, "v", 0.5,0 +boostOutput = scalar, S16, 1150, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1152, "v", 1,0 +openLoopPart = scalar, F32, 1156, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1160, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1164, "%", 0.5,0 +boostControlTarget = scalar, S16, 1166, "kPa", 0.03333333333333333,0 +; total TS size = 1168 +acButtonState = scalar, S08, 1168, "", 1, 0 +m_acEnabled = bits, U32, 1172, [0:0] +engineTooSlow = bits, U32, 1172, [1:1] +engineTooFast = bits, U32, 1172, [2:2] +noClt = bits, U32, 1172, [3:3] +engineTooHot = bits, U32, 1172, [4:4] +tpsTooHigh = bits, U32, 1172, [5:5] +isDisabledByLua = bits, U32, 1172, [6:6] +acCompressorState = bits, U32, 1172, [7:7] +acPressureTooLow = bits, U32, 1172, [8:8] +acPressureTooHigh = bits, U32, 1172, [9:9] +; total TS size = 1176 +cranking0 = bits, U32, 1176, [0:0] +notRunning0 = bits, U32, 1176, [1:1] +disabledWhileEngineStopped0 = bits, U32, 1176, [2:2] +brokenClt0 = bits, U32, 1176, [3:3] +enabledForAc0 = bits, U32, 1176, [4:4] +hot0 = bits, U32, 1176, [5:5] +cold0 = bits, U32, 1176, [6:6] +disabledBySpeed0 = bits, U32, 1176, [7:7] +radiatorFanStatus0 = scalar, U08, 1180, "", 1, 0 +; total TS size = 1184 +cranking1 = bits, U32, 1184, [0:0] +notRunning1 = bits, U32, 1184, [1:1] +disabledWhileEngineStopped1 = bits, U32, 1184, [2:2] +brokenClt1 = bits, U32, 1184, [3:3] +enabledForAc1 = bits, U32, 1184, [4:4] +hot1 = bits, U32, 1184, [5:5] +cold1 = bits, U32, 1184, [6:6] +disabledBySpeed1 = bits, U32, 1184, [7:7] +radiatorFanStatus1 = scalar, U08, 1188, "", 1, 0 +; total TS size = 1192 +isPrime = bits, U32, 1192, [0:0] +engineTurnedRecently = bits, U32, 1192, [1:1] +isFuelPumpOn = bits, U32, 1192, [2:2] +ignitionOn = bits, U32, 1192, [3:3] +; total TS size = 1196 +isBenchTest = bits, U32, 1196, [0:0] +hasIgnitionVoltage = bits, U32, 1196, [1:1] +mainRelayState = bits, U32, 1196, [2:2] +delayedShutoffRequested = bits, U32, 1196, [3:3] +; total TS size = 1200 +lua_fuelAdd = scalar, F32, 1200, "g", 1, 0 +lua_fuelMult = scalar, F32, 1204, "", 1, 0 +lua_clutchUpState = bits, U32, 1208, [0:0] +lua_brakePedalState = bits, U32, 1208, [1:1] +lua_acRequestState = bits, U32, 1208, [2:2] +lua_luaDisableEtb = bits, U32, 1208, [3:3] +lua_luaIgnCut = bits, U32, 1208, [4:4] +lua_luaFuelCut = bits, U32, 1208, [5:5] +lua_clutchDownState = bits, U32, 1208, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1208, [7:7] +sd_tCharge = scalar, S16, 1212, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1216, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1220, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1224, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1228, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1232, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1236, "", 1, 0 +hellenBoardId = scalar, S16, 1240, "id", 1, 0 +clutchUpState = scalar, S08, 1242, "", 1, 0 +clutchDownState = scalar, S08, 1243, "", 1, 0 +brakePedalState = scalar, S08, 1244, "", 1, 0 +startStopState = scalar, S08, 1245, "", 1, 0 +smartChipState = scalar, S08, 1246, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1247, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1248, "", 1, 0 +startStopPhysicalState = bits, U32, 1252, [0:0] +acrActive = bits, U32, 1252, [1:1] +acrEngineMovedRecently = bits, U32, 1252, [2:2] +heaterControlEnabled = bits, U32, 1252, [3:3] +luaDigitalState0 = bits, U32, 1252, [4:4] +luaDigitalState1 = bits, U32, 1252, [5:5] +luaDigitalState2 = bits, U32, 1252, [6:6] +luaDigitalState3 = bits, U32, 1252, [7:7] +startStopStateToggleCounter = scalar, U32, 1256, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1260, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1264, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1268, "", 1, 0 +desiredRpmLimit = scalar, S16, 1272, "rpm", 1, 0 +fuelInjectionCounter = scalar, U32, 1276, "", 1, 0 +globalSparkCounter = scalar, U32, 1280, "", 1, 0 +fuelingLoad = scalar, F32, 1284, "", 1, 0 +ignitionLoad = scalar, F32, 1288, "", 1, 0 +veTableYAxis = scalar, U16, 1292, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1294, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1295, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1296, "", 1, 0 +; total TS size = 1300 +tpsFrom = scalar, F32, 1300 +tpsTo = scalar, F32, 1304 +deltaTps = scalar, F32, 1308 +extraFuel = scalar, F32, 1312, "", 1, 0 +valueFromTable = scalar, F32, 1316, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1320, [0:0] +isBelowDecelThreshold = bits, U32, 1320, [1:1] +isTimeToResetAccumulator = bits, U32, 1320, [2:2] +isFractionalEnrichment = bits, U32, 1320, [3:3] +belowEpsilon = bits, U32, 1320, [4:4] +tooShort = bits, U32, 1320, [5:5] +fractionalInjFuel = scalar, F32, 1324, "", 1, 0 +accumulatedValue = scalar, F32, 1328, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1332, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1336, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1340, "", 1, 0 +cycleCnt = scalar, S32, 1344, "", 1, 0 +; total TS size = 1348 +hwEventCounters1 = scalar, U32, 1348, "", 1, 0 +hwEventCounters2 = scalar, U32, 1352, "", 1, 0 +hwEventCounters3 = scalar, U32, 1356, "", 1, 0 +hwEventCounters4 = scalar, U32, 1360, "", 1, 0 +hwEventCounters5 = scalar, U32, 1364, "", 1, 0 +hwEventCounters6 = scalar, U32, 1368, "", 1, 0 +vvtCamCounter = scalar, U32, 1372, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1376, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1380, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1384, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1385, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1388, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1392, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1396, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1400, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1404, [0:0] +triggerElapsedUs = scalar, U32, 1408, "", 1, 0 +; total TS size = 1412 +crankSynchronizationCounter0 = scalar, U32, 1412, "", 1, 0 +vvtSyncGapRatio0 = scalar, F32, 1416, "", 1, 0 +vvtToothDurations00 = scalar, U32, 1420, "us", 1, 0 +vvtCurrentPosition0 = scalar, F32, 1424, "sync: Primary Cam Position", 1, 0 +vvtToothPosition10 = scalar, F32, 1428, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition20 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition30 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition40 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio0 = scalar, F32, 1444, "", 1, 0 +triggerStateIndex0 = scalar, U08, 1448, "", 1, 0 +vvtStateIndex0 = scalar, U08, 1449, "", 1, 0 +; total TS size = 1452 +crankSynchronizationCounter1 = scalar, U32, 1452, "", 1, 0 +vvtSyncGapRatio1 = scalar, F32, 1456, "", 1, 0 +vvtToothDurations01 = scalar, U32, 1460, "us", 1, 0 +vvtCurrentPosition1 = scalar, F32, 1464, "sync: Primary Cam Position", 1, 0 +vvtToothPosition11 = scalar, F32, 1468, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition21 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition31 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition41 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio1 = scalar, F32, 1484, "", 1, 0 +triggerStateIndex1 = scalar, U08, 1488, "", 1, 0 +vvtStateIndex1 = scalar, U08, 1489, "", 1, 0 +; total TS size = 1492 +crankSynchronizationCounter2 = scalar, U32, 1492, "", 1, 0 +vvtSyncGapRatio2 = scalar, F32, 1496, "", 1, 0 +vvtToothDurations02 = scalar, U32, 1500, "us", 1, 0 +vvtCurrentPosition2 = scalar, F32, 1504, "sync: Primary Cam Position", 1, 0 +vvtToothPosition12 = scalar, F32, 1508, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition22 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition32 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition42 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio2 = scalar, F32, 1524, "", 1, 0 +triggerStateIndex2 = scalar, U08, 1528, "", 1, 0 +vvtStateIndex2 = scalar, U08, 1529, "", 1, 0 +; total TS size = 1532 +crankSynchronizationCounter3 = scalar, U32, 1532, "", 1, 0 +vvtSyncGapRatio3 = scalar, F32, 1536, "", 1, 0 +vvtToothDurations03 = scalar, U32, 1540, "us", 1, 0 +vvtCurrentPosition3 = scalar, F32, 1544, "sync: Primary Cam Position", 1, 0 +vvtToothPosition13 = scalar, F32, 1548, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition23 = scalar, F32, 1552, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition33 = scalar, F32, 1556, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition43 = scalar, F32, 1560, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio3 = scalar, F32, 1564, "", 1, 0 +triggerStateIndex3 = scalar, U08, 1568, "", 1, 0 +vvtStateIndex3 = scalar, U08, 1569, "", 1, 0 +; total TS size = 1572 +crankSynchronizationCounter4 = scalar, U32, 1572, "", 1, 0 +vvtSyncGapRatio4 = scalar, F32, 1576, "", 1, 0 +vvtToothDurations04 = scalar, U32, 1580, "us", 1, 0 +vvtCurrentPosition4 = scalar, F32, 1584, "sync: Primary Cam Position", 1, 0 +vvtToothPosition14 = scalar, F32, 1588, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition24 = scalar, F32, 1592, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition34 = scalar, F32, 1596, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition44 = scalar, F32, 1600, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio4 = scalar, F32, 1604, "", 1, 0 +triggerStateIndex4 = scalar, U08, 1608, "", 1, 0 +vvtStateIndex4 = scalar, U08, 1609, "", 1, 0 +; total TS size = 1612 +camResyncCounter = scalar, U08, 1612, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1616, [0:0] +; total TS size = 1620 +wallFuelCorrection = scalar, F32, 1620, "", 1, 0 +wallFuel = scalar, F32, 1624, "", 1, 0 +; total TS size = 1628 +idleState = bits, S32, 1628, [0:2], "not important" +currentIdlePosition = scalar, F32, 1632 +baseIdlePosition = scalar, F32, 1636 +idleClosedLoop = scalar, F32, 1640 +iacByTpsTaper = scalar, F32, 1644 +throttlePedalUpState = scalar, S32, 1648, "", 1, 0 +mightResetPid = bits, U32, 1652, [0:0] +shouldResetPid = bits, U32, 1652, [1:1] +wasResetPid = bits, U32, 1652, [2:2] +mustResetPid = bits, U32, 1652, [3:3] +isCranking = bits, U32, 1652, [4:4] +isIacTableForCoasting = bits, U32, 1652, [5:5] +notIdling = bits, U32, 1652, [6:6] +needReset = bits, U32, 1652, [7:7] +isInDeadZone = bits, U32, 1652, [8:8] +isBlipping = bits, U32, 1652, [9:9] +useClosedLoop = bits, U32, 1652, [10:10] +badTps = bits, U32, 1652, [11:11] +looksLikeRunning = bits, U32, 1652, [12:12] +looksLikeCoasting = bits, U32, 1652, [13:13] +looksLikeCrankToIdle = bits, U32, 1652, [14:14] +isIdleCoasting = bits, U32, 1652, [15:15] +isIdleClosedLoop = bits, U32, 1652, [16:16] +idleTarget = scalar, S32, 1656, "", 1, 0 +targetRpmByClt = scalar, S32, 1660, "", 1, 0 +targetRpmAc = scalar, S32, 1664, "", 1, 0 +iacByRpmTaper = scalar, F32, 1668 +luaAdd = scalar, F32, 1672 +; total TS size = 1676 +targetWithIdlePosition0 = scalar, F32, 1676, "per", 1,0 +trim0 = scalar, F32, 1680, "", 1, 0 +luaAdjustment0 = scalar, F32, 1684, "per", 1,0 +m_wastegatePosition0 = scalar, F32, 1688, "per", 1,0 +etbFeedForward0 = scalar, F32, 1692 +etbIntegralError0 = scalar, F32, 1696, "", 1, 0 +etbCurrentTarget0 = scalar, F32, 1700, "%", 1, 0 +etbCurrentAdjustedTarget0 = scalar, F32, 1704, "%", 1, 0 +etbRevLimitActive0 = bits, U32, 1708, [0:0] +jamDetected0 = bits, U32, 1708, [1:1] +etbTpsErrorCounter0 = scalar, U16, 1712, "count", 1,0 +etbPpsErrorCounter0 = scalar, U16, 1714, "count", 1,0 +etbErrorCode0 = scalar, S08, 1716, "", 1, 0 +tcEtbDrop0 = scalar, S08, 1717, "%", 1, 0 +jamTimer0 = scalar, U16, 1718, "sec", 0.01, 0 +adjustedEtbTarget0 = scalar, S08, 1720, "%", 1, 0 +; total TS size = 1724 +targetWithIdlePosition1 = scalar, F32, 1724, "per", 1,0 +trim1 = scalar, F32, 1728, "", 1, 0 +luaAdjustment1 = scalar, F32, 1732, "per", 1,0 +m_wastegatePosition1 = scalar, F32, 1736, "per", 1,0 +etbFeedForward1 = scalar, F32, 1740 +etbIntegralError1 = scalar, F32, 1744, "", 1, 0 +etbCurrentTarget1 = scalar, F32, 1748, "%", 1, 0 +etbCurrentAdjustedTarget1 = scalar, F32, 1752, "%", 1, 0 +etbRevLimitActive1 = bits, U32, 1756, [0:0] +jamDetected1 = bits, U32, 1756, [1:1] +etbTpsErrorCounter1 = scalar, U16, 1760, "count", 1,0 +etbPpsErrorCounter1 = scalar, U16, 1762, "count", 1,0 +etbErrorCode1 = scalar, S08, 1764, "", 1, 0 +tcEtbDrop1 = scalar, S08, 1765, "%", 1, 0 +jamTimer1 = scalar, U16, 1766, "sec", 0.01, 0 +adjustedEtbTarget1 = scalar, S08, 1768, "%", 1, 0 +; total TS size = 1772 +faultCode0 = scalar, U08, 1772, "", 1, 0 +heaterDuty0 = scalar, U08, 1773, "%", 1, 0 +pumpDuty0 = scalar, U08, 1774, "%", 1, 0 +tempC0 = scalar, U16, 1776, "C", 1, 0 +nernstVoltage0 = scalar, U16, 1778, "V", 0.001, 0 +esr0 = scalar, U16, 1780, "ohm", 1, 0 +; total TS size = 1784 +faultCode1 = scalar, U08, 1784, "", 1, 0 +heaterDuty1 = scalar, U08, 1785, "%", 1, 0 +pumpDuty1 = scalar, U08, 1786, "%", 1, 0 +tempC1 = scalar, U16, 1788, "C", 1, 0 +nernstVoltage1 = scalar, U16, 1790, "V", 0.001, 0 +esr1 = scalar, U16, 1792, "ohm", 1, 0 +; total TS size = 1796 +dcOutput0 = scalar, F32, 1796, "per", 1,0 +isEnabled0_int = scalar, U08, 1800, "per", 1,0 +isEnabled0 = bits, U32, 1804, [0:0] +; total TS size = 1808 +value0 = scalar, U16, 1808, "value", 1,0 +value1 = scalar, U16, 1810, "value", 1,0 +errorRate = scalar, F32, 1812, "ratio", 1,0 +; total TS size = 1816 +vvtTarget = scalar, U16, 1816, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1818, "%", 0.5, 0 +; total TS size = 1820 +lambdaCurrentlyGood = bits, U32, 1820, [0:0] +lambdaMonitorCut = bits, U32, 1820, [1:1] +lambdaTimeSinceGood = scalar, U16, 1824, "sec", 0.01, 0 +; total TS size = 1828 time = { timeNow } @@ -3616,6 +3648,7 @@ lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs8 requiresPowerCycle = cylinderBore + requiresPowerCycle = knockFrequency readOnly = warning_message readOnly = device_uid1 @@ -5033,6 +5066,26 @@ gaugeCategory = Knock knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knockSpectrumChannelCylGauge = m_knockSpectrumChannelCyl, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStartGauge = m_knockFrequencyStart, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStepGauge = m_knockFrequencyStep, "Knock Frequency Step", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFuelTrimMultiplier = m_knockFuelTrimMultiplier, "Knock Fuel Trim", "mult", 0, 0, 0, 0, 0, 30, 1, 1 + knockSpectrum1 = m_knockSpectrum1, "Knock Spectrum1", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum2 = m_knockSpectrum2, "knockSpectrum2", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum3 = m_knockSpectrum3, "knockSpectrum3", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum4 = m_knockSpectrum4, "knockSpectrum4", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum5 = m_knockSpectrum5, "knockSpectrum5", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum6 = m_knockSpectrum6, "knockSpectrum6", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum7 = m_knockSpectrum7, "knockSpectrum7", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum8 = m_knockSpectrum8, "knockSpectrum8", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum9 = m_knockSpectrum9, "knockSpectrum9", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum10 = m_knockSpectrum10, "knockSpectrum10", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum11 = m_knockSpectrum11, "knockSpectrum11", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum12 = m_knockSpectrum12, "knockSpectrum12", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum13 = m_knockSpectrum13, "knockSpectrum13", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum14 = m_knockSpectrum14, "knockSpectrum14", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum15 = m_knockSpectrum15, "knockSpectrum15", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum16 = m_knockSpectrum16, "knockSpectrum16", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -5631,6 +5684,26 @@ entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" entry = m_knockCount, "Knock: Count", int, "%d" entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_knockFrequency, "knock: frequency", int, "%d" +entry = m_knockSpectrum1, "Knock: SpectrumData 1", int, "%d" +entry = m_knockSpectrum2, "Knock: SpectrumData 2", int, "%d" +entry = m_knockSpectrum3, "Knock: SpectrumData 3", int, "%d" +entry = m_knockSpectrum4, "Knock: SpectrumData 4", int, "%d" +entry = m_knockSpectrum5, "Knock: SpectrumData 5", int, "%d" +entry = m_knockSpectrum6, "Knock: SpectrumData 6", int, "%d" +entry = m_knockSpectrum7, "Knock: SpectrumData 7", int, "%d" +entry = m_knockSpectrum8, "Knock: SpectrumData 8", int, "%d" +entry = m_knockSpectrum9, "Knock: SpectrumData 9", int, "%d" +entry = m_knockSpectrum10, "Knock: SpectrumData 10", int, "%d" +entry = m_knockSpectrum11, "Knock: SpectrumData 11", int, "%d" +entry = m_knockSpectrum12, "Knock: SpectrumData 12", int, "%d" +entry = m_knockSpectrum13, "Knock: SpectrumData 13", int, "%d" +entry = m_knockSpectrum14, "Knock: SpectrumData 14", int, "%d" +entry = m_knockSpectrum15, "Knock: SpectrumData 15", int, "%d" +entry = m_knockSpectrum16, "Knock: SpectrumData 16", int, "%d" +entry = m_knockSpectrumChannelCyl, "Knock: ChannelAndCylNumber", int, "%d" +entry = m_knockFrequencyStart, "Knock: Start Freq", int, "%d" +entry = m_knockFrequencyStep, "Knock: Step Freq", float, "%.3f" +entry = m_knockFuelTrimMultiplier, "Knock: Fuel trim when knock", float, "%.3f" entry = tcuCurrentGear, "TCU: Current Gear", int, "%d" entry = tcRatio, "TCU: Torque Converter Ratio", float, "%.3f" entry = lastShiftTime, "lastShiftTime", float, "%.3f" @@ -6527,6 +6600,31 @@ dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard graphLine = m_knockFrequency + graphLine = m_knockSpectrum1 + graphLine = m_knockSpectrum2 + liveGraph = knock_controller_6_Graph, "Graph", South + graphLine = m_knockSpectrum3 + graphLine = m_knockSpectrum4 + graphLine = m_knockSpectrum5 + graphLine = m_knockSpectrum6 + liveGraph = knock_controller_7_Graph, "Graph", South + graphLine = m_knockSpectrum7 + graphLine = m_knockSpectrum8 + graphLine = m_knockSpectrum9 + graphLine = m_knockSpectrum10 + liveGraph = knock_controller_8_Graph, "Graph", South + graphLine = m_knockSpectrum11 + graphLine = m_knockSpectrum12 + graphLine = m_knockSpectrum13 + graphLine = m_knockSpectrum14 + liveGraph = knock_controller_9_Graph, "Graph", South + graphLine = m_knockSpectrum15 + graphLine = m_knockSpectrum16 + graphLine = m_knockSpectrumChannelCyl + graphLine = m_knockFrequencyStart + liveGraph = knock_controller_10_Graph, "Graph", South + graphLine = m_knockFrequencyStep + graphLine = m_knockFuelTrimMultiplier indicatorPanel = tcu_controllerIndicatorPanel, 2 indicator = {isShifting}, "isShifting No", "isShifting Yes" @@ -8595,9 +8693,13 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockCfg, "Sense" field = "Enable", enableSoftwareKnock field = "Cylinder Bore", cylinderBore, {enableSoftwareKnock} + field = "Estimated Knock Frequency",knockFrequency, {enableSoftwareKnock} field = "Detection mode", knockDetectionUseDoubleFrequency field = "Detection Window Start",knockDetectionWindowStart, {enableSoftwareKnock} field = "Sampling Duration", knockSamplingDuration, {enableSoftwareKnock} + field = "Enable Knock Spectrogram", enableKnockSpectrogram, {enableSoftwareKnock} + field = "Enable Knock Spectrogram Filter", enableKnockSpectrogramFilter, {enableKnockSpectrogram} + field = "Knock Spectrum Sensitivity", knockSpectrumSensitivity, {enableKnockSpectrogram} field = "" field = "Select the nearest sensor for each cylinder" @@ -8617,6 +8719,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockResponseCfg, "Response" field = knockRetardAggression, knockRetardAggression field = knockRetardReapplyRate, knockRetardReapplyRate + field = knockFuelTrimAggression, knockFuelTrimAggression + field = knockFuelTrimReapplyRate, knockFuelTrimReapplyRate + field = knockFuelTrim, knockFuelTrim + field = knockSuppressMinTps, knockSuppressMinTps dialog = softwareKnockLeft, "" panel = softwareKnockCfg diff --git a/firmware/tunerstudio/generated/rusefi_haba208.ini b/firmware/tunerstudio/generated/rusefi_haba208.ini index 5098689bf7..0c60507e61 100644 --- a/firmware/tunerstudio/generated/rusefi_haba208.ini +++ b/firmware/tunerstudio/generated/rusefi_haba208.ini @@ -38,12 +38,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.10.21.haba208.2262948377" + signature = "rusEFI master.2024.10.21.haba208.1523155174" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.10.21.haba208.2262948377" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.10.21.haba208.1523155174" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -774,6 +774,7 @@ devBit7 = bits, U32, 1492, [27:27], "false", "true" unusedSkipWasHere = bits, U32, 1492, [28:28], "false", "true" invertExhaustCamVVTSignal = bits, U32, 1492, [29:29], "Rising", "Falling" enableKnockSpectrogram = bits, U32, 1492, [30:30], "false", "true" +enableKnockSpectrogramFilter = bits, U32, 1492, [31:31], "false", "true" afterCrankingIACtaperDuration = scalar, S16, 1496, "cycles", 1, 0, 0, 5000, 0 iacByTpsTaper = scalar, S16, 1498, "percent", 1, 0, 0, 500, 0 unusedAuxSeria = bits, U16, 1500, [0:8], $gpio_list @@ -1394,7 +1395,13 @@ auxLinear4_v1 = scalar, F32, 3880, "volts", 1, 0, 0, 10, 2 auxLinear4_value1 = scalar, F32, 3884, "", 1, 0, -100000, 1000000, 2 auxLinear4_v2 = scalar, F32, 3888, "volts", 1, 0, 0, 10, 2 auxLinear4_value2 = scalar, F32, 3892, "", 1, 0, -100000, 1000000, 2 -unusedOftenChangesDuringFirmwareUpdate = array, U08, 3896, [128], "units", 1, 0, 0, 1, 0 +knockSuppressMinTps = scalar, U08, 3896, "%", 1, 0, 0, 100, 1 +knockFuelTrimAggression = scalar, U08, 3897, "%", 0.1, 0, 0, 20, 1 +knockFuelTrimReapplyRate = scalar, U08, 3898, "deg/s", 0.1, 0, 0, 10, 1 +knockFuelTrim = scalar, U08, 3899, "%", 1, 0, 0, 30, 1 +knockSpectrumSensitivity = scalar, F32, 3900, "sense", 1, 0, 0, 1, 2 +knockFrequency = scalar, F32, 3904, "Hz", 1, 0, 0, 20000, 2 +unusedOftenChangesDuringFirmwareUpdate = array, U08, 3908, [116], "units", 1, 0, 0, 1, 0 postCrankingFactor = array, F32, 4024, [6x6], "mult", 1, 0, 1, 3, 2 postCrankingDurationBins = array, F32, 4168, [6], "count", 1, 0, 0, 1000, 0 postCrankingCLTBins = array, S16, 4192, [6], "C", 1, 0, -100, 250, 0 @@ -2448,6 +2455,11 @@ minimumOilPressureValues = array, U08, 22960, [8], "kPa", 10.0, 0, 0, 1000, 0 minAcPressure = "value of A/C pressure in kPa before that compressor is disengaged" maxAcPressure = "value of A/C pressure in kPa after that compressor is disengaged" minimumOilPressureTimeout = "Delay before cutting fuel due to low oil pressure. Use this to ignore short pressure blips and sensor noise." + knockSuppressMinTps = "Below TPS value all knock suppression will be disabled." + knockFuelTrimAggression = "Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump)," + knockFuelTrimReapplyRate = "After a knock event, reapply fuel at this rate." + knockFuelTrim = "Fuel trim when knock, max 30%" + knockFrequency = "Estimated knock frequency, ignore cylinderBore if this one > 0" etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, open loop component of PID closed loop control" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2560,7 +2572,7 @@ minimumOilPressureValues = array, U08, 22960, [8], "kPa", 10.0, 0, 0, 1000, 0 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1752 + ochBlockSize = 1828 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3101,370 +3113,390 @@ m_knockThreshold = scalar, F32, 960, "", 1, 0 m_knockCount = scalar, U32, 964, "", 1, 0 m_maximumRetard = scalar, F32, 968, "", 1, 0 m_knockFrequency = scalar, U32, 972, "Hz", 1, 0 -; total TS size = 976 -tcuCurrentGear = scalar, S08, 976, "gear", 1, 0 -tcRatio = scalar, U16, 978, "value", 0.01, 0 -lastShiftTime = scalar, F32, 980, "", 1, 0 -tcu_currentRange = scalar, U08, 984, "", 1, 0 -pressureControlDuty = scalar, S08, 985, "%", 1,0 -torqueConverterDuty = scalar, S08, 986, "%", 1,0 -isShifting = bits, U32, 988, [0:0] -; total TS size = 992 -throttleUseWotModel = bits, U32, 992, [0:0] -throttleModelCrossoverAngle = scalar, S16, 996, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1000, "g/s", 1, 0 -; total TS size = 1004 -m_requested_pump = scalar, F32, 1004, "", 1, 0 -fuel_requested_percent = scalar, F32, 1008, "", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1012, "", 1, 0 -noValve = bits, U32, 1016, [0:0] -angleAboveMin = bits, U32, 1016, [1:1] -isHpfpInactive = bits, U32, 1016, [2:2] -m_pressureTarget_kPa = scalar, F32, 1020, "", 1, 0 -nextLobe = scalar, F32, 1024, "", 1, 0 -di_nextStart = scalar, F32, 1028, "v", 1, 0 -; total TS size = 1032 -m_deadtime = scalar, F32, 1032, "ms", 1, 0 -pressureDelta = scalar, F32, 1036, "kPa", 1, 0 -pressureRatio = scalar, F32, 1040, "", 1, 0 -; total TS size = 1044 -retardThresholdRpm = scalar, S32, 1044, "", 1, 0 -launchActivatePinState = bits, U32, 1048, [0:0] -isPreLaunchCondition = bits, U32, 1048, [1:1] -isLaunchCondition = bits, U32, 1048, [2:2] -isSwitchActivated = bits, U32, 1048, [3:3] -isClutchActivated = bits, U32, 1048, [4:4] -isBrakePedalActivated = bits, U32, 1048, [5:5] -isValidInputPin = bits, U32, 1048, [6:6] -activateSwitchCondition = bits, U32, 1048, [7:7] -rpmLaunchCondition = bits, U32, 1048, [8:8] -rpmPreLaunchCondition = bits, U32, 1048, [9:9] -speedCondition = bits, U32, 1048, [10:10] -tpsCondition = bits, U32, 1048, [11:11] +m_knockSpectrum1 = scalar, U32, 976, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 980, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 984, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 988, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1040, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1042, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1044, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1048, "multiplier", 1, 0 ; total TS size = 1052 -isTorqueReductionTriggerPinValid = bits, U32, 1052, [0:0] -torqueReductionTriggerPinState = bits, U32, 1052, [1:1] -isTimeConditionSatisfied = bits, U32, 1052, [2:2] -isRpmConditionSatisfied = bits, U32, 1052, [3:3] -isAppConditionSatisfied = bits, U32, 1052, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1052, [5:5] -; total TS size = 1056 -isAntilagCondition = bits, U32, 1056, [0:0] -ALSMinRPMCondition = bits, U32, 1056, [1:1] -ALSMaxRPMCondition = bits, U32, 1056, [2:2] -ALSMinCLTCondition = bits, U32, 1056, [3:3] -ALSMaxCLTCondition = bits, U32, 1056, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1056, [5:5] -isALSSwitchActivated = bits, U32, 1056, [6:6] -ALSActivatePinState = bits, U32, 1056, [7:7] -ALSSwitchCondition = bits, U32, 1056, [8:8] -ALSTimerCondition = bits, U32, 1056, [9:9] -fuelALSCorrection = scalar, F32, 1060, "", 1, 0 -timingALSCorrection = scalar, S16, 1064, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1066, "deg", 0.01, 0 +tcuCurrentGear = scalar, S08, 1052, "gear", 1, 0 +tcRatio = scalar, U16, 1054, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1056, "", 1, 0 +tcu_currentRange = scalar, U08, 1060, "", 1, 0 +pressureControlDuty = scalar, S08, 1061, "%", 1,0 +torqueConverterDuty = scalar, S08, 1062, "%", 1,0 +isShifting = bits, U32, 1064, [0:0] ; total TS size = 1068 -isTpsInvalid = bits, U32, 1068, [0:0] -m_shouldResetPid = bits, U32, 1068, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1068, [2:2] -isNotClosedLoop = bits, U32, 1068, [3:3] -isZeroRpm = bits, U32, 1068, [4:4] -hasInitBoost = bits, U32, 1068, [5:5] -rpmTooLow = bits, U32, 1068, [6:6] -tpsTooLow = bits, U32, 1068, [7:7] -mapTooLow = bits, U32, 1068, [8:8] -isPlantValid = bits, U32, 1068, [9:9] -isBoostControlled = bits, U32, 1068, [10:10] -luaTargetAdd = scalar, S16, 1072, "v", 0.5,0 -boostOutput = scalar, S16, 1074, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1076, "v", 1,0 -openLoopPart = scalar, F32, 1080, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1084, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1088, "%", 0.5,0 -boostControlTarget = scalar, S16, 1090, "kPa", 0.03333333333333333,0 -; total TS size = 1092 -acButtonState = scalar, S08, 1092, "", 1, 0 -m_acEnabled = bits, U32, 1096, [0:0] -engineTooSlow = bits, U32, 1096, [1:1] -engineTooFast = bits, U32, 1096, [2:2] -noClt = bits, U32, 1096, [3:3] -engineTooHot = bits, U32, 1096, [4:4] -tpsTooHigh = bits, U32, 1096, [5:5] -isDisabledByLua = bits, U32, 1096, [6:6] -acCompressorState = bits, U32, 1096, [7:7] -acPressureTooLow = bits, U32, 1096, [8:8] -acPressureTooHigh = bits, U32, 1096, [9:9] -; total TS size = 1100 -cranking0 = bits, U32, 1100, [0:0] -notRunning0 = bits, U32, 1100, [1:1] -disabledWhileEngineStopped0 = bits, U32, 1100, [2:2] -brokenClt0 = bits, U32, 1100, [3:3] -enabledForAc0 = bits, U32, 1100, [4:4] -hot0 = bits, U32, 1100, [5:5] -cold0 = bits, U32, 1100, [6:6] -disabledBySpeed0 = bits, U32, 1100, [7:7] -radiatorFanStatus0 = scalar, U08, 1104, "", 1, 0 +throttleUseWotModel = bits, U32, 1068, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1072, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1076, "g/s", 1, 0 +; total TS size = 1080 +m_requested_pump = scalar, F32, 1080, "", 1, 0 +fuel_requested_percent = scalar, F32, 1084, "", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1088, "", 1, 0 +noValve = bits, U32, 1092, [0:0] +angleAboveMin = bits, U32, 1092, [1:1] +isHpfpInactive = bits, U32, 1092, [2:2] +m_pressureTarget_kPa = scalar, F32, 1096, "", 1, 0 +nextLobe = scalar, F32, 1100, "", 1, 0 +di_nextStart = scalar, F32, 1104, "v", 1, 0 ; total TS size = 1108 -cranking1 = bits, U32, 1108, [0:0] -notRunning1 = bits, U32, 1108, [1:1] -disabledWhileEngineStopped1 = bits, U32, 1108, [2:2] -brokenClt1 = bits, U32, 1108, [3:3] -enabledForAc1 = bits, U32, 1108, [4:4] -hot1 = bits, U32, 1108, [5:5] -cold1 = bits, U32, 1108, [6:6] -disabledBySpeed1 = bits, U32, 1108, [7:7] -radiatorFanStatus1 = scalar, U08, 1112, "", 1, 0 -; total TS size = 1116 -isPrime = bits, U32, 1116, [0:0] -engineTurnedRecently = bits, U32, 1116, [1:1] -isFuelPumpOn = bits, U32, 1116, [2:2] -ignitionOn = bits, U32, 1116, [3:3] +m_deadtime = scalar, F32, 1108, "ms", 1, 0 +pressureDelta = scalar, F32, 1112, "kPa", 1, 0 +pressureRatio = scalar, F32, 1116, "", 1, 0 ; total TS size = 1120 -isBenchTest = bits, U32, 1120, [0:0] -hasIgnitionVoltage = bits, U32, 1120, [1:1] -mainRelayState = bits, U32, 1120, [2:2] -delayedShutoffRequested = bits, U32, 1120, [3:3] -; total TS size = 1124 -lua_fuelAdd = scalar, F32, 1124, "g", 1, 0 -lua_fuelMult = scalar, F32, 1128, "", 1, 0 -lua_clutchUpState = bits, U32, 1132, [0:0] -lua_brakePedalState = bits, U32, 1132, [1:1] -lua_acRequestState = bits, U32, 1132, [2:2] -lua_luaDisableEtb = bits, U32, 1132, [3:3] -lua_luaIgnCut = bits, U32, 1132, [4:4] -lua_luaFuelCut = bits, U32, 1132, [5:5] -lua_clutchDownState = bits, U32, 1132, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1132, [7:7] -sd_tCharge = scalar, S16, 1136, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1140, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1144, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1148, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1152, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1156, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1160, "", 1, 0 -hellenBoardId = scalar, S16, 1164, "id", 1, 0 -clutchUpState = scalar, S08, 1166, "", 1, 0 -clutchDownState = scalar, S08, 1167, "", 1, 0 -brakePedalState = scalar, S08, 1168, "", 1, 0 -startStopState = scalar, S08, 1169, "", 1, 0 -smartChipState = scalar, S08, 1170, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1171, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1172, "", 1, 0 -startStopPhysicalState = bits, U32, 1176, [0:0] -acrActive = bits, U32, 1176, [1:1] -acrEngineMovedRecently = bits, U32, 1176, [2:2] -heaterControlEnabled = bits, U32, 1176, [3:3] -luaDigitalState0 = bits, U32, 1176, [4:4] -luaDigitalState1 = bits, U32, 1176, [5:5] -luaDigitalState2 = bits, U32, 1176, [6:6] -luaDigitalState3 = bits, U32, 1176, [7:7] -startStopStateToggleCounter = scalar, U32, 1180, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1184, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1188, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1192, "", 1, 0 -desiredRpmLimit = scalar, S16, 1196, "rpm", 1, 0 -fuelInjectionCounter = scalar, U32, 1200, "", 1, 0 -globalSparkCounter = scalar, U32, 1204, "", 1, 0 -fuelingLoad = scalar, F32, 1208, "", 1, 0 -ignitionLoad = scalar, F32, 1212, "", 1, 0 -veTableYAxis = scalar, U16, 1216, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1218, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1219, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1220, "", 1, 0 -; total TS size = 1224 -tpsFrom = scalar, F32, 1224 -tpsTo = scalar, F32, 1228 -deltaTps = scalar, F32, 1232 -extraFuel = scalar, F32, 1236, "", 1, 0 -valueFromTable = scalar, F32, 1240, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1244, [0:0] -isBelowDecelThreshold = bits, U32, 1244, [1:1] -isTimeToResetAccumulator = bits, U32, 1244, [2:2] -isFractionalEnrichment = bits, U32, 1244, [3:3] -belowEpsilon = bits, U32, 1244, [4:4] -tooShort = bits, U32, 1244, [5:5] -fractionalInjFuel = scalar, F32, 1248, "", 1, 0 -accumulatedValue = scalar, F32, 1252, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1256, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1260, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1264, "", 1, 0 -cycleCnt = scalar, S32, 1268, "", 1, 0 -; total TS size = 1272 -hwEventCounters1 = scalar, U32, 1272, "", 1, 0 -hwEventCounters2 = scalar, U32, 1276, "", 1, 0 -hwEventCounters3 = scalar, U32, 1280, "", 1, 0 -hwEventCounters4 = scalar, U32, 1284, "", 1, 0 -hwEventCounters5 = scalar, U32, 1288, "", 1, 0 -hwEventCounters6 = scalar, U32, 1292, "", 1, 0 -vvtCamCounter = scalar, U32, 1296, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1300, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1304, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1308, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1309, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1312, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1316, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1320, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1324, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1328, [0:0] -triggerElapsedUs = scalar, U32, 1332, "", 1, 0 -; total TS size = 1336 -crankSynchronizationCounter0 = scalar, U32, 1336, "", 1, 0 -vvtSyncGapRatio0 = scalar, F32, 1340, "", 1, 0 -vvtToothDurations00 = scalar, U32, 1344, "us", 1, 0 -vvtCurrentPosition0 = scalar, F32, 1348, "sync: Primary Cam Position", 1, 0 -vvtToothPosition10 = scalar, F32, 1352, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition20 = scalar, F32, 1356, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition30 = scalar, F32, 1360, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition40 = scalar, F32, 1364, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio0 = scalar, F32, 1368, "", 1, 0 -triggerStateIndex0 = scalar, U08, 1372, "", 1, 0 -vvtStateIndex0 = scalar, U08, 1373, "", 1, 0 -; total TS size = 1376 -crankSynchronizationCounter1 = scalar, U32, 1376, "", 1, 0 -vvtSyncGapRatio1 = scalar, F32, 1380, "", 1, 0 -vvtToothDurations01 = scalar, U32, 1384, "us", 1, 0 -vvtCurrentPosition1 = scalar, F32, 1388, "sync: Primary Cam Position", 1, 0 -vvtToothPosition11 = scalar, F32, 1392, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition21 = scalar, F32, 1396, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition31 = scalar, F32, 1400, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition41 = scalar, F32, 1404, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio1 = scalar, F32, 1408, "", 1, 0 -triggerStateIndex1 = scalar, U08, 1412, "", 1, 0 -vvtStateIndex1 = scalar, U08, 1413, "", 1, 0 -; total TS size = 1416 -crankSynchronizationCounter2 = scalar, U32, 1416, "", 1, 0 -vvtSyncGapRatio2 = scalar, F32, 1420, "", 1, 0 -vvtToothDurations02 = scalar, U32, 1424, "us", 1, 0 -vvtCurrentPosition2 = scalar, F32, 1428, "sync: Primary Cam Position", 1, 0 -vvtToothPosition12 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition22 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition32 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition42 = scalar, F32, 1444, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio2 = scalar, F32, 1448, "", 1, 0 -triggerStateIndex2 = scalar, U08, 1452, "", 1, 0 -vvtStateIndex2 = scalar, U08, 1453, "", 1, 0 -; total TS size = 1456 -crankSynchronizationCounter3 = scalar, U32, 1456, "", 1, 0 -vvtSyncGapRatio3 = scalar, F32, 1460, "", 1, 0 -vvtToothDurations03 = scalar, U32, 1464, "us", 1, 0 -vvtCurrentPosition3 = scalar, F32, 1468, "sync: Primary Cam Position", 1, 0 -vvtToothPosition13 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition23 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition33 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition43 = scalar, F32, 1484, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio3 = scalar, F32, 1488, "", 1, 0 -triggerStateIndex3 = scalar, U08, 1492, "", 1, 0 -vvtStateIndex3 = scalar, U08, 1493, "", 1, 0 -; total TS size = 1496 -crankSynchronizationCounter4 = scalar, U32, 1496, "", 1, 0 -vvtSyncGapRatio4 = scalar, F32, 1500, "", 1, 0 -vvtToothDurations04 = scalar, U32, 1504, "us", 1, 0 -vvtCurrentPosition4 = scalar, F32, 1508, "sync: Primary Cam Position", 1, 0 -vvtToothPosition14 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition24 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition34 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition44 = scalar, F32, 1524, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio4 = scalar, F32, 1528, "", 1, 0 -triggerStateIndex4 = scalar, U08, 1532, "", 1, 0 -vvtStateIndex4 = scalar, U08, 1533, "", 1, 0 -; total TS size = 1536 -camResyncCounter = scalar, U08, 1536, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1540, [0:0] -; total TS size = 1544 -wallFuelCorrection = scalar, F32, 1544, "", 1, 0 -wallFuel = scalar, F32, 1548, "", 1, 0 -; total TS size = 1552 -idleState = bits, S32, 1552, [0:2], "not important" -currentIdlePosition = scalar, F32, 1556 -baseIdlePosition = scalar, F32, 1560 -idleClosedLoop = scalar, F32, 1564 -iacByTpsTaper = scalar, F32, 1568 -throttlePedalUpState = scalar, S32, 1572, "", 1, 0 -mightResetPid = bits, U32, 1576, [0:0] -shouldResetPid = bits, U32, 1576, [1:1] -wasResetPid = bits, U32, 1576, [2:2] -mustResetPid = bits, U32, 1576, [3:3] -isCranking = bits, U32, 1576, [4:4] -isIacTableForCoasting = bits, U32, 1576, [5:5] -notIdling = bits, U32, 1576, [6:6] -needReset = bits, U32, 1576, [7:7] -isInDeadZone = bits, U32, 1576, [8:8] -isBlipping = bits, U32, 1576, [9:9] -useClosedLoop = bits, U32, 1576, [10:10] -badTps = bits, U32, 1576, [11:11] -looksLikeRunning = bits, U32, 1576, [12:12] -looksLikeCoasting = bits, U32, 1576, [13:13] -looksLikeCrankToIdle = bits, U32, 1576, [14:14] -isIdleCoasting = bits, U32, 1576, [15:15] -isIdleClosedLoop = bits, U32, 1576, [16:16] -idleTarget = scalar, S32, 1580, "", 1, 0 -targetRpmByClt = scalar, S32, 1584, "", 1, 0 -targetRpmAc = scalar, S32, 1588, "", 1, 0 -iacByRpmTaper = scalar, F32, 1592 -luaAdd = scalar, F32, 1596 -; total TS size = 1600 -targetWithIdlePosition0 = scalar, F32, 1600, "per", 1,0 -trim0 = scalar, F32, 1604, "", 1, 0 -luaAdjustment0 = scalar, F32, 1608, "per", 1,0 -m_wastegatePosition0 = scalar, F32, 1612, "per", 1,0 -etbFeedForward0 = scalar, F32, 1616 -etbIntegralError0 = scalar, F32, 1620, "", 1, 0 -etbCurrentTarget0 = scalar, F32, 1624, "%", 1, 0 -etbCurrentAdjustedTarget0 = scalar, F32, 1628, "%", 1, 0 -etbRevLimitActive0 = bits, U32, 1632, [0:0] -jamDetected0 = bits, U32, 1632, [1:1] -etbTpsErrorCounter0 = scalar, U16, 1636, "count", 1,0 -etbPpsErrorCounter0 = scalar, U16, 1638, "count", 1,0 -etbErrorCode0 = scalar, S08, 1640, "", 1, 0 -tcEtbDrop0 = scalar, S08, 1641, "%", 1, 0 -jamTimer0 = scalar, U16, 1642, "sec", 0.01, 0 -adjustedEtbTarget0 = scalar, S08, 1644, "%", 1, 0 -; total TS size = 1648 -targetWithIdlePosition1 = scalar, F32, 1648, "per", 1,0 -trim1 = scalar, F32, 1652, "", 1, 0 -luaAdjustment1 = scalar, F32, 1656, "per", 1,0 -m_wastegatePosition1 = scalar, F32, 1660, "per", 1,0 -etbFeedForward1 = scalar, F32, 1664 -etbIntegralError1 = scalar, F32, 1668, "", 1, 0 -etbCurrentTarget1 = scalar, F32, 1672, "%", 1, 0 -etbCurrentAdjustedTarget1 = scalar, F32, 1676, "%", 1, 0 -etbRevLimitActive1 = bits, U32, 1680, [0:0] -jamDetected1 = bits, U32, 1680, [1:1] -etbTpsErrorCounter1 = scalar, U16, 1684, "count", 1,0 -etbPpsErrorCounter1 = scalar, U16, 1686, "count", 1,0 -etbErrorCode1 = scalar, S08, 1688, "", 1, 0 -tcEtbDrop1 = scalar, S08, 1689, "%", 1, 0 -jamTimer1 = scalar, U16, 1690, "sec", 0.01, 0 -adjustedEtbTarget1 = scalar, S08, 1692, "%", 1, 0 -; total TS size = 1696 -faultCode0 = scalar, U08, 1696, "", 1, 0 -heaterDuty0 = scalar, U08, 1697, "%", 1, 0 -pumpDuty0 = scalar, U08, 1698, "%", 1, 0 -tempC0 = scalar, U16, 1700, "C", 1, 0 -nernstVoltage0 = scalar, U16, 1702, "V", 0.001, 0 -esr0 = scalar, U16, 1704, "ohm", 1, 0 -; total TS size = 1708 -faultCode1 = scalar, U08, 1708, "", 1, 0 -heaterDuty1 = scalar, U08, 1709, "%", 1, 0 -pumpDuty1 = scalar, U08, 1710, "%", 1, 0 -tempC1 = scalar, U16, 1712, "C", 1, 0 -nernstVoltage1 = scalar, U16, 1714, "V", 0.001, 0 -esr1 = scalar, U16, 1716, "ohm", 1, 0 -; total TS size = 1720 -dcOutput0 = scalar, F32, 1720, "per", 1,0 -isEnabled0_int = scalar, U08, 1724, "per", 1,0 -isEnabled0 = bits, U32, 1728, [0:0] -; total TS size = 1732 -value0 = scalar, U16, 1732, "value", 1,0 -value1 = scalar, U16, 1734, "value", 1,0 -errorRate = scalar, F32, 1736, "ratio", 1,0 -; total TS size = 1740 -vvtTarget = scalar, U16, 1740, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1742, "%", 0.5, 0 -; total TS size = 1744 -lambdaCurrentlyGood = bits, U32, 1744, [0:0] -lambdaMonitorCut = bits, U32, 1744, [1:1] -lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 -; total TS size = 1752 +retardThresholdRpm = scalar, S32, 1120, "", 1, 0 +launchActivatePinState = bits, U32, 1124, [0:0] +isPreLaunchCondition = bits, U32, 1124, [1:1] +isLaunchCondition = bits, U32, 1124, [2:2] +isSwitchActivated = bits, U32, 1124, [3:3] +isClutchActivated = bits, U32, 1124, [4:4] +isBrakePedalActivated = bits, U32, 1124, [5:5] +isValidInputPin = bits, U32, 1124, [6:6] +activateSwitchCondition = bits, U32, 1124, [7:7] +rpmLaunchCondition = bits, U32, 1124, [8:8] +rpmPreLaunchCondition = bits, U32, 1124, [9:9] +speedCondition = bits, U32, 1124, [10:10] +tpsCondition = bits, U32, 1124, [11:11] +; total TS size = 1128 +isTorqueReductionTriggerPinValid = bits, U32, 1128, [0:0] +torqueReductionTriggerPinState = bits, U32, 1128, [1:1] +isTimeConditionSatisfied = bits, U32, 1128, [2:2] +isRpmConditionSatisfied = bits, U32, 1128, [3:3] +isAppConditionSatisfied = bits, U32, 1128, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1128, [5:5] +; total TS size = 1132 +isAntilagCondition = bits, U32, 1132, [0:0] +ALSMinRPMCondition = bits, U32, 1132, [1:1] +ALSMaxRPMCondition = bits, U32, 1132, [2:2] +ALSMinCLTCondition = bits, U32, 1132, [3:3] +ALSMaxCLTCondition = bits, U32, 1132, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1132, [5:5] +isALSSwitchActivated = bits, U32, 1132, [6:6] +ALSActivatePinState = bits, U32, 1132, [7:7] +ALSSwitchCondition = bits, U32, 1132, [8:8] +ALSTimerCondition = bits, U32, 1132, [9:9] +fuelALSCorrection = scalar, F32, 1136, "", 1, 0 +timingALSCorrection = scalar, S16, 1140, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1142, "deg", 0.01, 0 +; total TS size = 1144 +isTpsInvalid = bits, U32, 1144, [0:0] +m_shouldResetPid = bits, U32, 1144, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1144, [2:2] +isNotClosedLoop = bits, U32, 1144, [3:3] +isZeroRpm = bits, U32, 1144, [4:4] +hasInitBoost = bits, U32, 1144, [5:5] +rpmTooLow = bits, U32, 1144, [6:6] +tpsTooLow = bits, U32, 1144, [7:7] +mapTooLow = bits, U32, 1144, [8:8] +isPlantValid = bits, U32, 1144, [9:9] +isBoostControlled = bits, U32, 1144, [10:10] +luaTargetAdd = scalar, S16, 1148, "v", 0.5,0 +boostOutput = scalar, S16, 1150, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1152, "v", 1,0 +openLoopPart = scalar, F32, 1156, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1160, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1164, "%", 0.5,0 +boostControlTarget = scalar, S16, 1166, "kPa", 0.03333333333333333,0 +; total TS size = 1168 +acButtonState = scalar, S08, 1168, "", 1, 0 +m_acEnabled = bits, U32, 1172, [0:0] +engineTooSlow = bits, U32, 1172, [1:1] +engineTooFast = bits, U32, 1172, [2:2] +noClt = bits, U32, 1172, [3:3] +engineTooHot = bits, U32, 1172, [4:4] +tpsTooHigh = bits, U32, 1172, [5:5] +isDisabledByLua = bits, U32, 1172, [6:6] +acCompressorState = bits, U32, 1172, [7:7] +acPressureTooLow = bits, U32, 1172, [8:8] +acPressureTooHigh = bits, U32, 1172, [9:9] +; total TS size = 1176 +cranking0 = bits, U32, 1176, [0:0] +notRunning0 = bits, U32, 1176, [1:1] +disabledWhileEngineStopped0 = bits, U32, 1176, [2:2] +brokenClt0 = bits, U32, 1176, [3:3] +enabledForAc0 = bits, U32, 1176, [4:4] +hot0 = bits, U32, 1176, [5:5] +cold0 = bits, U32, 1176, [6:6] +disabledBySpeed0 = bits, U32, 1176, [7:7] +radiatorFanStatus0 = scalar, U08, 1180, "", 1, 0 +; total TS size = 1184 +cranking1 = bits, U32, 1184, [0:0] +notRunning1 = bits, U32, 1184, [1:1] +disabledWhileEngineStopped1 = bits, U32, 1184, [2:2] +brokenClt1 = bits, U32, 1184, [3:3] +enabledForAc1 = bits, U32, 1184, [4:4] +hot1 = bits, U32, 1184, [5:5] +cold1 = bits, U32, 1184, [6:6] +disabledBySpeed1 = bits, U32, 1184, [7:7] +radiatorFanStatus1 = scalar, U08, 1188, "", 1, 0 +; total TS size = 1192 +isPrime = bits, U32, 1192, [0:0] +engineTurnedRecently = bits, U32, 1192, [1:1] +isFuelPumpOn = bits, U32, 1192, [2:2] +ignitionOn = bits, U32, 1192, [3:3] +; total TS size = 1196 +isBenchTest = bits, U32, 1196, [0:0] +hasIgnitionVoltage = bits, U32, 1196, [1:1] +mainRelayState = bits, U32, 1196, [2:2] +delayedShutoffRequested = bits, U32, 1196, [3:3] +; total TS size = 1200 +lua_fuelAdd = scalar, F32, 1200, "g", 1, 0 +lua_fuelMult = scalar, F32, 1204, "", 1, 0 +lua_clutchUpState = bits, U32, 1208, [0:0] +lua_brakePedalState = bits, U32, 1208, [1:1] +lua_acRequestState = bits, U32, 1208, [2:2] +lua_luaDisableEtb = bits, U32, 1208, [3:3] +lua_luaIgnCut = bits, U32, 1208, [4:4] +lua_luaFuelCut = bits, U32, 1208, [5:5] +lua_clutchDownState = bits, U32, 1208, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1208, [7:7] +sd_tCharge = scalar, S16, 1212, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1216, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1220, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1224, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1228, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1232, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1236, "", 1, 0 +hellenBoardId = scalar, S16, 1240, "id", 1, 0 +clutchUpState = scalar, S08, 1242, "", 1, 0 +clutchDownState = scalar, S08, 1243, "", 1, 0 +brakePedalState = scalar, S08, 1244, "", 1, 0 +startStopState = scalar, S08, 1245, "", 1, 0 +smartChipState = scalar, S08, 1246, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1247, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1248, "", 1, 0 +startStopPhysicalState = bits, U32, 1252, [0:0] +acrActive = bits, U32, 1252, [1:1] +acrEngineMovedRecently = bits, U32, 1252, [2:2] +heaterControlEnabled = bits, U32, 1252, [3:3] +luaDigitalState0 = bits, U32, 1252, [4:4] +luaDigitalState1 = bits, U32, 1252, [5:5] +luaDigitalState2 = bits, U32, 1252, [6:6] +luaDigitalState3 = bits, U32, 1252, [7:7] +startStopStateToggleCounter = scalar, U32, 1256, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1260, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1264, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1268, "", 1, 0 +desiredRpmLimit = scalar, S16, 1272, "rpm", 1, 0 +fuelInjectionCounter = scalar, U32, 1276, "", 1, 0 +globalSparkCounter = scalar, U32, 1280, "", 1, 0 +fuelingLoad = scalar, F32, 1284, "", 1, 0 +ignitionLoad = scalar, F32, 1288, "", 1, 0 +veTableYAxis = scalar, U16, 1292, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1294, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1295, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1296, "", 1, 0 +; total TS size = 1300 +tpsFrom = scalar, F32, 1300 +tpsTo = scalar, F32, 1304 +deltaTps = scalar, F32, 1308 +extraFuel = scalar, F32, 1312, "", 1, 0 +valueFromTable = scalar, F32, 1316, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1320, [0:0] +isBelowDecelThreshold = bits, U32, 1320, [1:1] +isTimeToResetAccumulator = bits, U32, 1320, [2:2] +isFractionalEnrichment = bits, U32, 1320, [3:3] +belowEpsilon = bits, U32, 1320, [4:4] +tooShort = bits, U32, 1320, [5:5] +fractionalInjFuel = scalar, F32, 1324, "", 1, 0 +accumulatedValue = scalar, F32, 1328, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1332, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1336, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1340, "", 1, 0 +cycleCnt = scalar, S32, 1344, "", 1, 0 +; total TS size = 1348 +hwEventCounters1 = scalar, U32, 1348, "", 1, 0 +hwEventCounters2 = scalar, U32, 1352, "", 1, 0 +hwEventCounters3 = scalar, U32, 1356, "", 1, 0 +hwEventCounters4 = scalar, U32, 1360, "", 1, 0 +hwEventCounters5 = scalar, U32, 1364, "", 1, 0 +hwEventCounters6 = scalar, U32, 1368, "", 1, 0 +vvtCamCounter = scalar, U32, 1372, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1376, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1380, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1384, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1385, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1388, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1392, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1396, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1400, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1404, [0:0] +triggerElapsedUs = scalar, U32, 1408, "", 1, 0 +; total TS size = 1412 +crankSynchronizationCounter0 = scalar, U32, 1412, "", 1, 0 +vvtSyncGapRatio0 = scalar, F32, 1416, "", 1, 0 +vvtToothDurations00 = scalar, U32, 1420, "us", 1, 0 +vvtCurrentPosition0 = scalar, F32, 1424, "sync: Primary Cam Position", 1, 0 +vvtToothPosition10 = scalar, F32, 1428, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition20 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition30 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition40 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio0 = scalar, F32, 1444, "", 1, 0 +triggerStateIndex0 = scalar, U08, 1448, "", 1, 0 +vvtStateIndex0 = scalar, U08, 1449, "", 1, 0 +; total TS size = 1452 +crankSynchronizationCounter1 = scalar, U32, 1452, "", 1, 0 +vvtSyncGapRatio1 = scalar, F32, 1456, "", 1, 0 +vvtToothDurations01 = scalar, U32, 1460, "us", 1, 0 +vvtCurrentPosition1 = scalar, F32, 1464, "sync: Primary Cam Position", 1, 0 +vvtToothPosition11 = scalar, F32, 1468, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition21 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition31 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition41 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio1 = scalar, F32, 1484, "", 1, 0 +triggerStateIndex1 = scalar, U08, 1488, "", 1, 0 +vvtStateIndex1 = scalar, U08, 1489, "", 1, 0 +; total TS size = 1492 +crankSynchronizationCounter2 = scalar, U32, 1492, "", 1, 0 +vvtSyncGapRatio2 = scalar, F32, 1496, "", 1, 0 +vvtToothDurations02 = scalar, U32, 1500, "us", 1, 0 +vvtCurrentPosition2 = scalar, F32, 1504, "sync: Primary Cam Position", 1, 0 +vvtToothPosition12 = scalar, F32, 1508, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition22 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition32 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition42 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio2 = scalar, F32, 1524, "", 1, 0 +triggerStateIndex2 = scalar, U08, 1528, "", 1, 0 +vvtStateIndex2 = scalar, U08, 1529, "", 1, 0 +; total TS size = 1532 +crankSynchronizationCounter3 = scalar, U32, 1532, "", 1, 0 +vvtSyncGapRatio3 = scalar, F32, 1536, "", 1, 0 +vvtToothDurations03 = scalar, U32, 1540, "us", 1, 0 +vvtCurrentPosition3 = scalar, F32, 1544, "sync: Primary Cam Position", 1, 0 +vvtToothPosition13 = scalar, F32, 1548, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition23 = scalar, F32, 1552, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition33 = scalar, F32, 1556, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition43 = scalar, F32, 1560, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio3 = scalar, F32, 1564, "", 1, 0 +triggerStateIndex3 = scalar, U08, 1568, "", 1, 0 +vvtStateIndex3 = scalar, U08, 1569, "", 1, 0 +; total TS size = 1572 +crankSynchronizationCounter4 = scalar, U32, 1572, "", 1, 0 +vvtSyncGapRatio4 = scalar, F32, 1576, "", 1, 0 +vvtToothDurations04 = scalar, U32, 1580, "us", 1, 0 +vvtCurrentPosition4 = scalar, F32, 1584, "sync: Primary Cam Position", 1, 0 +vvtToothPosition14 = scalar, F32, 1588, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition24 = scalar, F32, 1592, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition34 = scalar, F32, 1596, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition44 = scalar, F32, 1600, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio4 = scalar, F32, 1604, "", 1, 0 +triggerStateIndex4 = scalar, U08, 1608, "", 1, 0 +vvtStateIndex4 = scalar, U08, 1609, "", 1, 0 +; total TS size = 1612 +camResyncCounter = scalar, U08, 1612, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1616, [0:0] +; total TS size = 1620 +wallFuelCorrection = scalar, F32, 1620, "", 1, 0 +wallFuel = scalar, F32, 1624, "", 1, 0 +; total TS size = 1628 +idleState = bits, S32, 1628, [0:2], "not important" +currentIdlePosition = scalar, F32, 1632 +baseIdlePosition = scalar, F32, 1636 +idleClosedLoop = scalar, F32, 1640 +iacByTpsTaper = scalar, F32, 1644 +throttlePedalUpState = scalar, S32, 1648, "", 1, 0 +mightResetPid = bits, U32, 1652, [0:0] +shouldResetPid = bits, U32, 1652, [1:1] +wasResetPid = bits, U32, 1652, [2:2] +mustResetPid = bits, U32, 1652, [3:3] +isCranking = bits, U32, 1652, [4:4] +isIacTableForCoasting = bits, U32, 1652, [5:5] +notIdling = bits, U32, 1652, [6:6] +needReset = bits, U32, 1652, [7:7] +isInDeadZone = bits, U32, 1652, [8:8] +isBlipping = bits, U32, 1652, [9:9] +useClosedLoop = bits, U32, 1652, [10:10] +badTps = bits, U32, 1652, [11:11] +looksLikeRunning = bits, U32, 1652, [12:12] +looksLikeCoasting = bits, U32, 1652, [13:13] +looksLikeCrankToIdle = bits, U32, 1652, [14:14] +isIdleCoasting = bits, U32, 1652, [15:15] +isIdleClosedLoop = bits, U32, 1652, [16:16] +idleTarget = scalar, S32, 1656, "", 1, 0 +targetRpmByClt = scalar, S32, 1660, "", 1, 0 +targetRpmAc = scalar, S32, 1664, "", 1, 0 +iacByRpmTaper = scalar, F32, 1668 +luaAdd = scalar, F32, 1672 +; total TS size = 1676 +targetWithIdlePosition0 = scalar, F32, 1676, "per", 1,0 +trim0 = scalar, F32, 1680, "", 1, 0 +luaAdjustment0 = scalar, F32, 1684, "per", 1,0 +m_wastegatePosition0 = scalar, F32, 1688, "per", 1,0 +etbFeedForward0 = scalar, F32, 1692 +etbIntegralError0 = scalar, F32, 1696, "", 1, 0 +etbCurrentTarget0 = scalar, F32, 1700, "%", 1, 0 +etbCurrentAdjustedTarget0 = scalar, F32, 1704, "%", 1, 0 +etbRevLimitActive0 = bits, U32, 1708, [0:0] +jamDetected0 = bits, U32, 1708, [1:1] +etbTpsErrorCounter0 = scalar, U16, 1712, "count", 1,0 +etbPpsErrorCounter0 = scalar, U16, 1714, "count", 1,0 +etbErrorCode0 = scalar, S08, 1716, "", 1, 0 +tcEtbDrop0 = scalar, S08, 1717, "%", 1, 0 +jamTimer0 = scalar, U16, 1718, "sec", 0.01, 0 +adjustedEtbTarget0 = scalar, S08, 1720, "%", 1, 0 +; total TS size = 1724 +targetWithIdlePosition1 = scalar, F32, 1724, "per", 1,0 +trim1 = scalar, F32, 1728, "", 1, 0 +luaAdjustment1 = scalar, F32, 1732, "per", 1,0 +m_wastegatePosition1 = scalar, F32, 1736, "per", 1,0 +etbFeedForward1 = scalar, F32, 1740 +etbIntegralError1 = scalar, F32, 1744, "", 1, 0 +etbCurrentTarget1 = scalar, F32, 1748, "%", 1, 0 +etbCurrentAdjustedTarget1 = scalar, F32, 1752, "%", 1, 0 +etbRevLimitActive1 = bits, U32, 1756, [0:0] +jamDetected1 = bits, U32, 1756, [1:1] +etbTpsErrorCounter1 = scalar, U16, 1760, "count", 1,0 +etbPpsErrorCounter1 = scalar, U16, 1762, "count", 1,0 +etbErrorCode1 = scalar, S08, 1764, "", 1, 0 +tcEtbDrop1 = scalar, S08, 1765, "%", 1, 0 +jamTimer1 = scalar, U16, 1766, "sec", 0.01, 0 +adjustedEtbTarget1 = scalar, S08, 1768, "%", 1, 0 +; total TS size = 1772 +faultCode0 = scalar, U08, 1772, "", 1, 0 +heaterDuty0 = scalar, U08, 1773, "%", 1, 0 +pumpDuty0 = scalar, U08, 1774, "%", 1, 0 +tempC0 = scalar, U16, 1776, "C", 1, 0 +nernstVoltage0 = scalar, U16, 1778, "V", 0.001, 0 +esr0 = scalar, U16, 1780, "ohm", 1, 0 +; total TS size = 1784 +faultCode1 = scalar, U08, 1784, "", 1, 0 +heaterDuty1 = scalar, U08, 1785, "%", 1, 0 +pumpDuty1 = scalar, U08, 1786, "%", 1, 0 +tempC1 = scalar, U16, 1788, "C", 1, 0 +nernstVoltage1 = scalar, U16, 1790, "V", 0.001, 0 +esr1 = scalar, U16, 1792, "ohm", 1, 0 +; total TS size = 1796 +dcOutput0 = scalar, F32, 1796, "per", 1,0 +isEnabled0_int = scalar, U08, 1800, "per", 1,0 +isEnabled0 = bits, U32, 1804, [0:0] +; total TS size = 1808 +value0 = scalar, U16, 1808, "value", 1,0 +value1 = scalar, U16, 1810, "value", 1,0 +errorRate = scalar, F32, 1812, "ratio", 1,0 +; total TS size = 1816 +vvtTarget = scalar, U16, 1816, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1818, "%", 0.5, 0 +; total TS size = 1820 +lambdaCurrentlyGood = bits, U32, 1820, [0:0] +lambdaMonitorCut = bits, U32, 1820, [1:1] +lambdaTimeSinceGood = scalar, U16, 1824, "sec", 0.01, 0 +; total TS size = 1828 time = { timeNow } @@ -3616,6 +3648,7 @@ lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs8 requiresPowerCycle = cylinderBore + requiresPowerCycle = knockFrequency readOnly = warning_message readOnly = device_uid1 @@ -5033,6 +5066,26 @@ gaugeCategory = Knock knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knockSpectrumChannelCylGauge = m_knockSpectrumChannelCyl, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStartGauge = m_knockFrequencyStart, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStepGauge = m_knockFrequencyStep, "Knock Frequency Step", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFuelTrimMultiplier = m_knockFuelTrimMultiplier, "Knock Fuel Trim", "mult", 0, 0, 0, 0, 0, 30, 1, 1 + knockSpectrum1 = m_knockSpectrum1, "Knock Spectrum1", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum2 = m_knockSpectrum2, "knockSpectrum2", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum3 = m_knockSpectrum3, "knockSpectrum3", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum4 = m_knockSpectrum4, "knockSpectrum4", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum5 = m_knockSpectrum5, "knockSpectrum5", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum6 = m_knockSpectrum6, "knockSpectrum6", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum7 = m_knockSpectrum7, "knockSpectrum7", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum8 = m_knockSpectrum8, "knockSpectrum8", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum9 = m_knockSpectrum9, "knockSpectrum9", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum10 = m_knockSpectrum10, "knockSpectrum10", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum11 = m_knockSpectrum11, "knockSpectrum11", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum12 = m_knockSpectrum12, "knockSpectrum12", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum13 = m_knockSpectrum13, "knockSpectrum13", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum14 = m_knockSpectrum14, "knockSpectrum14", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum15 = m_knockSpectrum15, "knockSpectrum15", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum16 = m_knockSpectrum16, "knockSpectrum16", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -5631,6 +5684,26 @@ entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" entry = m_knockCount, "Knock: Count", int, "%d" entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_knockFrequency, "knock: frequency", int, "%d" +entry = m_knockSpectrum1, "Knock: SpectrumData 1", int, "%d" +entry = m_knockSpectrum2, "Knock: SpectrumData 2", int, "%d" +entry = m_knockSpectrum3, "Knock: SpectrumData 3", int, "%d" +entry = m_knockSpectrum4, "Knock: SpectrumData 4", int, "%d" +entry = m_knockSpectrum5, "Knock: SpectrumData 5", int, "%d" +entry = m_knockSpectrum6, "Knock: SpectrumData 6", int, "%d" +entry = m_knockSpectrum7, "Knock: SpectrumData 7", int, "%d" +entry = m_knockSpectrum8, "Knock: SpectrumData 8", int, "%d" +entry = m_knockSpectrum9, "Knock: SpectrumData 9", int, "%d" +entry = m_knockSpectrum10, "Knock: SpectrumData 10", int, "%d" +entry = m_knockSpectrum11, "Knock: SpectrumData 11", int, "%d" +entry = m_knockSpectrum12, "Knock: SpectrumData 12", int, "%d" +entry = m_knockSpectrum13, "Knock: SpectrumData 13", int, "%d" +entry = m_knockSpectrum14, "Knock: SpectrumData 14", int, "%d" +entry = m_knockSpectrum15, "Knock: SpectrumData 15", int, "%d" +entry = m_knockSpectrum16, "Knock: SpectrumData 16", int, "%d" +entry = m_knockSpectrumChannelCyl, "Knock: ChannelAndCylNumber", int, "%d" +entry = m_knockFrequencyStart, "Knock: Start Freq", int, "%d" +entry = m_knockFrequencyStep, "Knock: Step Freq", float, "%.3f" +entry = m_knockFuelTrimMultiplier, "Knock: Fuel trim when knock", float, "%.3f" entry = tcuCurrentGear, "TCU: Current Gear", int, "%d" entry = tcRatio, "TCU: Torque Converter Ratio", float, "%.3f" entry = lastShiftTime, "lastShiftTime", float, "%.3f" @@ -6527,6 +6600,31 @@ dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard graphLine = m_knockFrequency + graphLine = m_knockSpectrum1 + graphLine = m_knockSpectrum2 + liveGraph = knock_controller_6_Graph, "Graph", South + graphLine = m_knockSpectrum3 + graphLine = m_knockSpectrum4 + graphLine = m_knockSpectrum5 + graphLine = m_knockSpectrum6 + liveGraph = knock_controller_7_Graph, "Graph", South + graphLine = m_knockSpectrum7 + graphLine = m_knockSpectrum8 + graphLine = m_knockSpectrum9 + graphLine = m_knockSpectrum10 + liveGraph = knock_controller_8_Graph, "Graph", South + graphLine = m_knockSpectrum11 + graphLine = m_knockSpectrum12 + graphLine = m_knockSpectrum13 + graphLine = m_knockSpectrum14 + liveGraph = knock_controller_9_Graph, "Graph", South + graphLine = m_knockSpectrum15 + graphLine = m_knockSpectrum16 + graphLine = m_knockSpectrumChannelCyl + graphLine = m_knockFrequencyStart + liveGraph = knock_controller_10_Graph, "Graph", South + graphLine = m_knockFrequencyStep + graphLine = m_knockFuelTrimMultiplier indicatorPanel = tcu_controllerIndicatorPanel, 2 indicator = {isShifting}, "isShifting No", "isShifting Yes" @@ -8595,9 +8693,13 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockCfg, "Sense" field = "Enable", enableSoftwareKnock field = "Cylinder Bore", cylinderBore, {enableSoftwareKnock} + field = "Estimated Knock Frequency",knockFrequency, {enableSoftwareKnock} field = "Detection mode", knockDetectionUseDoubleFrequency field = "Detection Window Start",knockDetectionWindowStart, {enableSoftwareKnock} field = "Sampling Duration", knockSamplingDuration, {enableSoftwareKnock} + field = "Enable Knock Spectrogram", enableKnockSpectrogram, {enableSoftwareKnock} + field = "Enable Knock Spectrogram Filter", enableKnockSpectrogramFilter, {enableKnockSpectrogram} + field = "Knock Spectrum Sensitivity", knockSpectrumSensitivity, {enableKnockSpectrogram} field = "" field = "Select the nearest sensor for each cylinder" @@ -8617,6 +8719,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockResponseCfg, "Response" field = knockRetardAggression, knockRetardAggression field = knockRetardReapplyRate, knockRetardReapplyRate + field = knockFuelTrimAggression, knockFuelTrimAggression + field = knockFuelTrimReapplyRate, knockFuelTrimReapplyRate + field = knockFuelTrim, knockFuelTrim + field = knockSuppressMinTps, knockSuppressMinTps dialog = softwareKnockLeft, "" panel = softwareKnockCfg diff --git a/firmware/tunerstudio/generated/rusefi_hellen-112-17.ini b/firmware/tunerstudio/generated/rusefi_hellen-112-17.ini index a624171426..8a1cee2715 100644 --- a/firmware/tunerstudio/generated/rusefi_hellen-112-17.ini +++ b/firmware/tunerstudio/generated/rusefi_hellen-112-17.ini @@ -38,12 +38,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.10.21.hellen-112-17.266945181" + signature = "rusEFI master.2024.10.21.hellen-112-17.3552647266" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.10.21.hellen-112-17.266945181" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.10.21.hellen-112-17.3552647266" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -774,6 +774,7 @@ devBit7 = bits, U32, 1492, [27:27], "false", "true" unusedSkipWasHere = bits, U32, 1492, [28:28], "false", "true" invertExhaustCamVVTSignal = bits, U32, 1492, [29:29], "Rising", "Falling" enableKnockSpectrogram = bits, U32, 1492, [30:30], "false", "true" +enableKnockSpectrogramFilter = bits, U32, 1492, [31:31], "false", "true" afterCrankingIACtaperDuration = scalar, S16, 1496, "cycles", 1, 0, 0, 5000, 0 iacByTpsTaper = scalar, S16, 1498, "percent", 1, 0, 0, 500, 0 unusedAuxSeria = bits, U16, 1500, [0:8], $gpio_list @@ -1394,7 +1395,13 @@ auxLinear4_v1 = scalar, F32, 3880, "volts", 1, 0, 0, 10, 2 auxLinear4_value1 = scalar, F32, 3884, "", 1, 0, -100000, 1000000, 2 auxLinear4_v2 = scalar, F32, 3888, "volts", 1, 0, 0, 10, 2 auxLinear4_value2 = scalar, F32, 3892, "", 1, 0, -100000, 1000000, 2 -unusedOftenChangesDuringFirmwareUpdate = array, U08, 3896, [128], "units", 1, 0, 0, 1, 0 +knockSuppressMinTps = scalar, U08, 3896, "%", 1, 0, 0, 100, 1 +knockFuelTrimAggression = scalar, U08, 3897, "%", 0.1, 0, 0, 20, 1 +knockFuelTrimReapplyRate = scalar, U08, 3898, "deg/s", 0.1, 0, 0, 10, 1 +knockFuelTrim = scalar, U08, 3899, "%", 1, 0, 0, 30, 1 +knockSpectrumSensitivity = scalar, F32, 3900, "sense", 1, 0, 0, 1, 2 +knockFrequency = scalar, F32, 3904, "Hz", 1, 0, 0, 20000, 2 +unusedOftenChangesDuringFirmwareUpdate = array, U08, 3908, [116], "units", 1, 0, 0, 1, 0 postCrankingFactor = array, F32, 4024, [6x6], "mult", 1, 0, 1, 3, 2 postCrankingDurationBins = array, F32, 4168, [6], "count", 1, 0, 0, 1000, 0 postCrankingCLTBins = array, S16, 4192, [6], "C", 1, 0, -100, 250, 0 @@ -2448,6 +2455,11 @@ minimumOilPressureValues = array, U08, 22960, [8], "kPa", 10.0, 0, 0, 1000, 0 minAcPressure = "value of A/C pressure in kPa before that compressor is disengaged" maxAcPressure = "value of A/C pressure in kPa after that compressor is disengaged" minimumOilPressureTimeout = "Delay before cutting fuel due to low oil pressure. Use this to ignore short pressure blips and sensor noise." + knockSuppressMinTps = "Below TPS value all knock suppression will be disabled." + knockFuelTrimAggression = "Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump)," + knockFuelTrimReapplyRate = "After a knock event, reapply fuel at this rate." + knockFuelTrim = "Fuel trim when knock, max 30%" + knockFrequency = "Estimated knock frequency, ignore cylinderBore if this one > 0" etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, open loop component of PID closed loop control" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2560,7 +2572,7 @@ minimumOilPressureValues = array, U08, 22960, [8], "kPa", 10.0, 0, 0, 1000, 0 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1752 + ochBlockSize = 1828 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3101,370 +3113,390 @@ m_knockThreshold = scalar, F32, 960, "", 1, 0 m_knockCount = scalar, U32, 964, "", 1, 0 m_maximumRetard = scalar, F32, 968, "", 1, 0 m_knockFrequency = scalar, U32, 972, "Hz", 1, 0 -; total TS size = 976 -tcuCurrentGear = scalar, S08, 976, "gear", 1, 0 -tcRatio = scalar, U16, 978, "value", 0.01, 0 -lastShiftTime = scalar, F32, 980, "", 1, 0 -tcu_currentRange = scalar, U08, 984, "", 1, 0 -pressureControlDuty = scalar, S08, 985, "%", 1,0 -torqueConverterDuty = scalar, S08, 986, "%", 1,0 -isShifting = bits, U32, 988, [0:0] -; total TS size = 992 -throttleUseWotModel = bits, U32, 992, [0:0] -throttleModelCrossoverAngle = scalar, S16, 996, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1000, "g/s", 1, 0 -; total TS size = 1004 -m_requested_pump = scalar, F32, 1004, "", 1, 0 -fuel_requested_percent = scalar, F32, 1008, "", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1012, "", 1, 0 -noValve = bits, U32, 1016, [0:0] -angleAboveMin = bits, U32, 1016, [1:1] -isHpfpInactive = bits, U32, 1016, [2:2] -m_pressureTarget_kPa = scalar, F32, 1020, "", 1, 0 -nextLobe = scalar, F32, 1024, "", 1, 0 -di_nextStart = scalar, F32, 1028, "v", 1, 0 -; total TS size = 1032 -m_deadtime = scalar, F32, 1032, "ms", 1, 0 -pressureDelta = scalar, F32, 1036, "kPa", 1, 0 -pressureRatio = scalar, F32, 1040, "", 1, 0 -; total TS size = 1044 -retardThresholdRpm = scalar, S32, 1044, "", 1, 0 -launchActivatePinState = bits, U32, 1048, [0:0] -isPreLaunchCondition = bits, U32, 1048, [1:1] -isLaunchCondition = bits, U32, 1048, [2:2] -isSwitchActivated = bits, U32, 1048, [3:3] -isClutchActivated = bits, U32, 1048, [4:4] -isBrakePedalActivated = bits, U32, 1048, [5:5] -isValidInputPin = bits, U32, 1048, [6:6] -activateSwitchCondition = bits, U32, 1048, [7:7] -rpmLaunchCondition = bits, U32, 1048, [8:8] -rpmPreLaunchCondition = bits, U32, 1048, [9:9] -speedCondition = bits, U32, 1048, [10:10] -tpsCondition = bits, U32, 1048, [11:11] +m_knockSpectrum1 = scalar, U32, 976, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 980, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 984, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 988, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1040, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1042, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1044, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1048, "multiplier", 1, 0 ; total TS size = 1052 -isTorqueReductionTriggerPinValid = bits, U32, 1052, [0:0] -torqueReductionTriggerPinState = bits, U32, 1052, [1:1] -isTimeConditionSatisfied = bits, U32, 1052, [2:2] -isRpmConditionSatisfied = bits, U32, 1052, [3:3] -isAppConditionSatisfied = bits, U32, 1052, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1052, [5:5] -; total TS size = 1056 -isAntilagCondition = bits, U32, 1056, [0:0] -ALSMinRPMCondition = bits, U32, 1056, [1:1] -ALSMaxRPMCondition = bits, U32, 1056, [2:2] -ALSMinCLTCondition = bits, U32, 1056, [3:3] -ALSMaxCLTCondition = bits, U32, 1056, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1056, [5:5] -isALSSwitchActivated = bits, U32, 1056, [6:6] -ALSActivatePinState = bits, U32, 1056, [7:7] -ALSSwitchCondition = bits, U32, 1056, [8:8] -ALSTimerCondition = bits, U32, 1056, [9:9] -fuelALSCorrection = scalar, F32, 1060, "", 1, 0 -timingALSCorrection = scalar, S16, 1064, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1066, "deg", 0.01, 0 +tcuCurrentGear = scalar, S08, 1052, "gear", 1, 0 +tcRatio = scalar, U16, 1054, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1056, "", 1, 0 +tcu_currentRange = scalar, U08, 1060, "", 1, 0 +pressureControlDuty = scalar, S08, 1061, "%", 1,0 +torqueConverterDuty = scalar, S08, 1062, "%", 1,0 +isShifting = bits, U32, 1064, [0:0] ; total TS size = 1068 -isTpsInvalid = bits, U32, 1068, [0:0] -m_shouldResetPid = bits, U32, 1068, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1068, [2:2] -isNotClosedLoop = bits, U32, 1068, [3:3] -isZeroRpm = bits, U32, 1068, [4:4] -hasInitBoost = bits, U32, 1068, [5:5] -rpmTooLow = bits, U32, 1068, [6:6] -tpsTooLow = bits, U32, 1068, [7:7] -mapTooLow = bits, U32, 1068, [8:8] -isPlantValid = bits, U32, 1068, [9:9] -isBoostControlled = bits, U32, 1068, [10:10] -luaTargetAdd = scalar, S16, 1072, "v", 0.5,0 -boostOutput = scalar, S16, 1074, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1076, "v", 1,0 -openLoopPart = scalar, F32, 1080, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1084, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1088, "%", 0.5,0 -boostControlTarget = scalar, S16, 1090, "kPa", 0.03333333333333333,0 -; total TS size = 1092 -acButtonState = scalar, S08, 1092, "", 1, 0 -m_acEnabled = bits, U32, 1096, [0:0] -engineTooSlow = bits, U32, 1096, [1:1] -engineTooFast = bits, U32, 1096, [2:2] -noClt = bits, U32, 1096, [3:3] -engineTooHot = bits, U32, 1096, [4:4] -tpsTooHigh = bits, U32, 1096, [5:5] -isDisabledByLua = bits, U32, 1096, [6:6] -acCompressorState = bits, U32, 1096, [7:7] -acPressureTooLow = bits, U32, 1096, [8:8] -acPressureTooHigh = bits, U32, 1096, [9:9] -; total TS size = 1100 -cranking0 = bits, U32, 1100, [0:0] -notRunning0 = bits, U32, 1100, [1:1] -disabledWhileEngineStopped0 = bits, U32, 1100, [2:2] -brokenClt0 = bits, U32, 1100, [3:3] -enabledForAc0 = bits, U32, 1100, [4:4] -hot0 = bits, U32, 1100, [5:5] -cold0 = bits, U32, 1100, [6:6] -disabledBySpeed0 = bits, U32, 1100, [7:7] -radiatorFanStatus0 = scalar, U08, 1104, "", 1, 0 +throttleUseWotModel = bits, U32, 1068, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1072, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1076, "g/s", 1, 0 +; total TS size = 1080 +m_requested_pump = scalar, F32, 1080, "", 1, 0 +fuel_requested_percent = scalar, F32, 1084, "", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1088, "", 1, 0 +noValve = bits, U32, 1092, [0:0] +angleAboveMin = bits, U32, 1092, [1:1] +isHpfpInactive = bits, U32, 1092, [2:2] +m_pressureTarget_kPa = scalar, F32, 1096, "", 1, 0 +nextLobe = scalar, F32, 1100, "", 1, 0 +di_nextStart = scalar, F32, 1104, "v", 1, 0 ; total TS size = 1108 -cranking1 = bits, U32, 1108, [0:0] -notRunning1 = bits, U32, 1108, [1:1] -disabledWhileEngineStopped1 = bits, U32, 1108, [2:2] -brokenClt1 = bits, U32, 1108, [3:3] -enabledForAc1 = bits, U32, 1108, [4:4] -hot1 = bits, U32, 1108, [5:5] -cold1 = bits, U32, 1108, [6:6] -disabledBySpeed1 = bits, U32, 1108, [7:7] -radiatorFanStatus1 = scalar, U08, 1112, "", 1, 0 -; total TS size = 1116 -isPrime = bits, U32, 1116, [0:0] -engineTurnedRecently = bits, U32, 1116, [1:1] -isFuelPumpOn = bits, U32, 1116, [2:2] -ignitionOn = bits, U32, 1116, [3:3] +m_deadtime = scalar, F32, 1108, "ms", 1, 0 +pressureDelta = scalar, F32, 1112, "kPa", 1, 0 +pressureRatio = scalar, F32, 1116, "", 1, 0 ; total TS size = 1120 -isBenchTest = bits, U32, 1120, [0:0] -hasIgnitionVoltage = bits, U32, 1120, [1:1] -mainRelayState = bits, U32, 1120, [2:2] -delayedShutoffRequested = bits, U32, 1120, [3:3] -; total TS size = 1124 -lua_fuelAdd = scalar, F32, 1124, "g", 1, 0 -lua_fuelMult = scalar, F32, 1128, "", 1, 0 -lua_clutchUpState = bits, U32, 1132, [0:0] -lua_brakePedalState = bits, U32, 1132, [1:1] -lua_acRequestState = bits, U32, 1132, [2:2] -lua_luaDisableEtb = bits, U32, 1132, [3:3] -lua_luaIgnCut = bits, U32, 1132, [4:4] -lua_luaFuelCut = bits, U32, 1132, [5:5] -lua_clutchDownState = bits, U32, 1132, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1132, [7:7] -sd_tCharge = scalar, S16, 1136, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1140, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1144, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1148, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1152, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1156, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1160, "", 1, 0 -hellenBoardId = scalar, S16, 1164, "id", 1, 0 -clutchUpState = scalar, S08, 1166, "", 1, 0 -clutchDownState = scalar, S08, 1167, "", 1, 0 -brakePedalState = scalar, S08, 1168, "", 1, 0 -startStopState = scalar, S08, 1169, "", 1, 0 -smartChipState = scalar, S08, 1170, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1171, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1172, "", 1, 0 -startStopPhysicalState = bits, U32, 1176, [0:0] -acrActive = bits, U32, 1176, [1:1] -acrEngineMovedRecently = bits, U32, 1176, [2:2] -heaterControlEnabled = bits, U32, 1176, [3:3] -luaDigitalState0 = bits, U32, 1176, [4:4] -luaDigitalState1 = bits, U32, 1176, [5:5] -luaDigitalState2 = bits, U32, 1176, [6:6] -luaDigitalState3 = bits, U32, 1176, [7:7] -startStopStateToggleCounter = scalar, U32, 1180, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1184, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1188, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1192, "", 1, 0 -desiredRpmLimit = scalar, S16, 1196, "rpm", 1, 0 -fuelInjectionCounter = scalar, U32, 1200, "", 1, 0 -globalSparkCounter = scalar, U32, 1204, "", 1, 0 -fuelingLoad = scalar, F32, 1208, "", 1, 0 -ignitionLoad = scalar, F32, 1212, "", 1, 0 -veTableYAxis = scalar, U16, 1216, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1218, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1219, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1220, "", 1, 0 -; total TS size = 1224 -tpsFrom = scalar, F32, 1224 -tpsTo = scalar, F32, 1228 -deltaTps = scalar, F32, 1232 -extraFuel = scalar, F32, 1236, "", 1, 0 -valueFromTable = scalar, F32, 1240, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1244, [0:0] -isBelowDecelThreshold = bits, U32, 1244, [1:1] -isTimeToResetAccumulator = bits, U32, 1244, [2:2] -isFractionalEnrichment = bits, U32, 1244, [3:3] -belowEpsilon = bits, U32, 1244, [4:4] -tooShort = bits, U32, 1244, [5:5] -fractionalInjFuel = scalar, F32, 1248, "", 1, 0 -accumulatedValue = scalar, F32, 1252, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1256, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1260, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1264, "", 1, 0 -cycleCnt = scalar, S32, 1268, "", 1, 0 -; total TS size = 1272 -hwEventCounters1 = scalar, U32, 1272, "", 1, 0 -hwEventCounters2 = scalar, U32, 1276, "", 1, 0 -hwEventCounters3 = scalar, U32, 1280, "", 1, 0 -hwEventCounters4 = scalar, U32, 1284, "", 1, 0 -hwEventCounters5 = scalar, U32, 1288, "", 1, 0 -hwEventCounters6 = scalar, U32, 1292, "", 1, 0 -vvtCamCounter = scalar, U32, 1296, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1300, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1304, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1308, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1309, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1312, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1316, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1320, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1324, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1328, [0:0] -triggerElapsedUs = scalar, U32, 1332, "", 1, 0 -; total TS size = 1336 -crankSynchronizationCounter0 = scalar, U32, 1336, "", 1, 0 -vvtSyncGapRatio0 = scalar, F32, 1340, "", 1, 0 -vvtToothDurations00 = scalar, U32, 1344, "us", 1, 0 -vvtCurrentPosition0 = scalar, F32, 1348, "sync: Primary Cam Position", 1, 0 -vvtToothPosition10 = scalar, F32, 1352, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition20 = scalar, F32, 1356, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition30 = scalar, F32, 1360, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition40 = scalar, F32, 1364, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio0 = scalar, F32, 1368, "", 1, 0 -triggerStateIndex0 = scalar, U08, 1372, "", 1, 0 -vvtStateIndex0 = scalar, U08, 1373, "", 1, 0 -; total TS size = 1376 -crankSynchronizationCounter1 = scalar, U32, 1376, "", 1, 0 -vvtSyncGapRatio1 = scalar, F32, 1380, "", 1, 0 -vvtToothDurations01 = scalar, U32, 1384, "us", 1, 0 -vvtCurrentPosition1 = scalar, F32, 1388, "sync: Primary Cam Position", 1, 0 -vvtToothPosition11 = scalar, F32, 1392, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition21 = scalar, F32, 1396, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition31 = scalar, F32, 1400, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition41 = scalar, F32, 1404, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio1 = scalar, F32, 1408, "", 1, 0 -triggerStateIndex1 = scalar, U08, 1412, "", 1, 0 -vvtStateIndex1 = scalar, U08, 1413, "", 1, 0 -; total TS size = 1416 -crankSynchronizationCounter2 = scalar, U32, 1416, "", 1, 0 -vvtSyncGapRatio2 = scalar, F32, 1420, "", 1, 0 -vvtToothDurations02 = scalar, U32, 1424, "us", 1, 0 -vvtCurrentPosition2 = scalar, F32, 1428, "sync: Primary Cam Position", 1, 0 -vvtToothPosition12 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition22 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition32 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition42 = scalar, F32, 1444, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio2 = scalar, F32, 1448, "", 1, 0 -triggerStateIndex2 = scalar, U08, 1452, "", 1, 0 -vvtStateIndex2 = scalar, U08, 1453, "", 1, 0 -; total TS size = 1456 -crankSynchronizationCounter3 = scalar, U32, 1456, "", 1, 0 -vvtSyncGapRatio3 = scalar, F32, 1460, "", 1, 0 -vvtToothDurations03 = scalar, U32, 1464, "us", 1, 0 -vvtCurrentPosition3 = scalar, F32, 1468, "sync: Primary Cam Position", 1, 0 -vvtToothPosition13 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition23 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition33 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition43 = scalar, F32, 1484, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio3 = scalar, F32, 1488, "", 1, 0 -triggerStateIndex3 = scalar, U08, 1492, "", 1, 0 -vvtStateIndex3 = scalar, U08, 1493, "", 1, 0 -; total TS size = 1496 -crankSynchronizationCounter4 = scalar, U32, 1496, "", 1, 0 -vvtSyncGapRatio4 = scalar, F32, 1500, "", 1, 0 -vvtToothDurations04 = scalar, U32, 1504, "us", 1, 0 -vvtCurrentPosition4 = scalar, F32, 1508, "sync: Primary Cam Position", 1, 0 -vvtToothPosition14 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition24 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition34 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition44 = scalar, F32, 1524, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio4 = scalar, F32, 1528, "", 1, 0 -triggerStateIndex4 = scalar, U08, 1532, "", 1, 0 -vvtStateIndex4 = scalar, U08, 1533, "", 1, 0 -; total TS size = 1536 -camResyncCounter = scalar, U08, 1536, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1540, [0:0] -; total TS size = 1544 -wallFuelCorrection = scalar, F32, 1544, "", 1, 0 -wallFuel = scalar, F32, 1548, "", 1, 0 -; total TS size = 1552 -idleState = bits, S32, 1552, [0:2], "not important" -currentIdlePosition = scalar, F32, 1556 -baseIdlePosition = scalar, F32, 1560 -idleClosedLoop = scalar, F32, 1564 -iacByTpsTaper = scalar, F32, 1568 -throttlePedalUpState = scalar, S32, 1572, "", 1, 0 -mightResetPid = bits, U32, 1576, [0:0] -shouldResetPid = bits, U32, 1576, [1:1] -wasResetPid = bits, U32, 1576, [2:2] -mustResetPid = bits, U32, 1576, [3:3] -isCranking = bits, U32, 1576, [4:4] -isIacTableForCoasting = bits, U32, 1576, [5:5] -notIdling = bits, U32, 1576, [6:6] -needReset = bits, U32, 1576, [7:7] -isInDeadZone = bits, U32, 1576, [8:8] -isBlipping = bits, U32, 1576, [9:9] -useClosedLoop = bits, U32, 1576, [10:10] -badTps = bits, U32, 1576, [11:11] -looksLikeRunning = bits, U32, 1576, [12:12] -looksLikeCoasting = bits, U32, 1576, [13:13] -looksLikeCrankToIdle = bits, U32, 1576, [14:14] -isIdleCoasting = bits, U32, 1576, [15:15] -isIdleClosedLoop = bits, U32, 1576, [16:16] -idleTarget = scalar, S32, 1580, "", 1, 0 -targetRpmByClt = scalar, S32, 1584, "", 1, 0 -targetRpmAc = scalar, S32, 1588, "", 1, 0 -iacByRpmTaper = scalar, F32, 1592 -luaAdd = scalar, F32, 1596 -; total TS size = 1600 -targetWithIdlePosition0 = scalar, F32, 1600, "per", 1,0 -trim0 = scalar, F32, 1604, "", 1, 0 -luaAdjustment0 = scalar, F32, 1608, "per", 1,0 -m_wastegatePosition0 = scalar, F32, 1612, "per", 1,0 -etbFeedForward0 = scalar, F32, 1616 -etbIntegralError0 = scalar, F32, 1620, "", 1, 0 -etbCurrentTarget0 = scalar, F32, 1624, "%", 1, 0 -etbCurrentAdjustedTarget0 = scalar, F32, 1628, "%", 1, 0 -etbRevLimitActive0 = bits, U32, 1632, [0:0] -jamDetected0 = bits, U32, 1632, [1:1] -etbTpsErrorCounter0 = scalar, U16, 1636, "count", 1,0 -etbPpsErrorCounter0 = scalar, U16, 1638, "count", 1,0 -etbErrorCode0 = scalar, S08, 1640, "", 1, 0 -tcEtbDrop0 = scalar, S08, 1641, "%", 1, 0 -jamTimer0 = scalar, U16, 1642, "sec", 0.01, 0 -adjustedEtbTarget0 = scalar, S08, 1644, "%", 1, 0 -; total TS size = 1648 -targetWithIdlePosition1 = scalar, F32, 1648, "per", 1,0 -trim1 = scalar, F32, 1652, "", 1, 0 -luaAdjustment1 = scalar, F32, 1656, "per", 1,0 -m_wastegatePosition1 = scalar, F32, 1660, "per", 1,0 -etbFeedForward1 = scalar, F32, 1664 -etbIntegralError1 = scalar, F32, 1668, "", 1, 0 -etbCurrentTarget1 = scalar, F32, 1672, "%", 1, 0 -etbCurrentAdjustedTarget1 = scalar, F32, 1676, "%", 1, 0 -etbRevLimitActive1 = bits, U32, 1680, [0:0] -jamDetected1 = bits, U32, 1680, [1:1] -etbTpsErrorCounter1 = scalar, U16, 1684, "count", 1,0 -etbPpsErrorCounter1 = scalar, U16, 1686, "count", 1,0 -etbErrorCode1 = scalar, S08, 1688, "", 1, 0 -tcEtbDrop1 = scalar, S08, 1689, "%", 1, 0 -jamTimer1 = scalar, U16, 1690, "sec", 0.01, 0 -adjustedEtbTarget1 = scalar, S08, 1692, "%", 1, 0 -; total TS size = 1696 -faultCode0 = scalar, U08, 1696, "", 1, 0 -heaterDuty0 = scalar, U08, 1697, "%", 1, 0 -pumpDuty0 = scalar, U08, 1698, "%", 1, 0 -tempC0 = scalar, U16, 1700, "C", 1, 0 -nernstVoltage0 = scalar, U16, 1702, "V", 0.001, 0 -esr0 = scalar, U16, 1704, "ohm", 1, 0 -; total TS size = 1708 -faultCode1 = scalar, U08, 1708, "", 1, 0 -heaterDuty1 = scalar, U08, 1709, "%", 1, 0 -pumpDuty1 = scalar, U08, 1710, "%", 1, 0 -tempC1 = scalar, U16, 1712, "C", 1, 0 -nernstVoltage1 = scalar, U16, 1714, "V", 0.001, 0 -esr1 = scalar, U16, 1716, "ohm", 1, 0 -; total TS size = 1720 -dcOutput0 = scalar, F32, 1720, "per", 1,0 -isEnabled0_int = scalar, U08, 1724, "per", 1,0 -isEnabled0 = bits, U32, 1728, [0:0] -; total TS size = 1732 -value0 = scalar, U16, 1732, "value", 1,0 -value1 = scalar, U16, 1734, "value", 1,0 -errorRate = scalar, F32, 1736, "ratio", 1,0 -; total TS size = 1740 -vvtTarget = scalar, U16, 1740, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1742, "%", 0.5, 0 -; total TS size = 1744 -lambdaCurrentlyGood = bits, U32, 1744, [0:0] -lambdaMonitorCut = bits, U32, 1744, [1:1] -lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 -; total TS size = 1752 +retardThresholdRpm = scalar, S32, 1120, "", 1, 0 +launchActivatePinState = bits, U32, 1124, [0:0] +isPreLaunchCondition = bits, U32, 1124, [1:1] +isLaunchCondition = bits, U32, 1124, [2:2] +isSwitchActivated = bits, U32, 1124, [3:3] +isClutchActivated = bits, U32, 1124, [4:4] +isBrakePedalActivated = bits, U32, 1124, [5:5] +isValidInputPin = bits, U32, 1124, [6:6] +activateSwitchCondition = bits, U32, 1124, [7:7] +rpmLaunchCondition = bits, U32, 1124, [8:8] +rpmPreLaunchCondition = bits, U32, 1124, [9:9] +speedCondition = bits, U32, 1124, [10:10] +tpsCondition = bits, U32, 1124, [11:11] +; total TS size = 1128 +isTorqueReductionTriggerPinValid = bits, U32, 1128, [0:0] +torqueReductionTriggerPinState = bits, U32, 1128, [1:1] +isTimeConditionSatisfied = bits, U32, 1128, [2:2] +isRpmConditionSatisfied = bits, U32, 1128, [3:3] +isAppConditionSatisfied = bits, U32, 1128, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1128, [5:5] +; total TS size = 1132 +isAntilagCondition = bits, U32, 1132, [0:0] +ALSMinRPMCondition = bits, U32, 1132, [1:1] +ALSMaxRPMCondition = bits, U32, 1132, [2:2] +ALSMinCLTCondition = bits, U32, 1132, [3:3] +ALSMaxCLTCondition = bits, U32, 1132, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1132, [5:5] +isALSSwitchActivated = bits, U32, 1132, [6:6] +ALSActivatePinState = bits, U32, 1132, [7:7] +ALSSwitchCondition = bits, U32, 1132, [8:8] +ALSTimerCondition = bits, U32, 1132, [9:9] +fuelALSCorrection = scalar, F32, 1136, "", 1, 0 +timingALSCorrection = scalar, S16, 1140, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1142, "deg", 0.01, 0 +; total TS size = 1144 +isTpsInvalid = bits, U32, 1144, [0:0] +m_shouldResetPid = bits, U32, 1144, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1144, [2:2] +isNotClosedLoop = bits, U32, 1144, [3:3] +isZeroRpm = bits, U32, 1144, [4:4] +hasInitBoost = bits, U32, 1144, [5:5] +rpmTooLow = bits, U32, 1144, [6:6] +tpsTooLow = bits, U32, 1144, [7:7] +mapTooLow = bits, U32, 1144, [8:8] +isPlantValid = bits, U32, 1144, [9:9] +isBoostControlled = bits, U32, 1144, [10:10] +luaTargetAdd = scalar, S16, 1148, "v", 0.5,0 +boostOutput = scalar, S16, 1150, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1152, "v", 1,0 +openLoopPart = scalar, F32, 1156, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1160, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1164, "%", 0.5,0 +boostControlTarget = scalar, S16, 1166, "kPa", 0.03333333333333333,0 +; total TS size = 1168 +acButtonState = scalar, S08, 1168, "", 1, 0 +m_acEnabled = bits, U32, 1172, [0:0] +engineTooSlow = bits, U32, 1172, [1:1] +engineTooFast = bits, U32, 1172, [2:2] +noClt = bits, U32, 1172, [3:3] +engineTooHot = bits, U32, 1172, [4:4] +tpsTooHigh = bits, U32, 1172, [5:5] +isDisabledByLua = bits, U32, 1172, [6:6] +acCompressorState = bits, U32, 1172, [7:7] +acPressureTooLow = bits, U32, 1172, [8:8] +acPressureTooHigh = bits, U32, 1172, [9:9] +; total TS size = 1176 +cranking0 = bits, U32, 1176, [0:0] +notRunning0 = bits, U32, 1176, [1:1] +disabledWhileEngineStopped0 = bits, U32, 1176, [2:2] +brokenClt0 = bits, U32, 1176, [3:3] +enabledForAc0 = bits, U32, 1176, [4:4] +hot0 = bits, U32, 1176, [5:5] +cold0 = bits, U32, 1176, [6:6] +disabledBySpeed0 = bits, U32, 1176, [7:7] +radiatorFanStatus0 = scalar, U08, 1180, "", 1, 0 +; total TS size = 1184 +cranking1 = bits, U32, 1184, [0:0] +notRunning1 = bits, U32, 1184, [1:1] +disabledWhileEngineStopped1 = bits, U32, 1184, [2:2] +brokenClt1 = bits, U32, 1184, [3:3] +enabledForAc1 = bits, U32, 1184, [4:4] +hot1 = bits, U32, 1184, [5:5] +cold1 = bits, U32, 1184, [6:6] +disabledBySpeed1 = bits, U32, 1184, [7:7] +radiatorFanStatus1 = scalar, U08, 1188, "", 1, 0 +; total TS size = 1192 +isPrime = bits, U32, 1192, [0:0] +engineTurnedRecently = bits, U32, 1192, [1:1] +isFuelPumpOn = bits, U32, 1192, [2:2] +ignitionOn = bits, U32, 1192, [3:3] +; total TS size = 1196 +isBenchTest = bits, U32, 1196, [0:0] +hasIgnitionVoltage = bits, U32, 1196, [1:1] +mainRelayState = bits, U32, 1196, [2:2] +delayedShutoffRequested = bits, U32, 1196, [3:3] +; total TS size = 1200 +lua_fuelAdd = scalar, F32, 1200, "g", 1, 0 +lua_fuelMult = scalar, F32, 1204, "", 1, 0 +lua_clutchUpState = bits, U32, 1208, [0:0] +lua_brakePedalState = bits, U32, 1208, [1:1] +lua_acRequestState = bits, U32, 1208, [2:2] +lua_luaDisableEtb = bits, U32, 1208, [3:3] +lua_luaIgnCut = bits, U32, 1208, [4:4] +lua_luaFuelCut = bits, U32, 1208, [5:5] +lua_clutchDownState = bits, U32, 1208, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1208, [7:7] +sd_tCharge = scalar, S16, 1212, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1216, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1220, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1224, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1228, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1232, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1236, "", 1, 0 +hellenBoardId = scalar, S16, 1240, "id", 1, 0 +clutchUpState = scalar, S08, 1242, "", 1, 0 +clutchDownState = scalar, S08, 1243, "", 1, 0 +brakePedalState = scalar, S08, 1244, "", 1, 0 +startStopState = scalar, S08, 1245, "", 1, 0 +smartChipState = scalar, S08, 1246, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1247, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1248, "", 1, 0 +startStopPhysicalState = bits, U32, 1252, [0:0] +acrActive = bits, U32, 1252, [1:1] +acrEngineMovedRecently = bits, U32, 1252, [2:2] +heaterControlEnabled = bits, U32, 1252, [3:3] +luaDigitalState0 = bits, U32, 1252, [4:4] +luaDigitalState1 = bits, U32, 1252, [5:5] +luaDigitalState2 = bits, U32, 1252, [6:6] +luaDigitalState3 = bits, U32, 1252, [7:7] +startStopStateToggleCounter = scalar, U32, 1256, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1260, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1264, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1268, "", 1, 0 +desiredRpmLimit = scalar, S16, 1272, "rpm", 1, 0 +fuelInjectionCounter = scalar, U32, 1276, "", 1, 0 +globalSparkCounter = scalar, U32, 1280, "", 1, 0 +fuelingLoad = scalar, F32, 1284, "", 1, 0 +ignitionLoad = scalar, F32, 1288, "", 1, 0 +veTableYAxis = scalar, U16, 1292, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1294, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1295, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1296, "", 1, 0 +; total TS size = 1300 +tpsFrom = scalar, F32, 1300 +tpsTo = scalar, F32, 1304 +deltaTps = scalar, F32, 1308 +extraFuel = scalar, F32, 1312, "", 1, 0 +valueFromTable = scalar, F32, 1316, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1320, [0:0] +isBelowDecelThreshold = bits, U32, 1320, [1:1] +isTimeToResetAccumulator = bits, U32, 1320, [2:2] +isFractionalEnrichment = bits, U32, 1320, [3:3] +belowEpsilon = bits, U32, 1320, [4:4] +tooShort = bits, U32, 1320, [5:5] +fractionalInjFuel = scalar, F32, 1324, "", 1, 0 +accumulatedValue = scalar, F32, 1328, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1332, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1336, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1340, "", 1, 0 +cycleCnt = scalar, S32, 1344, "", 1, 0 +; total TS size = 1348 +hwEventCounters1 = scalar, U32, 1348, "", 1, 0 +hwEventCounters2 = scalar, U32, 1352, "", 1, 0 +hwEventCounters3 = scalar, U32, 1356, "", 1, 0 +hwEventCounters4 = scalar, U32, 1360, "", 1, 0 +hwEventCounters5 = scalar, U32, 1364, "", 1, 0 +hwEventCounters6 = scalar, U32, 1368, "", 1, 0 +vvtCamCounter = scalar, U32, 1372, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1376, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1380, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1384, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1385, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1388, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1392, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1396, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1400, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1404, [0:0] +triggerElapsedUs = scalar, U32, 1408, "", 1, 0 +; total TS size = 1412 +crankSynchronizationCounter0 = scalar, U32, 1412, "", 1, 0 +vvtSyncGapRatio0 = scalar, F32, 1416, "", 1, 0 +vvtToothDurations00 = scalar, U32, 1420, "us", 1, 0 +vvtCurrentPosition0 = scalar, F32, 1424, "sync: Primary Cam Position", 1, 0 +vvtToothPosition10 = scalar, F32, 1428, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition20 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition30 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition40 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio0 = scalar, F32, 1444, "", 1, 0 +triggerStateIndex0 = scalar, U08, 1448, "", 1, 0 +vvtStateIndex0 = scalar, U08, 1449, "", 1, 0 +; total TS size = 1452 +crankSynchronizationCounter1 = scalar, U32, 1452, "", 1, 0 +vvtSyncGapRatio1 = scalar, F32, 1456, "", 1, 0 +vvtToothDurations01 = scalar, U32, 1460, "us", 1, 0 +vvtCurrentPosition1 = scalar, F32, 1464, "sync: Primary Cam Position", 1, 0 +vvtToothPosition11 = scalar, F32, 1468, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition21 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition31 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition41 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio1 = scalar, F32, 1484, "", 1, 0 +triggerStateIndex1 = scalar, U08, 1488, "", 1, 0 +vvtStateIndex1 = scalar, U08, 1489, "", 1, 0 +; total TS size = 1492 +crankSynchronizationCounter2 = scalar, U32, 1492, "", 1, 0 +vvtSyncGapRatio2 = scalar, F32, 1496, "", 1, 0 +vvtToothDurations02 = scalar, U32, 1500, "us", 1, 0 +vvtCurrentPosition2 = scalar, F32, 1504, "sync: Primary Cam Position", 1, 0 +vvtToothPosition12 = scalar, F32, 1508, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition22 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition32 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition42 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio2 = scalar, F32, 1524, "", 1, 0 +triggerStateIndex2 = scalar, U08, 1528, "", 1, 0 +vvtStateIndex2 = scalar, U08, 1529, "", 1, 0 +; total TS size = 1532 +crankSynchronizationCounter3 = scalar, U32, 1532, "", 1, 0 +vvtSyncGapRatio3 = scalar, F32, 1536, "", 1, 0 +vvtToothDurations03 = scalar, U32, 1540, "us", 1, 0 +vvtCurrentPosition3 = scalar, F32, 1544, "sync: Primary Cam Position", 1, 0 +vvtToothPosition13 = scalar, F32, 1548, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition23 = scalar, F32, 1552, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition33 = scalar, F32, 1556, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition43 = scalar, F32, 1560, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio3 = scalar, F32, 1564, "", 1, 0 +triggerStateIndex3 = scalar, U08, 1568, "", 1, 0 +vvtStateIndex3 = scalar, U08, 1569, "", 1, 0 +; total TS size = 1572 +crankSynchronizationCounter4 = scalar, U32, 1572, "", 1, 0 +vvtSyncGapRatio4 = scalar, F32, 1576, "", 1, 0 +vvtToothDurations04 = scalar, U32, 1580, "us", 1, 0 +vvtCurrentPosition4 = scalar, F32, 1584, "sync: Primary Cam Position", 1, 0 +vvtToothPosition14 = scalar, F32, 1588, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition24 = scalar, F32, 1592, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition34 = scalar, F32, 1596, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition44 = scalar, F32, 1600, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio4 = scalar, F32, 1604, "", 1, 0 +triggerStateIndex4 = scalar, U08, 1608, "", 1, 0 +vvtStateIndex4 = scalar, U08, 1609, "", 1, 0 +; total TS size = 1612 +camResyncCounter = scalar, U08, 1612, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1616, [0:0] +; total TS size = 1620 +wallFuelCorrection = scalar, F32, 1620, "", 1, 0 +wallFuel = scalar, F32, 1624, "", 1, 0 +; total TS size = 1628 +idleState = bits, S32, 1628, [0:2], "not important" +currentIdlePosition = scalar, F32, 1632 +baseIdlePosition = scalar, F32, 1636 +idleClosedLoop = scalar, F32, 1640 +iacByTpsTaper = scalar, F32, 1644 +throttlePedalUpState = scalar, S32, 1648, "", 1, 0 +mightResetPid = bits, U32, 1652, [0:0] +shouldResetPid = bits, U32, 1652, [1:1] +wasResetPid = bits, U32, 1652, [2:2] +mustResetPid = bits, U32, 1652, [3:3] +isCranking = bits, U32, 1652, [4:4] +isIacTableForCoasting = bits, U32, 1652, [5:5] +notIdling = bits, U32, 1652, [6:6] +needReset = bits, U32, 1652, [7:7] +isInDeadZone = bits, U32, 1652, [8:8] +isBlipping = bits, U32, 1652, [9:9] +useClosedLoop = bits, U32, 1652, [10:10] +badTps = bits, U32, 1652, [11:11] +looksLikeRunning = bits, U32, 1652, [12:12] +looksLikeCoasting = bits, U32, 1652, [13:13] +looksLikeCrankToIdle = bits, U32, 1652, [14:14] +isIdleCoasting = bits, U32, 1652, [15:15] +isIdleClosedLoop = bits, U32, 1652, [16:16] +idleTarget = scalar, S32, 1656, "", 1, 0 +targetRpmByClt = scalar, S32, 1660, "", 1, 0 +targetRpmAc = scalar, S32, 1664, "", 1, 0 +iacByRpmTaper = scalar, F32, 1668 +luaAdd = scalar, F32, 1672 +; total TS size = 1676 +targetWithIdlePosition0 = scalar, F32, 1676, "per", 1,0 +trim0 = scalar, F32, 1680, "", 1, 0 +luaAdjustment0 = scalar, F32, 1684, "per", 1,0 +m_wastegatePosition0 = scalar, F32, 1688, "per", 1,0 +etbFeedForward0 = scalar, F32, 1692 +etbIntegralError0 = scalar, F32, 1696, "", 1, 0 +etbCurrentTarget0 = scalar, F32, 1700, "%", 1, 0 +etbCurrentAdjustedTarget0 = scalar, F32, 1704, "%", 1, 0 +etbRevLimitActive0 = bits, U32, 1708, [0:0] +jamDetected0 = bits, U32, 1708, [1:1] +etbTpsErrorCounter0 = scalar, U16, 1712, "count", 1,0 +etbPpsErrorCounter0 = scalar, U16, 1714, "count", 1,0 +etbErrorCode0 = scalar, S08, 1716, "", 1, 0 +tcEtbDrop0 = scalar, S08, 1717, "%", 1, 0 +jamTimer0 = scalar, U16, 1718, "sec", 0.01, 0 +adjustedEtbTarget0 = scalar, S08, 1720, "%", 1, 0 +; total TS size = 1724 +targetWithIdlePosition1 = scalar, F32, 1724, "per", 1,0 +trim1 = scalar, F32, 1728, "", 1, 0 +luaAdjustment1 = scalar, F32, 1732, "per", 1,0 +m_wastegatePosition1 = scalar, F32, 1736, "per", 1,0 +etbFeedForward1 = scalar, F32, 1740 +etbIntegralError1 = scalar, F32, 1744, "", 1, 0 +etbCurrentTarget1 = scalar, F32, 1748, "%", 1, 0 +etbCurrentAdjustedTarget1 = scalar, F32, 1752, "%", 1, 0 +etbRevLimitActive1 = bits, U32, 1756, [0:0] +jamDetected1 = bits, U32, 1756, [1:1] +etbTpsErrorCounter1 = scalar, U16, 1760, "count", 1,0 +etbPpsErrorCounter1 = scalar, U16, 1762, "count", 1,0 +etbErrorCode1 = scalar, S08, 1764, "", 1, 0 +tcEtbDrop1 = scalar, S08, 1765, "%", 1, 0 +jamTimer1 = scalar, U16, 1766, "sec", 0.01, 0 +adjustedEtbTarget1 = scalar, S08, 1768, "%", 1, 0 +; total TS size = 1772 +faultCode0 = scalar, U08, 1772, "", 1, 0 +heaterDuty0 = scalar, U08, 1773, "%", 1, 0 +pumpDuty0 = scalar, U08, 1774, "%", 1, 0 +tempC0 = scalar, U16, 1776, "C", 1, 0 +nernstVoltage0 = scalar, U16, 1778, "V", 0.001, 0 +esr0 = scalar, U16, 1780, "ohm", 1, 0 +; total TS size = 1784 +faultCode1 = scalar, U08, 1784, "", 1, 0 +heaterDuty1 = scalar, U08, 1785, "%", 1, 0 +pumpDuty1 = scalar, U08, 1786, "%", 1, 0 +tempC1 = scalar, U16, 1788, "C", 1, 0 +nernstVoltage1 = scalar, U16, 1790, "V", 0.001, 0 +esr1 = scalar, U16, 1792, "ohm", 1, 0 +; total TS size = 1796 +dcOutput0 = scalar, F32, 1796, "per", 1,0 +isEnabled0_int = scalar, U08, 1800, "per", 1,0 +isEnabled0 = bits, U32, 1804, [0:0] +; total TS size = 1808 +value0 = scalar, U16, 1808, "value", 1,0 +value1 = scalar, U16, 1810, "value", 1,0 +errorRate = scalar, F32, 1812, "ratio", 1,0 +; total TS size = 1816 +vvtTarget = scalar, U16, 1816, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1818, "%", 0.5, 0 +; total TS size = 1820 +lambdaCurrentlyGood = bits, U32, 1820, [0:0] +lambdaMonitorCut = bits, U32, 1820, [1:1] +lambdaTimeSinceGood = scalar, U16, 1824, "sec", 0.01, 0 +; total TS size = 1828 time = { timeNow } @@ -3616,6 +3648,7 @@ lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs8 requiresPowerCycle = cylinderBore + requiresPowerCycle = knockFrequency readOnly = warning_message readOnly = device_uid1 @@ -5033,6 +5066,26 @@ gaugeCategory = Knock knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knockSpectrumChannelCylGauge = m_knockSpectrumChannelCyl, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStartGauge = m_knockFrequencyStart, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStepGauge = m_knockFrequencyStep, "Knock Frequency Step", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFuelTrimMultiplier = m_knockFuelTrimMultiplier, "Knock Fuel Trim", "mult", 0, 0, 0, 0, 0, 30, 1, 1 + knockSpectrum1 = m_knockSpectrum1, "Knock Spectrum1", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum2 = m_knockSpectrum2, "knockSpectrum2", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum3 = m_knockSpectrum3, "knockSpectrum3", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum4 = m_knockSpectrum4, "knockSpectrum4", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum5 = m_knockSpectrum5, "knockSpectrum5", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum6 = m_knockSpectrum6, "knockSpectrum6", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum7 = m_knockSpectrum7, "knockSpectrum7", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum8 = m_knockSpectrum8, "knockSpectrum8", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum9 = m_knockSpectrum9, "knockSpectrum9", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum10 = m_knockSpectrum10, "knockSpectrum10", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum11 = m_knockSpectrum11, "knockSpectrum11", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum12 = m_knockSpectrum12, "knockSpectrum12", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum13 = m_knockSpectrum13, "knockSpectrum13", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum14 = m_knockSpectrum14, "knockSpectrum14", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum15 = m_knockSpectrum15, "knockSpectrum15", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum16 = m_knockSpectrum16, "knockSpectrum16", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -5631,6 +5684,26 @@ entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" entry = m_knockCount, "Knock: Count", int, "%d" entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_knockFrequency, "knock: frequency", int, "%d" +entry = m_knockSpectrum1, "Knock: SpectrumData 1", int, "%d" +entry = m_knockSpectrum2, "Knock: SpectrumData 2", int, "%d" +entry = m_knockSpectrum3, "Knock: SpectrumData 3", int, "%d" +entry = m_knockSpectrum4, "Knock: SpectrumData 4", int, "%d" +entry = m_knockSpectrum5, "Knock: SpectrumData 5", int, "%d" +entry = m_knockSpectrum6, "Knock: SpectrumData 6", int, "%d" +entry = m_knockSpectrum7, "Knock: SpectrumData 7", int, "%d" +entry = m_knockSpectrum8, "Knock: SpectrumData 8", int, "%d" +entry = m_knockSpectrum9, "Knock: SpectrumData 9", int, "%d" +entry = m_knockSpectrum10, "Knock: SpectrumData 10", int, "%d" +entry = m_knockSpectrum11, "Knock: SpectrumData 11", int, "%d" +entry = m_knockSpectrum12, "Knock: SpectrumData 12", int, "%d" +entry = m_knockSpectrum13, "Knock: SpectrumData 13", int, "%d" +entry = m_knockSpectrum14, "Knock: SpectrumData 14", int, "%d" +entry = m_knockSpectrum15, "Knock: SpectrumData 15", int, "%d" +entry = m_knockSpectrum16, "Knock: SpectrumData 16", int, "%d" +entry = m_knockSpectrumChannelCyl, "Knock: ChannelAndCylNumber", int, "%d" +entry = m_knockFrequencyStart, "Knock: Start Freq", int, "%d" +entry = m_knockFrequencyStep, "Knock: Step Freq", float, "%.3f" +entry = m_knockFuelTrimMultiplier, "Knock: Fuel trim when knock", float, "%.3f" entry = tcuCurrentGear, "TCU: Current Gear", int, "%d" entry = tcRatio, "TCU: Torque Converter Ratio", float, "%.3f" entry = lastShiftTime, "lastShiftTime", float, "%.3f" @@ -6526,6 +6599,31 @@ dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard graphLine = m_knockFrequency + graphLine = m_knockSpectrum1 + graphLine = m_knockSpectrum2 + liveGraph = knock_controller_6_Graph, "Graph", South + graphLine = m_knockSpectrum3 + graphLine = m_knockSpectrum4 + graphLine = m_knockSpectrum5 + graphLine = m_knockSpectrum6 + liveGraph = knock_controller_7_Graph, "Graph", South + graphLine = m_knockSpectrum7 + graphLine = m_knockSpectrum8 + graphLine = m_knockSpectrum9 + graphLine = m_knockSpectrum10 + liveGraph = knock_controller_8_Graph, "Graph", South + graphLine = m_knockSpectrum11 + graphLine = m_knockSpectrum12 + graphLine = m_knockSpectrum13 + graphLine = m_knockSpectrum14 + liveGraph = knock_controller_9_Graph, "Graph", South + graphLine = m_knockSpectrum15 + graphLine = m_knockSpectrum16 + graphLine = m_knockSpectrumChannelCyl + graphLine = m_knockFrequencyStart + liveGraph = knock_controller_10_Graph, "Graph", South + graphLine = m_knockFrequencyStep + graphLine = m_knockFuelTrimMultiplier indicatorPanel = tcu_controllerIndicatorPanel, 2 indicator = {isShifting}, "isShifting No", "isShifting Yes" @@ -8559,9 +8657,13 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockCfg, "Sense" field = "Enable", enableSoftwareKnock field = "Cylinder Bore", cylinderBore, {enableSoftwareKnock} + field = "Estimated Knock Frequency",knockFrequency, {enableSoftwareKnock} field = "Detection mode", knockDetectionUseDoubleFrequency field = "Detection Window Start",knockDetectionWindowStart, {enableSoftwareKnock} field = "Sampling Duration", knockSamplingDuration, {enableSoftwareKnock} + field = "Enable Knock Spectrogram", enableKnockSpectrogram, {enableSoftwareKnock} + field = "Enable Knock Spectrogram Filter", enableKnockSpectrogramFilter, {enableKnockSpectrogram} + field = "Knock Spectrum Sensitivity", knockSpectrumSensitivity, {enableKnockSpectrogram} field = "" field = "Select the nearest sensor for each cylinder" @@ -8581,6 +8683,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockResponseCfg, "Response" field = knockRetardAggression, knockRetardAggression field = knockRetardReapplyRate, knockRetardReapplyRate + field = knockFuelTrimAggression, knockFuelTrimAggression + field = knockFuelTrimReapplyRate, knockFuelTrimReapplyRate + field = knockFuelTrim, knockFuelTrim + field = knockSuppressMinTps, knockSuppressMinTps dialog = softwareKnockLeft, "" panel = softwareKnockCfg diff --git a/firmware/tunerstudio/generated/rusefi_hellen-gm-e67.ini b/firmware/tunerstudio/generated/rusefi_hellen-gm-e67.ini index dd8eba39fd..4d0271d77b 100644 --- a/firmware/tunerstudio/generated/rusefi_hellen-gm-e67.ini +++ b/firmware/tunerstudio/generated/rusefi_hellen-gm-e67.ini @@ -38,12 +38,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.10.21.hellen-gm-e67.1251524001" + signature = "rusEFI master.2024.10.21.hellen-gm-e67.2528175966" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.10.21.hellen-gm-e67.1251524001" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.10.21.hellen-gm-e67.2528175966" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -774,6 +774,7 @@ devBit7 = bits, U32, 1492, [27:27], "false", "true" unusedSkipWasHere = bits, U32, 1492, [28:28], "false", "true" invertExhaustCamVVTSignal = bits, U32, 1492, [29:29], "Rising", "Falling" enableKnockSpectrogram = bits, U32, 1492, [30:30], "false", "true" +enableKnockSpectrogramFilter = bits, U32, 1492, [31:31], "false", "true" afterCrankingIACtaperDuration = scalar, S16, 1496, "cycles", 1, 0, 0, 5000, 0 iacByTpsTaper = scalar, S16, 1498, "percent", 1, 0, 0, 500, 0 unusedAuxSeria = bits, U16, 1500, [0:8], $gpio_list @@ -1394,7 +1395,13 @@ auxLinear4_v1 = scalar, F32, 3880, "volts", 1, 0, 0, 10, 2 auxLinear4_value1 = scalar, F32, 3884, "", 1, 0, -100000, 1000000, 2 auxLinear4_v2 = scalar, F32, 3888, "volts", 1, 0, 0, 10, 2 auxLinear4_value2 = scalar, F32, 3892, "", 1, 0, -100000, 1000000, 2 -unusedOftenChangesDuringFirmwareUpdate = array, U08, 3896, [128], "units", 1, 0, 0, 1, 0 +knockSuppressMinTps = scalar, U08, 3896, "%", 1, 0, 0, 100, 1 +knockFuelTrimAggression = scalar, U08, 3897, "%", 0.1, 0, 0, 20, 1 +knockFuelTrimReapplyRate = scalar, U08, 3898, "deg/s", 0.1, 0, 0, 10, 1 +knockFuelTrim = scalar, U08, 3899, "%", 1, 0, 0, 30, 1 +knockSpectrumSensitivity = scalar, F32, 3900, "sense", 1, 0, 0, 1, 2 +knockFrequency = scalar, F32, 3904, "Hz", 1, 0, 0, 20000, 2 +unusedOftenChangesDuringFirmwareUpdate = array, U08, 3908, [116], "units", 1, 0, 0, 1, 0 postCrankingFactor = array, F32, 4024, [6x6], "mult", 1, 0, 1, 3, 2 postCrankingDurationBins = array, F32, 4168, [6], "count", 1, 0, 0, 1000, 0 postCrankingCLTBins = array, S16, 4192, [6], "C", 1, 0, -100, 250, 0 @@ -2448,6 +2455,11 @@ minimumOilPressureValues = array, U08, 22960, [8], "kPa", 10.0, 0, 0, 1000, 0 minAcPressure = "value of A/C pressure in kPa before that compressor is disengaged" maxAcPressure = "value of A/C pressure in kPa after that compressor is disengaged" minimumOilPressureTimeout = "Delay before cutting fuel due to low oil pressure. Use this to ignore short pressure blips and sensor noise." + knockSuppressMinTps = "Below TPS value all knock suppression will be disabled." + knockFuelTrimAggression = "Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump)," + knockFuelTrimReapplyRate = "After a knock event, reapply fuel at this rate." + knockFuelTrim = "Fuel trim when knock, max 30%" + knockFrequency = "Estimated knock frequency, ignore cylinderBore if this one > 0" etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, open loop component of PID closed loop control" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2560,7 +2572,7 @@ minimumOilPressureValues = array, U08, 22960, [8], "kPa", 10.0, 0, 0, 1000, 0 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1752 + ochBlockSize = 1828 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3101,370 +3113,390 @@ m_knockThreshold = scalar, F32, 960, "", 1, 0 m_knockCount = scalar, U32, 964, "", 1, 0 m_maximumRetard = scalar, F32, 968, "", 1, 0 m_knockFrequency = scalar, U32, 972, "Hz", 1, 0 -; total TS size = 976 -tcuCurrentGear = scalar, S08, 976, "gear", 1, 0 -tcRatio = scalar, U16, 978, "value", 0.01, 0 -lastShiftTime = scalar, F32, 980, "", 1, 0 -tcu_currentRange = scalar, U08, 984, "", 1, 0 -pressureControlDuty = scalar, S08, 985, "%", 1,0 -torqueConverterDuty = scalar, S08, 986, "%", 1,0 -isShifting = bits, U32, 988, [0:0] -; total TS size = 992 -throttleUseWotModel = bits, U32, 992, [0:0] -throttleModelCrossoverAngle = scalar, S16, 996, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1000, "g/s", 1, 0 -; total TS size = 1004 -m_requested_pump = scalar, F32, 1004, "", 1, 0 -fuel_requested_percent = scalar, F32, 1008, "", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1012, "", 1, 0 -noValve = bits, U32, 1016, [0:0] -angleAboveMin = bits, U32, 1016, [1:1] -isHpfpInactive = bits, U32, 1016, [2:2] -m_pressureTarget_kPa = scalar, F32, 1020, "", 1, 0 -nextLobe = scalar, F32, 1024, "", 1, 0 -di_nextStart = scalar, F32, 1028, "v", 1, 0 -; total TS size = 1032 -m_deadtime = scalar, F32, 1032, "ms", 1, 0 -pressureDelta = scalar, F32, 1036, "kPa", 1, 0 -pressureRatio = scalar, F32, 1040, "", 1, 0 -; total TS size = 1044 -retardThresholdRpm = scalar, S32, 1044, "", 1, 0 -launchActivatePinState = bits, U32, 1048, [0:0] -isPreLaunchCondition = bits, U32, 1048, [1:1] -isLaunchCondition = bits, U32, 1048, [2:2] -isSwitchActivated = bits, U32, 1048, [3:3] -isClutchActivated = bits, U32, 1048, [4:4] -isBrakePedalActivated = bits, U32, 1048, [5:5] -isValidInputPin = bits, U32, 1048, [6:6] -activateSwitchCondition = bits, U32, 1048, [7:7] -rpmLaunchCondition = bits, U32, 1048, [8:8] -rpmPreLaunchCondition = bits, U32, 1048, [9:9] -speedCondition = bits, U32, 1048, [10:10] -tpsCondition = bits, U32, 1048, [11:11] +m_knockSpectrum1 = scalar, U32, 976, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 980, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 984, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 988, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1040, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1042, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1044, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1048, "multiplier", 1, 0 ; total TS size = 1052 -isTorqueReductionTriggerPinValid = bits, U32, 1052, [0:0] -torqueReductionTriggerPinState = bits, U32, 1052, [1:1] -isTimeConditionSatisfied = bits, U32, 1052, [2:2] -isRpmConditionSatisfied = bits, U32, 1052, [3:3] -isAppConditionSatisfied = bits, U32, 1052, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1052, [5:5] -; total TS size = 1056 -isAntilagCondition = bits, U32, 1056, [0:0] -ALSMinRPMCondition = bits, U32, 1056, [1:1] -ALSMaxRPMCondition = bits, U32, 1056, [2:2] -ALSMinCLTCondition = bits, U32, 1056, [3:3] -ALSMaxCLTCondition = bits, U32, 1056, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1056, [5:5] -isALSSwitchActivated = bits, U32, 1056, [6:6] -ALSActivatePinState = bits, U32, 1056, [7:7] -ALSSwitchCondition = bits, U32, 1056, [8:8] -ALSTimerCondition = bits, U32, 1056, [9:9] -fuelALSCorrection = scalar, F32, 1060, "", 1, 0 -timingALSCorrection = scalar, S16, 1064, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1066, "deg", 0.01, 0 +tcuCurrentGear = scalar, S08, 1052, "gear", 1, 0 +tcRatio = scalar, U16, 1054, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1056, "", 1, 0 +tcu_currentRange = scalar, U08, 1060, "", 1, 0 +pressureControlDuty = scalar, S08, 1061, "%", 1,0 +torqueConverterDuty = scalar, S08, 1062, "%", 1,0 +isShifting = bits, U32, 1064, [0:0] ; total TS size = 1068 -isTpsInvalid = bits, U32, 1068, [0:0] -m_shouldResetPid = bits, U32, 1068, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1068, [2:2] -isNotClosedLoop = bits, U32, 1068, [3:3] -isZeroRpm = bits, U32, 1068, [4:4] -hasInitBoost = bits, U32, 1068, [5:5] -rpmTooLow = bits, U32, 1068, [6:6] -tpsTooLow = bits, U32, 1068, [7:7] -mapTooLow = bits, U32, 1068, [8:8] -isPlantValid = bits, U32, 1068, [9:9] -isBoostControlled = bits, U32, 1068, [10:10] -luaTargetAdd = scalar, S16, 1072, "v", 0.5,0 -boostOutput = scalar, S16, 1074, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1076, "v", 1,0 -openLoopPart = scalar, F32, 1080, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1084, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1088, "%", 0.5,0 -boostControlTarget = scalar, S16, 1090, "kPa", 0.03333333333333333,0 -; total TS size = 1092 -acButtonState = scalar, S08, 1092, "", 1, 0 -m_acEnabled = bits, U32, 1096, [0:0] -engineTooSlow = bits, U32, 1096, [1:1] -engineTooFast = bits, U32, 1096, [2:2] -noClt = bits, U32, 1096, [3:3] -engineTooHot = bits, U32, 1096, [4:4] -tpsTooHigh = bits, U32, 1096, [5:5] -isDisabledByLua = bits, U32, 1096, [6:6] -acCompressorState = bits, U32, 1096, [7:7] -acPressureTooLow = bits, U32, 1096, [8:8] -acPressureTooHigh = bits, U32, 1096, [9:9] -; total TS size = 1100 -cranking0 = bits, U32, 1100, [0:0] -notRunning0 = bits, U32, 1100, [1:1] -disabledWhileEngineStopped0 = bits, U32, 1100, [2:2] -brokenClt0 = bits, U32, 1100, [3:3] -enabledForAc0 = bits, U32, 1100, [4:4] -hot0 = bits, U32, 1100, [5:5] -cold0 = bits, U32, 1100, [6:6] -disabledBySpeed0 = bits, U32, 1100, [7:7] -radiatorFanStatus0 = scalar, U08, 1104, "", 1, 0 +throttleUseWotModel = bits, U32, 1068, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1072, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1076, "g/s", 1, 0 +; total TS size = 1080 +m_requested_pump = scalar, F32, 1080, "", 1, 0 +fuel_requested_percent = scalar, F32, 1084, "", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1088, "", 1, 0 +noValve = bits, U32, 1092, [0:0] +angleAboveMin = bits, U32, 1092, [1:1] +isHpfpInactive = bits, U32, 1092, [2:2] +m_pressureTarget_kPa = scalar, F32, 1096, "", 1, 0 +nextLobe = scalar, F32, 1100, "", 1, 0 +di_nextStart = scalar, F32, 1104, "v", 1, 0 ; total TS size = 1108 -cranking1 = bits, U32, 1108, [0:0] -notRunning1 = bits, U32, 1108, [1:1] -disabledWhileEngineStopped1 = bits, U32, 1108, [2:2] -brokenClt1 = bits, U32, 1108, [3:3] -enabledForAc1 = bits, U32, 1108, [4:4] -hot1 = bits, U32, 1108, [5:5] -cold1 = bits, U32, 1108, [6:6] -disabledBySpeed1 = bits, U32, 1108, [7:7] -radiatorFanStatus1 = scalar, U08, 1112, "", 1, 0 -; total TS size = 1116 -isPrime = bits, U32, 1116, [0:0] -engineTurnedRecently = bits, U32, 1116, [1:1] -isFuelPumpOn = bits, U32, 1116, [2:2] -ignitionOn = bits, U32, 1116, [3:3] +m_deadtime = scalar, F32, 1108, "ms", 1, 0 +pressureDelta = scalar, F32, 1112, "kPa", 1, 0 +pressureRatio = scalar, F32, 1116, "", 1, 0 ; total TS size = 1120 -isBenchTest = bits, U32, 1120, [0:0] -hasIgnitionVoltage = bits, U32, 1120, [1:1] -mainRelayState = bits, U32, 1120, [2:2] -delayedShutoffRequested = bits, U32, 1120, [3:3] -; total TS size = 1124 -lua_fuelAdd = scalar, F32, 1124, "g", 1, 0 -lua_fuelMult = scalar, F32, 1128, "", 1, 0 -lua_clutchUpState = bits, U32, 1132, [0:0] -lua_brakePedalState = bits, U32, 1132, [1:1] -lua_acRequestState = bits, U32, 1132, [2:2] -lua_luaDisableEtb = bits, U32, 1132, [3:3] -lua_luaIgnCut = bits, U32, 1132, [4:4] -lua_luaFuelCut = bits, U32, 1132, [5:5] -lua_clutchDownState = bits, U32, 1132, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1132, [7:7] -sd_tCharge = scalar, S16, 1136, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1140, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1144, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1148, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1152, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1156, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1160, "", 1, 0 -hellenBoardId = scalar, S16, 1164, "id", 1, 0 -clutchUpState = scalar, S08, 1166, "", 1, 0 -clutchDownState = scalar, S08, 1167, "", 1, 0 -brakePedalState = scalar, S08, 1168, "", 1, 0 -startStopState = scalar, S08, 1169, "", 1, 0 -smartChipState = scalar, S08, 1170, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1171, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1172, "", 1, 0 -startStopPhysicalState = bits, U32, 1176, [0:0] -acrActive = bits, U32, 1176, [1:1] -acrEngineMovedRecently = bits, U32, 1176, [2:2] -heaterControlEnabled = bits, U32, 1176, [3:3] -luaDigitalState0 = bits, U32, 1176, [4:4] -luaDigitalState1 = bits, U32, 1176, [5:5] -luaDigitalState2 = bits, U32, 1176, [6:6] -luaDigitalState3 = bits, U32, 1176, [7:7] -startStopStateToggleCounter = scalar, U32, 1180, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1184, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1188, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1192, "", 1, 0 -desiredRpmLimit = scalar, S16, 1196, "rpm", 1, 0 -fuelInjectionCounter = scalar, U32, 1200, "", 1, 0 -globalSparkCounter = scalar, U32, 1204, "", 1, 0 -fuelingLoad = scalar, F32, 1208, "", 1, 0 -ignitionLoad = scalar, F32, 1212, "", 1, 0 -veTableYAxis = scalar, U16, 1216, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1218, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1219, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1220, "", 1, 0 -; total TS size = 1224 -tpsFrom = scalar, F32, 1224 -tpsTo = scalar, F32, 1228 -deltaTps = scalar, F32, 1232 -extraFuel = scalar, F32, 1236, "", 1, 0 -valueFromTable = scalar, F32, 1240, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1244, [0:0] -isBelowDecelThreshold = bits, U32, 1244, [1:1] -isTimeToResetAccumulator = bits, U32, 1244, [2:2] -isFractionalEnrichment = bits, U32, 1244, [3:3] -belowEpsilon = bits, U32, 1244, [4:4] -tooShort = bits, U32, 1244, [5:5] -fractionalInjFuel = scalar, F32, 1248, "", 1, 0 -accumulatedValue = scalar, F32, 1252, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1256, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1260, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1264, "", 1, 0 -cycleCnt = scalar, S32, 1268, "", 1, 0 -; total TS size = 1272 -hwEventCounters1 = scalar, U32, 1272, "", 1, 0 -hwEventCounters2 = scalar, U32, 1276, "", 1, 0 -hwEventCounters3 = scalar, U32, 1280, "", 1, 0 -hwEventCounters4 = scalar, U32, 1284, "", 1, 0 -hwEventCounters5 = scalar, U32, 1288, "", 1, 0 -hwEventCounters6 = scalar, U32, 1292, "", 1, 0 -vvtCamCounter = scalar, U32, 1296, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1300, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1304, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1308, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1309, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1312, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1316, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1320, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1324, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1328, [0:0] -triggerElapsedUs = scalar, U32, 1332, "", 1, 0 -; total TS size = 1336 -crankSynchronizationCounter0 = scalar, U32, 1336, "", 1, 0 -vvtSyncGapRatio0 = scalar, F32, 1340, "", 1, 0 -vvtToothDurations00 = scalar, U32, 1344, "us", 1, 0 -vvtCurrentPosition0 = scalar, F32, 1348, "sync: Primary Cam Position", 1, 0 -vvtToothPosition10 = scalar, F32, 1352, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition20 = scalar, F32, 1356, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition30 = scalar, F32, 1360, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition40 = scalar, F32, 1364, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio0 = scalar, F32, 1368, "", 1, 0 -triggerStateIndex0 = scalar, U08, 1372, "", 1, 0 -vvtStateIndex0 = scalar, U08, 1373, "", 1, 0 -; total TS size = 1376 -crankSynchronizationCounter1 = scalar, U32, 1376, "", 1, 0 -vvtSyncGapRatio1 = scalar, F32, 1380, "", 1, 0 -vvtToothDurations01 = scalar, U32, 1384, "us", 1, 0 -vvtCurrentPosition1 = scalar, F32, 1388, "sync: Primary Cam Position", 1, 0 -vvtToothPosition11 = scalar, F32, 1392, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition21 = scalar, F32, 1396, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition31 = scalar, F32, 1400, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition41 = scalar, F32, 1404, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio1 = scalar, F32, 1408, "", 1, 0 -triggerStateIndex1 = scalar, U08, 1412, "", 1, 0 -vvtStateIndex1 = scalar, U08, 1413, "", 1, 0 -; total TS size = 1416 -crankSynchronizationCounter2 = scalar, U32, 1416, "", 1, 0 -vvtSyncGapRatio2 = scalar, F32, 1420, "", 1, 0 -vvtToothDurations02 = scalar, U32, 1424, "us", 1, 0 -vvtCurrentPosition2 = scalar, F32, 1428, "sync: Primary Cam Position", 1, 0 -vvtToothPosition12 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition22 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition32 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition42 = scalar, F32, 1444, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio2 = scalar, F32, 1448, "", 1, 0 -triggerStateIndex2 = scalar, U08, 1452, "", 1, 0 -vvtStateIndex2 = scalar, U08, 1453, "", 1, 0 -; total TS size = 1456 -crankSynchronizationCounter3 = scalar, U32, 1456, "", 1, 0 -vvtSyncGapRatio3 = scalar, F32, 1460, "", 1, 0 -vvtToothDurations03 = scalar, U32, 1464, "us", 1, 0 -vvtCurrentPosition3 = scalar, F32, 1468, "sync: Primary Cam Position", 1, 0 -vvtToothPosition13 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition23 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition33 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition43 = scalar, F32, 1484, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio3 = scalar, F32, 1488, "", 1, 0 -triggerStateIndex3 = scalar, U08, 1492, "", 1, 0 -vvtStateIndex3 = scalar, U08, 1493, "", 1, 0 -; total TS size = 1496 -crankSynchronizationCounter4 = scalar, U32, 1496, "", 1, 0 -vvtSyncGapRatio4 = scalar, F32, 1500, "", 1, 0 -vvtToothDurations04 = scalar, U32, 1504, "us", 1, 0 -vvtCurrentPosition4 = scalar, F32, 1508, "sync: Primary Cam Position", 1, 0 -vvtToothPosition14 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition24 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition34 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition44 = scalar, F32, 1524, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio4 = scalar, F32, 1528, "", 1, 0 -triggerStateIndex4 = scalar, U08, 1532, "", 1, 0 -vvtStateIndex4 = scalar, U08, 1533, "", 1, 0 -; total TS size = 1536 -camResyncCounter = scalar, U08, 1536, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1540, [0:0] -; total TS size = 1544 -wallFuelCorrection = scalar, F32, 1544, "", 1, 0 -wallFuel = scalar, F32, 1548, "", 1, 0 -; total TS size = 1552 -idleState = bits, S32, 1552, [0:2], "not important" -currentIdlePosition = scalar, F32, 1556 -baseIdlePosition = scalar, F32, 1560 -idleClosedLoop = scalar, F32, 1564 -iacByTpsTaper = scalar, F32, 1568 -throttlePedalUpState = scalar, S32, 1572, "", 1, 0 -mightResetPid = bits, U32, 1576, [0:0] -shouldResetPid = bits, U32, 1576, [1:1] -wasResetPid = bits, U32, 1576, [2:2] -mustResetPid = bits, U32, 1576, [3:3] -isCranking = bits, U32, 1576, [4:4] -isIacTableForCoasting = bits, U32, 1576, [5:5] -notIdling = bits, U32, 1576, [6:6] -needReset = bits, U32, 1576, [7:7] -isInDeadZone = bits, U32, 1576, [8:8] -isBlipping = bits, U32, 1576, [9:9] -useClosedLoop = bits, U32, 1576, [10:10] -badTps = bits, U32, 1576, [11:11] -looksLikeRunning = bits, U32, 1576, [12:12] -looksLikeCoasting = bits, U32, 1576, [13:13] -looksLikeCrankToIdle = bits, U32, 1576, [14:14] -isIdleCoasting = bits, U32, 1576, [15:15] -isIdleClosedLoop = bits, U32, 1576, [16:16] -idleTarget = scalar, S32, 1580, "", 1, 0 -targetRpmByClt = scalar, S32, 1584, "", 1, 0 -targetRpmAc = scalar, S32, 1588, "", 1, 0 -iacByRpmTaper = scalar, F32, 1592 -luaAdd = scalar, F32, 1596 -; total TS size = 1600 -targetWithIdlePosition0 = scalar, F32, 1600, "per", 1,0 -trim0 = scalar, F32, 1604, "", 1, 0 -luaAdjustment0 = scalar, F32, 1608, "per", 1,0 -m_wastegatePosition0 = scalar, F32, 1612, "per", 1,0 -etbFeedForward0 = scalar, F32, 1616 -etbIntegralError0 = scalar, F32, 1620, "", 1, 0 -etbCurrentTarget0 = scalar, F32, 1624, "%", 1, 0 -etbCurrentAdjustedTarget0 = scalar, F32, 1628, "%", 1, 0 -etbRevLimitActive0 = bits, U32, 1632, [0:0] -jamDetected0 = bits, U32, 1632, [1:1] -etbTpsErrorCounter0 = scalar, U16, 1636, "count", 1,0 -etbPpsErrorCounter0 = scalar, U16, 1638, "count", 1,0 -etbErrorCode0 = scalar, S08, 1640, "", 1, 0 -tcEtbDrop0 = scalar, S08, 1641, "%", 1, 0 -jamTimer0 = scalar, U16, 1642, "sec", 0.01, 0 -adjustedEtbTarget0 = scalar, S08, 1644, "%", 1, 0 -; total TS size = 1648 -targetWithIdlePosition1 = scalar, F32, 1648, "per", 1,0 -trim1 = scalar, F32, 1652, "", 1, 0 -luaAdjustment1 = scalar, F32, 1656, "per", 1,0 -m_wastegatePosition1 = scalar, F32, 1660, "per", 1,0 -etbFeedForward1 = scalar, F32, 1664 -etbIntegralError1 = scalar, F32, 1668, "", 1, 0 -etbCurrentTarget1 = scalar, F32, 1672, "%", 1, 0 -etbCurrentAdjustedTarget1 = scalar, F32, 1676, "%", 1, 0 -etbRevLimitActive1 = bits, U32, 1680, [0:0] -jamDetected1 = bits, U32, 1680, [1:1] -etbTpsErrorCounter1 = scalar, U16, 1684, "count", 1,0 -etbPpsErrorCounter1 = scalar, U16, 1686, "count", 1,0 -etbErrorCode1 = scalar, S08, 1688, "", 1, 0 -tcEtbDrop1 = scalar, S08, 1689, "%", 1, 0 -jamTimer1 = scalar, U16, 1690, "sec", 0.01, 0 -adjustedEtbTarget1 = scalar, S08, 1692, "%", 1, 0 -; total TS size = 1696 -faultCode0 = scalar, U08, 1696, "", 1, 0 -heaterDuty0 = scalar, U08, 1697, "%", 1, 0 -pumpDuty0 = scalar, U08, 1698, "%", 1, 0 -tempC0 = scalar, U16, 1700, "C", 1, 0 -nernstVoltage0 = scalar, U16, 1702, "V", 0.001, 0 -esr0 = scalar, U16, 1704, "ohm", 1, 0 -; total TS size = 1708 -faultCode1 = scalar, U08, 1708, "", 1, 0 -heaterDuty1 = scalar, U08, 1709, "%", 1, 0 -pumpDuty1 = scalar, U08, 1710, "%", 1, 0 -tempC1 = scalar, U16, 1712, "C", 1, 0 -nernstVoltage1 = scalar, U16, 1714, "V", 0.001, 0 -esr1 = scalar, U16, 1716, "ohm", 1, 0 -; total TS size = 1720 -dcOutput0 = scalar, F32, 1720, "per", 1,0 -isEnabled0_int = scalar, U08, 1724, "per", 1,0 -isEnabled0 = bits, U32, 1728, [0:0] -; total TS size = 1732 -value0 = scalar, U16, 1732, "value", 1,0 -value1 = scalar, U16, 1734, "value", 1,0 -errorRate = scalar, F32, 1736, "ratio", 1,0 -; total TS size = 1740 -vvtTarget = scalar, U16, 1740, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1742, "%", 0.5, 0 -; total TS size = 1744 -lambdaCurrentlyGood = bits, U32, 1744, [0:0] -lambdaMonitorCut = bits, U32, 1744, [1:1] -lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 -; total TS size = 1752 +retardThresholdRpm = scalar, S32, 1120, "", 1, 0 +launchActivatePinState = bits, U32, 1124, [0:0] +isPreLaunchCondition = bits, U32, 1124, [1:1] +isLaunchCondition = bits, U32, 1124, [2:2] +isSwitchActivated = bits, U32, 1124, [3:3] +isClutchActivated = bits, U32, 1124, [4:4] +isBrakePedalActivated = bits, U32, 1124, [5:5] +isValidInputPin = bits, U32, 1124, [6:6] +activateSwitchCondition = bits, U32, 1124, [7:7] +rpmLaunchCondition = bits, U32, 1124, [8:8] +rpmPreLaunchCondition = bits, U32, 1124, [9:9] +speedCondition = bits, U32, 1124, [10:10] +tpsCondition = bits, U32, 1124, [11:11] +; total TS size = 1128 +isTorqueReductionTriggerPinValid = bits, U32, 1128, [0:0] +torqueReductionTriggerPinState = bits, U32, 1128, [1:1] +isTimeConditionSatisfied = bits, U32, 1128, [2:2] +isRpmConditionSatisfied = bits, U32, 1128, [3:3] +isAppConditionSatisfied = bits, U32, 1128, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1128, [5:5] +; total TS size = 1132 +isAntilagCondition = bits, U32, 1132, [0:0] +ALSMinRPMCondition = bits, U32, 1132, [1:1] +ALSMaxRPMCondition = bits, U32, 1132, [2:2] +ALSMinCLTCondition = bits, U32, 1132, [3:3] +ALSMaxCLTCondition = bits, U32, 1132, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1132, [5:5] +isALSSwitchActivated = bits, U32, 1132, [6:6] +ALSActivatePinState = bits, U32, 1132, [7:7] +ALSSwitchCondition = bits, U32, 1132, [8:8] +ALSTimerCondition = bits, U32, 1132, [9:9] +fuelALSCorrection = scalar, F32, 1136, "", 1, 0 +timingALSCorrection = scalar, S16, 1140, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1142, "deg", 0.01, 0 +; total TS size = 1144 +isTpsInvalid = bits, U32, 1144, [0:0] +m_shouldResetPid = bits, U32, 1144, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1144, [2:2] +isNotClosedLoop = bits, U32, 1144, [3:3] +isZeroRpm = bits, U32, 1144, [4:4] +hasInitBoost = bits, U32, 1144, [5:5] +rpmTooLow = bits, U32, 1144, [6:6] +tpsTooLow = bits, U32, 1144, [7:7] +mapTooLow = bits, U32, 1144, [8:8] +isPlantValid = bits, U32, 1144, [9:9] +isBoostControlled = bits, U32, 1144, [10:10] +luaTargetAdd = scalar, S16, 1148, "v", 0.5,0 +boostOutput = scalar, S16, 1150, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1152, "v", 1,0 +openLoopPart = scalar, F32, 1156, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1160, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1164, "%", 0.5,0 +boostControlTarget = scalar, S16, 1166, "kPa", 0.03333333333333333,0 +; total TS size = 1168 +acButtonState = scalar, S08, 1168, "", 1, 0 +m_acEnabled = bits, U32, 1172, [0:0] +engineTooSlow = bits, U32, 1172, [1:1] +engineTooFast = bits, U32, 1172, [2:2] +noClt = bits, U32, 1172, [3:3] +engineTooHot = bits, U32, 1172, [4:4] +tpsTooHigh = bits, U32, 1172, [5:5] +isDisabledByLua = bits, U32, 1172, [6:6] +acCompressorState = bits, U32, 1172, [7:7] +acPressureTooLow = bits, U32, 1172, [8:8] +acPressureTooHigh = bits, U32, 1172, [9:9] +; total TS size = 1176 +cranking0 = bits, U32, 1176, [0:0] +notRunning0 = bits, U32, 1176, [1:1] +disabledWhileEngineStopped0 = bits, U32, 1176, [2:2] +brokenClt0 = bits, U32, 1176, [3:3] +enabledForAc0 = bits, U32, 1176, [4:4] +hot0 = bits, U32, 1176, [5:5] +cold0 = bits, U32, 1176, [6:6] +disabledBySpeed0 = bits, U32, 1176, [7:7] +radiatorFanStatus0 = scalar, U08, 1180, "", 1, 0 +; total TS size = 1184 +cranking1 = bits, U32, 1184, [0:0] +notRunning1 = bits, U32, 1184, [1:1] +disabledWhileEngineStopped1 = bits, U32, 1184, [2:2] +brokenClt1 = bits, U32, 1184, [3:3] +enabledForAc1 = bits, U32, 1184, [4:4] +hot1 = bits, U32, 1184, [5:5] +cold1 = bits, U32, 1184, [6:6] +disabledBySpeed1 = bits, U32, 1184, [7:7] +radiatorFanStatus1 = scalar, U08, 1188, "", 1, 0 +; total TS size = 1192 +isPrime = bits, U32, 1192, [0:0] +engineTurnedRecently = bits, U32, 1192, [1:1] +isFuelPumpOn = bits, U32, 1192, [2:2] +ignitionOn = bits, U32, 1192, [3:3] +; total TS size = 1196 +isBenchTest = bits, U32, 1196, [0:0] +hasIgnitionVoltage = bits, U32, 1196, [1:1] +mainRelayState = bits, U32, 1196, [2:2] +delayedShutoffRequested = bits, U32, 1196, [3:3] +; total TS size = 1200 +lua_fuelAdd = scalar, F32, 1200, "g", 1, 0 +lua_fuelMult = scalar, F32, 1204, "", 1, 0 +lua_clutchUpState = bits, U32, 1208, [0:0] +lua_brakePedalState = bits, U32, 1208, [1:1] +lua_acRequestState = bits, U32, 1208, [2:2] +lua_luaDisableEtb = bits, U32, 1208, [3:3] +lua_luaIgnCut = bits, U32, 1208, [4:4] +lua_luaFuelCut = bits, U32, 1208, [5:5] +lua_clutchDownState = bits, U32, 1208, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1208, [7:7] +sd_tCharge = scalar, S16, 1212, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1216, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1220, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1224, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1228, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1232, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1236, "", 1, 0 +hellenBoardId = scalar, S16, 1240, "id", 1, 0 +clutchUpState = scalar, S08, 1242, "", 1, 0 +clutchDownState = scalar, S08, 1243, "", 1, 0 +brakePedalState = scalar, S08, 1244, "", 1, 0 +startStopState = scalar, S08, 1245, "", 1, 0 +smartChipState = scalar, S08, 1246, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1247, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1248, "", 1, 0 +startStopPhysicalState = bits, U32, 1252, [0:0] +acrActive = bits, U32, 1252, [1:1] +acrEngineMovedRecently = bits, U32, 1252, [2:2] +heaterControlEnabled = bits, U32, 1252, [3:3] +luaDigitalState0 = bits, U32, 1252, [4:4] +luaDigitalState1 = bits, U32, 1252, [5:5] +luaDigitalState2 = bits, U32, 1252, [6:6] +luaDigitalState3 = bits, U32, 1252, [7:7] +startStopStateToggleCounter = scalar, U32, 1256, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1260, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1264, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1268, "", 1, 0 +desiredRpmLimit = scalar, S16, 1272, "rpm", 1, 0 +fuelInjectionCounter = scalar, U32, 1276, "", 1, 0 +globalSparkCounter = scalar, U32, 1280, "", 1, 0 +fuelingLoad = scalar, F32, 1284, "", 1, 0 +ignitionLoad = scalar, F32, 1288, "", 1, 0 +veTableYAxis = scalar, U16, 1292, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1294, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1295, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1296, "", 1, 0 +; total TS size = 1300 +tpsFrom = scalar, F32, 1300 +tpsTo = scalar, F32, 1304 +deltaTps = scalar, F32, 1308 +extraFuel = scalar, F32, 1312, "", 1, 0 +valueFromTable = scalar, F32, 1316, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1320, [0:0] +isBelowDecelThreshold = bits, U32, 1320, [1:1] +isTimeToResetAccumulator = bits, U32, 1320, [2:2] +isFractionalEnrichment = bits, U32, 1320, [3:3] +belowEpsilon = bits, U32, 1320, [4:4] +tooShort = bits, U32, 1320, [5:5] +fractionalInjFuel = scalar, F32, 1324, "", 1, 0 +accumulatedValue = scalar, F32, 1328, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1332, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1336, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1340, "", 1, 0 +cycleCnt = scalar, S32, 1344, "", 1, 0 +; total TS size = 1348 +hwEventCounters1 = scalar, U32, 1348, "", 1, 0 +hwEventCounters2 = scalar, U32, 1352, "", 1, 0 +hwEventCounters3 = scalar, U32, 1356, "", 1, 0 +hwEventCounters4 = scalar, U32, 1360, "", 1, 0 +hwEventCounters5 = scalar, U32, 1364, "", 1, 0 +hwEventCounters6 = scalar, U32, 1368, "", 1, 0 +vvtCamCounter = scalar, U32, 1372, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1376, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1380, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1384, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1385, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1388, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1392, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1396, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1400, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1404, [0:0] +triggerElapsedUs = scalar, U32, 1408, "", 1, 0 +; total TS size = 1412 +crankSynchronizationCounter0 = scalar, U32, 1412, "", 1, 0 +vvtSyncGapRatio0 = scalar, F32, 1416, "", 1, 0 +vvtToothDurations00 = scalar, U32, 1420, "us", 1, 0 +vvtCurrentPosition0 = scalar, F32, 1424, "sync: Primary Cam Position", 1, 0 +vvtToothPosition10 = scalar, F32, 1428, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition20 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition30 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition40 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio0 = scalar, F32, 1444, "", 1, 0 +triggerStateIndex0 = scalar, U08, 1448, "", 1, 0 +vvtStateIndex0 = scalar, U08, 1449, "", 1, 0 +; total TS size = 1452 +crankSynchronizationCounter1 = scalar, U32, 1452, "", 1, 0 +vvtSyncGapRatio1 = scalar, F32, 1456, "", 1, 0 +vvtToothDurations01 = scalar, U32, 1460, "us", 1, 0 +vvtCurrentPosition1 = scalar, F32, 1464, "sync: Primary Cam Position", 1, 0 +vvtToothPosition11 = scalar, F32, 1468, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition21 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition31 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition41 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio1 = scalar, F32, 1484, "", 1, 0 +triggerStateIndex1 = scalar, U08, 1488, "", 1, 0 +vvtStateIndex1 = scalar, U08, 1489, "", 1, 0 +; total TS size = 1492 +crankSynchronizationCounter2 = scalar, U32, 1492, "", 1, 0 +vvtSyncGapRatio2 = scalar, F32, 1496, "", 1, 0 +vvtToothDurations02 = scalar, U32, 1500, "us", 1, 0 +vvtCurrentPosition2 = scalar, F32, 1504, "sync: Primary Cam Position", 1, 0 +vvtToothPosition12 = scalar, F32, 1508, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition22 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition32 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition42 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio2 = scalar, F32, 1524, "", 1, 0 +triggerStateIndex2 = scalar, U08, 1528, "", 1, 0 +vvtStateIndex2 = scalar, U08, 1529, "", 1, 0 +; total TS size = 1532 +crankSynchronizationCounter3 = scalar, U32, 1532, "", 1, 0 +vvtSyncGapRatio3 = scalar, F32, 1536, "", 1, 0 +vvtToothDurations03 = scalar, U32, 1540, "us", 1, 0 +vvtCurrentPosition3 = scalar, F32, 1544, "sync: Primary Cam Position", 1, 0 +vvtToothPosition13 = scalar, F32, 1548, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition23 = scalar, F32, 1552, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition33 = scalar, F32, 1556, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition43 = scalar, F32, 1560, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio3 = scalar, F32, 1564, "", 1, 0 +triggerStateIndex3 = scalar, U08, 1568, "", 1, 0 +vvtStateIndex3 = scalar, U08, 1569, "", 1, 0 +; total TS size = 1572 +crankSynchronizationCounter4 = scalar, U32, 1572, "", 1, 0 +vvtSyncGapRatio4 = scalar, F32, 1576, "", 1, 0 +vvtToothDurations04 = scalar, U32, 1580, "us", 1, 0 +vvtCurrentPosition4 = scalar, F32, 1584, "sync: Primary Cam Position", 1, 0 +vvtToothPosition14 = scalar, F32, 1588, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition24 = scalar, F32, 1592, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition34 = scalar, F32, 1596, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition44 = scalar, F32, 1600, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio4 = scalar, F32, 1604, "", 1, 0 +triggerStateIndex4 = scalar, U08, 1608, "", 1, 0 +vvtStateIndex4 = scalar, U08, 1609, "", 1, 0 +; total TS size = 1612 +camResyncCounter = scalar, U08, 1612, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1616, [0:0] +; total TS size = 1620 +wallFuelCorrection = scalar, F32, 1620, "", 1, 0 +wallFuel = scalar, F32, 1624, "", 1, 0 +; total TS size = 1628 +idleState = bits, S32, 1628, [0:2], "not important" +currentIdlePosition = scalar, F32, 1632 +baseIdlePosition = scalar, F32, 1636 +idleClosedLoop = scalar, F32, 1640 +iacByTpsTaper = scalar, F32, 1644 +throttlePedalUpState = scalar, S32, 1648, "", 1, 0 +mightResetPid = bits, U32, 1652, [0:0] +shouldResetPid = bits, U32, 1652, [1:1] +wasResetPid = bits, U32, 1652, [2:2] +mustResetPid = bits, U32, 1652, [3:3] +isCranking = bits, U32, 1652, [4:4] +isIacTableForCoasting = bits, U32, 1652, [5:5] +notIdling = bits, U32, 1652, [6:6] +needReset = bits, U32, 1652, [7:7] +isInDeadZone = bits, U32, 1652, [8:8] +isBlipping = bits, U32, 1652, [9:9] +useClosedLoop = bits, U32, 1652, [10:10] +badTps = bits, U32, 1652, [11:11] +looksLikeRunning = bits, U32, 1652, [12:12] +looksLikeCoasting = bits, U32, 1652, [13:13] +looksLikeCrankToIdle = bits, U32, 1652, [14:14] +isIdleCoasting = bits, U32, 1652, [15:15] +isIdleClosedLoop = bits, U32, 1652, [16:16] +idleTarget = scalar, S32, 1656, "", 1, 0 +targetRpmByClt = scalar, S32, 1660, "", 1, 0 +targetRpmAc = scalar, S32, 1664, "", 1, 0 +iacByRpmTaper = scalar, F32, 1668 +luaAdd = scalar, F32, 1672 +; total TS size = 1676 +targetWithIdlePosition0 = scalar, F32, 1676, "per", 1,0 +trim0 = scalar, F32, 1680, "", 1, 0 +luaAdjustment0 = scalar, F32, 1684, "per", 1,0 +m_wastegatePosition0 = scalar, F32, 1688, "per", 1,0 +etbFeedForward0 = scalar, F32, 1692 +etbIntegralError0 = scalar, F32, 1696, "", 1, 0 +etbCurrentTarget0 = scalar, F32, 1700, "%", 1, 0 +etbCurrentAdjustedTarget0 = scalar, F32, 1704, "%", 1, 0 +etbRevLimitActive0 = bits, U32, 1708, [0:0] +jamDetected0 = bits, U32, 1708, [1:1] +etbTpsErrorCounter0 = scalar, U16, 1712, "count", 1,0 +etbPpsErrorCounter0 = scalar, U16, 1714, "count", 1,0 +etbErrorCode0 = scalar, S08, 1716, "", 1, 0 +tcEtbDrop0 = scalar, S08, 1717, "%", 1, 0 +jamTimer0 = scalar, U16, 1718, "sec", 0.01, 0 +adjustedEtbTarget0 = scalar, S08, 1720, "%", 1, 0 +; total TS size = 1724 +targetWithIdlePosition1 = scalar, F32, 1724, "per", 1,0 +trim1 = scalar, F32, 1728, "", 1, 0 +luaAdjustment1 = scalar, F32, 1732, "per", 1,0 +m_wastegatePosition1 = scalar, F32, 1736, "per", 1,0 +etbFeedForward1 = scalar, F32, 1740 +etbIntegralError1 = scalar, F32, 1744, "", 1, 0 +etbCurrentTarget1 = scalar, F32, 1748, "%", 1, 0 +etbCurrentAdjustedTarget1 = scalar, F32, 1752, "%", 1, 0 +etbRevLimitActive1 = bits, U32, 1756, [0:0] +jamDetected1 = bits, U32, 1756, [1:1] +etbTpsErrorCounter1 = scalar, U16, 1760, "count", 1,0 +etbPpsErrorCounter1 = scalar, U16, 1762, "count", 1,0 +etbErrorCode1 = scalar, S08, 1764, "", 1, 0 +tcEtbDrop1 = scalar, S08, 1765, "%", 1, 0 +jamTimer1 = scalar, U16, 1766, "sec", 0.01, 0 +adjustedEtbTarget1 = scalar, S08, 1768, "%", 1, 0 +; total TS size = 1772 +faultCode0 = scalar, U08, 1772, "", 1, 0 +heaterDuty0 = scalar, U08, 1773, "%", 1, 0 +pumpDuty0 = scalar, U08, 1774, "%", 1, 0 +tempC0 = scalar, U16, 1776, "C", 1, 0 +nernstVoltage0 = scalar, U16, 1778, "V", 0.001, 0 +esr0 = scalar, U16, 1780, "ohm", 1, 0 +; total TS size = 1784 +faultCode1 = scalar, U08, 1784, "", 1, 0 +heaterDuty1 = scalar, U08, 1785, "%", 1, 0 +pumpDuty1 = scalar, U08, 1786, "%", 1, 0 +tempC1 = scalar, U16, 1788, "C", 1, 0 +nernstVoltage1 = scalar, U16, 1790, "V", 0.001, 0 +esr1 = scalar, U16, 1792, "ohm", 1, 0 +; total TS size = 1796 +dcOutput0 = scalar, F32, 1796, "per", 1,0 +isEnabled0_int = scalar, U08, 1800, "per", 1,0 +isEnabled0 = bits, U32, 1804, [0:0] +; total TS size = 1808 +value0 = scalar, U16, 1808, "value", 1,0 +value1 = scalar, U16, 1810, "value", 1,0 +errorRate = scalar, F32, 1812, "ratio", 1,0 +; total TS size = 1816 +vvtTarget = scalar, U16, 1816, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1818, "%", 0.5, 0 +; total TS size = 1820 +lambdaCurrentlyGood = bits, U32, 1820, [0:0] +lambdaMonitorCut = bits, U32, 1820, [1:1] +lambdaTimeSinceGood = scalar, U16, 1824, "sec", 0.01, 0 +; total TS size = 1828 time = { timeNow } @@ -3616,6 +3648,7 @@ lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs8 requiresPowerCycle = cylinderBore + requiresPowerCycle = knockFrequency readOnly = warning_message readOnly = device_uid1 @@ -5033,6 +5066,26 @@ gaugeCategory = Knock knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knockSpectrumChannelCylGauge = m_knockSpectrumChannelCyl, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStartGauge = m_knockFrequencyStart, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStepGauge = m_knockFrequencyStep, "Knock Frequency Step", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFuelTrimMultiplier = m_knockFuelTrimMultiplier, "Knock Fuel Trim", "mult", 0, 0, 0, 0, 0, 30, 1, 1 + knockSpectrum1 = m_knockSpectrum1, "Knock Spectrum1", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum2 = m_knockSpectrum2, "knockSpectrum2", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum3 = m_knockSpectrum3, "knockSpectrum3", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum4 = m_knockSpectrum4, "knockSpectrum4", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum5 = m_knockSpectrum5, "knockSpectrum5", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum6 = m_knockSpectrum6, "knockSpectrum6", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum7 = m_knockSpectrum7, "knockSpectrum7", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum8 = m_knockSpectrum8, "knockSpectrum8", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum9 = m_knockSpectrum9, "knockSpectrum9", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum10 = m_knockSpectrum10, "knockSpectrum10", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum11 = m_knockSpectrum11, "knockSpectrum11", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum12 = m_knockSpectrum12, "knockSpectrum12", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum13 = m_knockSpectrum13, "knockSpectrum13", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum14 = m_knockSpectrum14, "knockSpectrum14", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum15 = m_knockSpectrum15, "knockSpectrum15", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum16 = m_knockSpectrum16, "knockSpectrum16", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -5631,6 +5684,26 @@ entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" entry = m_knockCount, "Knock: Count", int, "%d" entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_knockFrequency, "knock: frequency", int, "%d" +entry = m_knockSpectrum1, "Knock: SpectrumData 1", int, "%d" +entry = m_knockSpectrum2, "Knock: SpectrumData 2", int, "%d" +entry = m_knockSpectrum3, "Knock: SpectrumData 3", int, "%d" +entry = m_knockSpectrum4, "Knock: SpectrumData 4", int, "%d" +entry = m_knockSpectrum5, "Knock: SpectrumData 5", int, "%d" +entry = m_knockSpectrum6, "Knock: SpectrumData 6", int, "%d" +entry = m_knockSpectrum7, "Knock: SpectrumData 7", int, "%d" +entry = m_knockSpectrum8, "Knock: SpectrumData 8", int, "%d" +entry = m_knockSpectrum9, "Knock: SpectrumData 9", int, "%d" +entry = m_knockSpectrum10, "Knock: SpectrumData 10", int, "%d" +entry = m_knockSpectrum11, "Knock: SpectrumData 11", int, "%d" +entry = m_knockSpectrum12, "Knock: SpectrumData 12", int, "%d" +entry = m_knockSpectrum13, "Knock: SpectrumData 13", int, "%d" +entry = m_knockSpectrum14, "Knock: SpectrumData 14", int, "%d" +entry = m_knockSpectrum15, "Knock: SpectrumData 15", int, "%d" +entry = m_knockSpectrum16, "Knock: SpectrumData 16", int, "%d" +entry = m_knockSpectrumChannelCyl, "Knock: ChannelAndCylNumber", int, "%d" +entry = m_knockFrequencyStart, "Knock: Start Freq", int, "%d" +entry = m_knockFrequencyStep, "Knock: Step Freq", float, "%.3f" +entry = m_knockFuelTrimMultiplier, "Knock: Fuel trim when knock", float, "%.3f" entry = tcuCurrentGear, "TCU: Current Gear", int, "%d" entry = tcRatio, "TCU: Torque Converter Ratio", float, "%.3f" entry = lastShiftTime, "lastShiftTime", float, "%.3f" @@ -6528,6 +6601,31 @@ dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard graphLine = m_knockFrequency + graphLine = m_knockSpectrum1 + graphLine = m_knockSpectrum2 + liveGraph = knock_controller_6_Graph, "Graph", South + graphLine = m_knockSpectrum3 + graphLine = m_knockSpectrum4 + graphLine = m_knockSpectrum5 + graphLine = m_knockSpectrum6 + liveGraph = knock_controller_7_Graph, "Graph", South + graphLine = m_knockSpectrum7 + graphLine = m_knockSpectrum8 + graphLine = m_knockSpectrum9 + graphLine = m_knockSpectrum10 + liveGraph = knock_controller_8_Graph, "Graph", South + graphLine = m_knockSpectrum11 + graphLine = m_knockSpectrum12 + graphLine = m_knockSpectrum13 + graphLine = m_knockSpectrum14 + liveGraph = knock_controller_9_Graph, "Graph", South + graphLine = m_knockSpectrum15 + graphLine = m_knockSpectrum16 + graphLine = m_knockSpectrumChannelCyl + graphLine = m_knockFrequencyStart + liveGraph = knock_controller_10_Graph, "Graph", South + graphLine = m_knockFrequencyStep + graphLine = m_knockFuelTrimMultiplier indicatorPanel = tcu_controllerIndicatorPanel, 2 indicator = {isShifting}, "isShifting No", "isShifting Yes" @@ -8586,9 +8684,13 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockCfg, "Sense" field = "Enable", enableSoftwareKnock field = "Cylinder Bore", cylinderBore, {enableSoftwareKnock} + field = "Estimated Knock Frequency",knockFrequency, {enableSoftwareKnock} field = "Detection mode", knockDetectionUseDoubleFrequency field = "Detection Window Start",knockDetectionWindowStart, {enableSoftwareKnock} field = "Sampling Duration", knockSamplingDuration, {enableSoftwareKnock} + field = "Enable Knock Spectrogram", enableKnockSpectrogram, {enableSoftwareKnock} + field = "Enable Knock Spectrogram Filter", enableKnockSpectrogramFilter, {enableKnockSpectrogram} + field = "Knock Spectrum Sensitivity", knockSpectrumSensitivity, {enableKnockSpectrogram} field = "" field = "Select the nearest sensor for each cylinder" @@ -8608,6 +8710,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockResponseCfg, "Response" field = knockRetardAggression, knockRetardAggression field = knockRetardReapplyRate, knockRetardReapplyRate + field = knockFuelTrimAggression, knockFuelTrimAggression + field = knockFuelTrimReapplyRate, knockFuelTrimReapplyRate + field = knockFuelTrim, knockFuelTrim + field = knockSuppressMinTps, knockSuppressMinTps dialog = softwareKnockLeft, "" panel = softwareKnockCfg diff --git a/firmware/tunerstudio/generated/rusefi_hellen-honda-k.ini b/firmware/tunerstudio/generated/rusefi_hellen-honda-k.ini index 4a9aa65342..0d4ed45632 100644 --- a/firmware/tunerstudio/generated/rusefi_hellen-honda-k.ini +++ b/firmware/tunerstudio/generated/rusefi_hellen-honda-k.ini @@ -4,12 +4,12 @@ enable2ndByteCanID = false [SettingGroups] [MegaTune] - signature = "rusEFI master.2024.10.21.hellen-honda-k.3537414255" + signature = "rusEFI master.2024.10.21.hellen-honda-k.250671760" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.10.21.hellen-honda-k.3537414255" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.10.21.hellen-honda-k.250671760" ; signature is expected to be 7 or more characters. useLegacyFTempUnits = false ignoreMissingBitOptions = true @@ -723,6 +723,7 @@ devBit7 = bits, U32, 1492, [27:27], "false", "true" unusedSkipWasHere = bits, U32, 1492, [28:28], "false", "true" invertExhaustCamVVTSignal = bits, U32, 1492, [29:29], "Rising", "Falling" enableKnockSpectrogram = bits, U32, 1492, [30:30], "false", "true" +enableKnockSpectrogramFilter = bits, U32, 1492, [31:31], "false", "true" afterCrankingIACtaperDuration = scalar, S16, 1496, "cycles", 1, 0, 0, 5000, 0 iacByTpsTaper = scalar, S16, 1498, "percent", 1, 0, 0, 500, 0 unusedAuxSeria = bits, U16, 1500, [0:8], $gpio_list @@ -1343,7 +1344,13 @@ auxLinear4_v1 = scalar, F32, 3880, "volts", 1, 0, 0, 10, 2 auxLinear4_value1 = scalar, F32, 3884, "", 1, 0, -100000, 1000000, 2 auxLinear4_v2 = scalar, F32, 3888, "volts", 1, 0, 0, 10, 2 auxLinear4_value2 = scalar, F32, 3892, "", 1, 0, -100000, 1000000, 2 -unusedOftenChangesDuringFirmwareUpdate = array, U08, 3896, [128], "units", 1, 0, 0, 1, 0 +knockSuppressMinTps = scalar, U08, 3896, "%", 1, 0, 0, 100, 1 +knockFuelTrimAggression = scalar, U08, 3897, "%", 0.1, 0, 0, 20, 1 +knockFuelTrimReapplyRate = scalar, U08, 3898, "deg/s", 0.1, 0, 0, 10, 1 +knockFuelTrim = scalar, U08, 3899, "%", 1, 0, 0, 30, 1 +knockSpectrumSensitivity = scalar, F32, 3900, "sense", 1, 0, 0, 1, 2 +knockFrequency = scalar, F32, 3904, "Hz", 1, 0, 0, 20000, 2 +unusedOftenChangesDuringFirmwareUpdate = array, U08, 3908, [116], "units", 1, 0, 0, 1, 0 postCrankingFactor = array, F32, 4024, [6x6], "mult", 1, 0, 1, 3, 2 postCrankingDurationBins = array, F32, 4168, [6], "count", 1, 0, 0, 1000, 0 postCrankingCLTBins = array, S16, 4192, [6], "C", 1, 0, -100, 125, 0 @@ -2399,6 +2406,11 @@ unusedConfigPadding = array, U08, 23417, [36], "", 1, 0, 0, 100, 0 minAcPressure = "value of A/C pressure in kPa before that compressor is disengaged" maxAcPressure = "value of A/C pressure in kPa after that compressor is disengaged" minimumOilPressureTimeout = "Delay before cutting fuel due to low oil pressure. Use this to ignore short pressure blips and sensor noise." + knockSuppressMinTps = "Below TPS value all knock suppression will be disabled." + knockFuelTrimAggression = "Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump)," + knockFuelTrimReapplyRate = "After a knock event, reapply fuel at this rate." + knockFuelTrim = "Fuel trim when knock, max 30%" + knockFrequency = "Estimated knock frequency, ignore cylinderBore if this one > 0" etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, open loop component of PID closed loop control" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2501,7 +2513,7 @@ unusedConfigPadding = array, U08, 23417, [36], "", 1, 0, 0, 100, 0 ochGetCommand = "O%2o%2c" - ochBlockSize = 1752 + ochBlockSize = 1828 scatteredOchGetCommand = 9 scatteredOffsetArray = highSpeedOffsets @@ -3034,370 +3046,390 @@ m_knockThreshold = scalar, F32, 960, "", 1, 0 m_knockCount = scalar, U32, 964, "", 1, 0 m_maximumRetard = scalar, F32, 968, "", 1, 0 m_knockFrequency = scalar, U32, 972, "Hz", 1, 0 -; total TS size = 976 -tcuCurrentGear = scalar, S08, 976, "gear", 1, 0 -tcRatio = scalar, U16, 978, "value", 0.01, 0 -lastShiftTime = scalar, F32, 980, "", 1, 0 -tcu_currentRange = scalar, U08, 984, "", 1, 0 -pressureControlDuty = scalar, S08, 985, "%", 1,0 -torqueConverterDuty = scalar, S08, 986, "%", 1,0 -isShifting = bits, U32, 988, [0:0] -; total TS size = 992 -throttleUseWotModel = bits, U32, 992, [0:0] -throttleModelCrossoverAngle = scalar, S16, 996, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1000, "g/s", 1, 0 -; total TS size = 1004 -m_requested_pump = scalar, F32, 1004, "", 1, 0 -fuel_requested_percent = scalar, F32, 1008, "", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1012, "", 1, 0 -noValve = bits, U32, 1016, [0:0] -angleAboveMin = bits, U32, 1016, [1:1] -isHpfpInactive = bits, U32, 1016, [2:2] -m_pressureTarget_kPa = scalar, F32, 1020, "", 1, 0 -nextLobe = scalar, F32, 1024, "", 1, 0 -di_nextStart = scalar, F32, 1028, "v", 1, 0 -; total TS size = 1032 -m_deadtime = scalar, F32, 1032, "ms", 1, 0 -pressureDelta = scalar, F32, 1036, "kPa", 1, 0 -pressureRatio = scalar, F32, 1040, "", 1, 0 -; total TS size = 1044 -retardThresholdRpm = scalar, S32, 1044, "", 1, 0 -launchActivatePinState = bits, U32, 1048, [0:0] -isPreLaunchCondition = bits, U32, 1048, [1:1] -isLaunchCondition = bits, U32, 1048, [2:2] -isSwitchActivated = bits, U32, 1048, [3:3] -isClutchActivated = bits, U32, 1048, [4:4] -isBrakePedalActivated = bits, U32, 1048, [5:5] -isValidInputPin = bits, U32, 1048, [6:6] -activateSwitchCondition = bits, U32, 1048, [7:7] -rpmLaunchCondition = bits, U32, 1048, [8:8] -rpmPreLaunchCondition = bits, U32, 1048, [9:9] -speedCondition = bits, U32, 1048, [10:10] -tpsCondition = bits, U32, 1048, [11:11] +m_knockSpectrum1 = scalar, U32, 976, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 980, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 984, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 988, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1040, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1042, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1044, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1048, "multiplier", 1, 0 ; total TS size = 1052 -isTorqueReductionTriggerPinValid = bits, U32, 1052, [0:0] -torqueReductionTriggerPinState = bits, U32, 1052, [1:1] -isTimeConditionSatisfied = bits, U32, 1052, [2:2] -isRpmConditionSatisfied = bits, U32, 1052, [3:3] -isAppConditionSatisfied = bits, U32, 1052, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1052, [5:5] -; total TS size = 1056 -isAntilagCondition = bits, U32, 1056, [0:0] -ALSMinRPMCondition = bits, U32, 1056, [1:1] -ALSMaxRPMCondition = bits, U32, 1056, [2:2] -ALSMinCLTCondition = bits, U32, 1056, [3:3] -ALSMaxCLTCondition = bits, U32, 1056, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1056, [5:5] -isALSSwitchActivated = bits, U32, 1056, [6:6] -ALSActivatePinState = bits, U32, 1056, [7:7] -ALSSwitchCondition = bits, U32, 1056, [8:8] -ALSTimerCondition = bits, U32, 1056, [9:9] -fuelALSCorrection = scalar, F32, 1060, "", 1, 0 -timingALSCorrection = scalar, S16, 1064, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1066, "deg", 0.01, 0 +tcuCurrentGear = scalar, S08, 1052, "gear", 1, 0 +tcRatio = scalar, U16, 1054, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1056, "", 1, 0 +tcu_currentRange = scalar, U08, 1060, "", 1, 0 +pressureControlDuty = scalar, S08, 1061, "%", 1,0 +torqueConverterDuty = scalar, S08, 1062, "%", 1,0 +isShifting = bits, U32, 1064, [0:0] ; total TS size = 1068 -isTpsInvalid = bits, U32, 1068, [0:0] -m_shouldResetPid = bits, U32, 1068, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1068, [2:2] -isNotClosedLoop = bits, U32, 1068, [3:3] -isZeroRpm = bits, U32, 1068, [4:4] -hasInitBoost = bits, U32, 1068, [5:5] -rpmTooLow = bits, U32, 1068, [6:6] -tpsTooLow = bits, U32, 1068, [7:7] -mapTooLow = bits, U32, 1068, [8:8] -isPlantValid = bits, U32, 1068, [9:9] -isBoostControlled = bits, U32, 1068, [10:10] -luaTargetAdd = scalar, S16, 1072, "v", 0.5,0 -boostOutput = scalar, S16, 1074, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1076, "v", 1,0 -openLoopPart = scalar, F32, 1080, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1084, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1088, "%", 0.5,0 -boostControlTarget = scalar, S16, 1090, "kPa", 0.03333333333333333,0 -; total TS size = 1092 -acButtonState = scalar, S08, 1092, "", 1, 0 -m_acEnabled = bits, U32, 1096, [0:0] -engineTooSlow = bits, U32, 1096, [1:1] -engineTooFast = bits, U32, 1096, [2:2] -noClt = bits, U32, 1096, [3:3] -engineTooHot = bits, U32, 1096, [4:4] -tpsTooHigh = bits, U32, 1096, [5:5] -isDisabledByLua = bits, U32, 1096, [6:6] -acCompressorState = bits, U32, 1096, [7:7] -acPressureTooLow = bits, U32, 1096, [8:8] -acPressureTooHigh = bits, U32, 1096, [9:9] -; total TS size = 1100 -cranking0 = bits, U32, 1100, [0:0] -notRunning0 = bits, U32, 1100, [1:1] -disabledWhileEngineStopped0 = bits, U32, 1100, [2:2] -brokenClt0 = bits, U32, 1100, [3:3] -enabledForAc0 = bits, U32, 1100, [4:4] -hot0 = bits, U32, 1100, [5:5] -cold0 = bits, U32, 1100, [6:6] -disabledBySpeed0 = bits, U32, 1100, [7:7] -radiatorFanStatus0 = scalar, U08, 1104, "", 1, 0 +throttleUseWotModel = bits, U32, 1068, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1072, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1076, "g/s", 1, 0 +; total TS size = 1080 +m_requested_pump = scalar, F32, 1080, "", 1, 0 +fuel_requested_percent = scalar, F32, 1084, "", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1088, "", 1, 0 +noValve = bits, U32, 1092, [0:0] +angleAboveMin = bits, U32, 1092, [1:1] +isHpfpInactive = bits, U32, 1092, [2:2] +m_pressureTarget_kPa = scalar, F32, 1096, "", 1, 0 +nextLobe = scalar, F32, 1100, "", 1, 0 +di_nextStart = scalar, F32, 1104, "v", 1, 0 ; total TS size = 1108 -cranking1 = bits, U32, 1108, [0:0] -notRunning1 = bits, U32, 1108, [1:1] -disabledWhileEngineStopped1 = bits, U32, 1108, [2:2] -brokenClt1 = bits, U32, 1108, [3:3] -enabledForAc1 = bits, U32, 1108, [4:4] -hot1 = bits, U32, 1108, [5:5] -cold1 = bits, U32, 1108, [6:6] -disabledBySpeed1 = bits, U32, 1108, [7:7] -radiatorFanStatus1 = scalar, U08, 1112, "", 1, 0 -; total TS size = 1116 -isPrime = bits, U32, 1116, [0:0] -engineTurnedRecently = bits, U32, 1116, [1:1] -isFuelPumpOn = bits, U32, 1116, [2:2] -ignitionOn = bits, U32, 1116, [3:3] +m_deadtime = scalar, F32, 1108, "ms", 1, 0 +pressureDelta = scalar, F32, 1112, "kPa", 1, 0 +pressureRatio = scalar, F32, 1116, "", 1, 0 ; total TS size = 1120 -isBenchTest = bits, U32, 1120, [0:0] -hasIgnitionVoltage = bits, U32, 1120, [1:1] -mainRelayState = bits, U32, 1120, [2:2] -delayedShutoffRequested = bits, U32, 1120, [3:3] -; total TS size = 1124 -lua_fuelAdd = scalar, F32, 1124, "g", 1, 0 -lua_fuelMult = scalar, F32, 1128, "", 1, 0 -lua_clutchUpState = bits, U32, 1132, [0:0] -lua_brakePedalState = bits, U32, 1132, [1:1] -lua_acRequestState = bits, U32, 1132, [2:2] -lua_luaDisableEtb = bits, U32, 1132, [3:3] -lua_luaIgnCut = bits, U32, 1132, [4:4] -lua_luaFuelCut = bits, U32, 1132, [5:5] -lua_clutchDownState = bits, U32, 1132, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1132, [7:7] -sd_tCharge = scalar, S16, 1136, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1140, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1144, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1148, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1152, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1156, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1160, "", 1, 0 -hellenBoardId = scalar, S16, 1164, "id", 1, 0 -clutchUpState = scalar, S08, 1166, "", 1, 0 -clutchDownState = scalar, S08, 1167, "", 1, 0 -brakePedalState = scalar, S08, 1168, "", 1, 0 -startStopState = scalar, S08, 1169, "", 1, 0 -smartChipState = scalar, S08, 1170, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1171, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1172, "", 1, 0 -startStopPhysicalState = bits, U32, 1176, [0:0] -acrActive = bits, U32, 1176, [1:1] -acrEngineMovedRecently = bits, U32, 1176, [2:2] -heaterControlEnabled = bits, U32, 1176, [3:3] -luaDigitalState0 = bits, U32, 1176, [4:4] -luaDigitalState1 = bits, U32, 1176, [5:5] -luaDigitalState2 = bits, U32, 1176, [6:6] -luaDigitalState3 = bits, U32, 1176, [7:7] -startStopStateToggleCounter = scalar, U32, 1180, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1184, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1188, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1192, "", 1, 0 -desiredRpmLimit = scalar, S16, 1196, "rpm", 1, 0 -fuelInjectionCounter = scalar, U32, 1200, "", 1, 0 -globalSparkCounter = scalar, U32, 1204, "", 1, 0 -fuelingLoad = scalar, F32, 1208, "", 1, 0 -ignitionLoad = scalar, F32, 1212, "", 1, 0 -veTableYAxis = scalar, U16, 1216, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1218, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1219, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1220, "", 1, 0 -; total TS size = 1224 -tpsFrom = scalar, F32, 1224 -tpsTo = scalar, F32, 1228 -deltaTps = scalar, F32, 1232 -extraFuel = scalar, F32, 1236, "", 1, 0 -valueFromTable = scalar, F32, 1240, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1244, [0:0] -isBelowDecelThreshold = bits, U32, 1244, [1:1] -isTimeToResetAccumulator = bits, U32, 1244, [2:2] -isFractionalEnrichment = bits, U32, 1244, [3:3] -belowEpsilon = bits, U32, 1244, [4:4] -tooShort = bits, U32, 1244, [5:5] -fractionalInjFuel = scalar, F32, 1248, "", 1, 0 -accumulatedValue = scalar, F32, 1252, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1256, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1260, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1264, "", 1, 0 -cycleCnt = scalar, S32, 1268, "", 1, 0 -; total TS size = 1272 -hwEventCounters1 = scalar, U32, 1272, "", 1, 0 -hwEventCounters2 = scalar, U32, 1276, "", 1, 0 -hwEventCounters3 = scalar, U32, 1280, "", 1, 0 -hwEventCounters4 = scalar, U32, 1284, "", 1, 0 -hwEventCounters5 = scalar, U32, 1288, "", 1, 0 -hwEventCounters6 = scalar, U32, 1292, "", 1, 0 -vvtCamCounter = scalar, U32, 1296, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1300, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1304, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1308, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1309, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1312, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1316, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1320, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1324, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1328, [0:0] -triggerElapsedUs = scalar, U32, 1332, "", 1, 0 -; total TS size = 1336 -crankSynchronizationCounter0 = scalar, U32, 1336, "", 1, 0 -vvtSyncGapRatio0 = scalar, F32, 1340, "", 1, 0 -vvtToothDurations00 = scalar, U32, 1344, "us", 1, 0 -vvtCurrentPosition0 = scalar, F32, 1348, "sync: Primary Cam Position", 1, 0 -vvtToothPosition10 = scalar, F32, 1352, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition20 = scalar, F32, 1356, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition30 = scalar, F32, 1360, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition40 = scalar, F32, 1364, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio0 = scalar, F32, 1368, "", 1, 0 -triggerStateIndex0 = scalar, U08, 1372, "", 1, 0 -vvtStateIndex0 = scalar, U08, 1373, "", 1, 0 -; total TS size = 1376 -crankSynchronizationCounter1 = scalar, U32, 1376, "", 1, 0 -vvtSyncGapRatio1 = scalar, F32, 1380, "", 1, 0 -vvtToothDurations01 = scalar, U32, 1384, "us", 1, 0 -vvtCurrentPosition1 = scalar, F32, 1388, "sync: Primary Cam Position", 1, 0 -vvtToothPosition11 = scalar, F32, 1392, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition21 = scalar, F32, 1396, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition31 = scalar, F32, 1400, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition41 = scalar, F32, 1404, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio1 = scalar, F32, 1408, "", 1, 0 -triggerStateIndex1 = scalar, U08, 1412, "", 1, 0 -vvtStateIndex1 = scalar, U08, 1413, "", 1, 0 -; total TS size = 1416 -crankSynchronizationCounter2 = scalar, U32, 1416, "", 1, 0 -vvtSyncGapRatio2 = scalar, F32, 1420, "", 1, 0 -vvtToothDurations02 = scalar, U32, 1424, "us", 1, 0 -vvtCurrentPosition2 = scalar, F32, 1428, "sync: Primary Cam Position", 1, 0 -vvtToothPosition12 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition22 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition32 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition42 = scalar, F32, 1444, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio2 = scalar, F32, 1448, "", 1, 0 -triggerStateIndex2 = scalar, U08, 1452, "", 1, 0 -vvtStateIndex2 = scalar, U08, 1453, "", 1, 0 -; total TS size = 1456 -crankSynchronizationCounter3 = scalar, U32, 1456, "", 1, 0 -vvtSyncGapRatio3 = scalar, F32, 1460, "", 1, 0 -vvtToothDurations03 = scalar, U32, 1464, "us", 1, 0 -vvtCurrentPosition3 = scalar, F32, 1468, "sync: Primary Cam Position", 1, 0 -vvtToothPosition13 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition23 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition33 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition43 = scalar, F32, 1484, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio3 = scalar, F32, 1488, "", 1, 0 -triggerStateIndex3 = scalar, U08, 1492, "", 1, 0 -vvtStateIndex3 = scalar, U08, 1493, "", 1, 0 -; total TS size = 1496 -crankSynchronizationCounter4 = scalar, U32, 1496, "", 1, 0 -vvtSyncGapRatio4 = scalar, F32, 1500, "", 1, 0 -vvtToothDurations04 = scalar, U32, 1504, "us", 1, 0 -vvtCurrentPosition4 = scalar, F32, 1508, "sync: Primary Cam Position", 1, 0 -vvtToothPosition14 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition24 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition34 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition44 = scalar, F32, 1524, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio4 = scalar, F32, 1528, "", 1, 0 -triggerStateIndex4 = scalar, U08, 1532, "", 1, 0 -vvtStateIndex4 = scalar, U08, 1533, "", 1, 0 -; total TS size = 1536 -camResyncCounter = scalar, U08, 1536, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1540, [0:0] -; total TS size = 1544 -wallFuelCorrection = scalar, F32, 1544, "", 1, 0 -wallFuel = scalar, F32, 1548, "", 1, 0 -; total TS size = 1552 -idleState = bits, S32, 1552, [0:2], "not important" -currentIdlePosition = scalar, F32, 1556 -baseIdlePosition = scalar, F32, 1560 -idleClosedLoop = scalar, F32, 1564 -iacByTpsTaper = scalar, F32, 1568 -throttlePedalUpState = scalar, S32, 1572, "", 1, 0 -mightResetPid = bits, U32, 1576, [0:0] -shouldResetPid = bits, U32, 1576, [1:1] -wasResetPid = bits, U32, 1576, [2:2] -mustResetPid = bits, U32, 1576, [3:3] -isCranking = bits, U32, 1576, [4:4] -isIacTableForCoasting = bits, U32, 1576, [5:5] -notIdling = bits, U32, 1576, [6:6] -needReset = bits, U32, 1576, [7:7] -isInDeadZone = bits, U32, 1576, [8:8] -isBlipping = bits, U32, 1576, [9:9] -useClosedLoop = bits, U32, 1576, [10:10] -badTps = bits, U32, 1576, [11:11] -looksLikeRunning = bits, U32, 1576, [12:12] -looksLikeCoasting = bits, U32, 1576, [13:13] -looksLikeCrankToIdle = bits, U32, 1576, [14:14] -isIdleCoasting = bits, U32, 1576, [15:15] -isIdleClosedLoop = bits, U32, 1576, [16:16] -idleTarget = scalar, S32, 1580, "", 1, 0 -targetRpmByClt = scalar, S32, 1584, "", 1, 0 -targetRpmAc = scalar, S32, 1588, "", 1, 0 -iacByRpmTaper = scalar, F32, 1592 -luaAdd = scalar, F32, 1596 -; total TS size = 1600 -targetWithIdlePosition0 = scalar, F32, 1600, "per", 1,0 -trim0 = scalar, F32, 1604, "", 1, 0 -luaAdjustment0 = scalar, F32, 1608, "per", 1,0 -m_wastegatePosition0 = scalar, F32, 1612, "per", 1,0 -etbFeedForward0 = scalar, F32, 1616 -etbIntegralError0 = scalar, F32, 1620, "", 1, 0 -etbCurrentTarget0 = scalar, F32, 1624, "%", 1, 0 -etbCurrentAdjustedTarget0 = scalar, F32, 1628, "%", 1, 0 -etbRevLimitActive0 = bits, U32, 1632, [0:0] -jamDetected0 = bits, U32, 1632, [1:1] -etbTpsErrorCounter0 = scalar, U16, 1636, "count", 1,0 -etbPpsErrorCounter0 = scalar, U16, 1638, "count", 1,0 -etbErrorCode0 = scalar, S08, 1640, "", 1, 0 -tcEtbDrop0 = scalar, S08, 1641, "%", 1, 0 -jamTimer0 = scalar, U16, 1642, "sec", 0.01, 0 -adjustedEtbTarget0 = scalar, S08, 1644, "%", 1, 0 -; total TS size = 1648 -targetWithIdlePosition1 = scalar, F32, 1648, "per", 1,0 -trim1 = scalar, F32, 1652, "", 1, 0 -luaAdjustment1 = scalar, F32, 1656, "per", 1,0 -m_wastegatePosition1 = scalar, F32, 1660, "per", 1,0 -etbFeedForward1 = scalar, F32, 1664 -etbIntegralError1 = scalar, F32, 1668, "", 1, 0 -etbCurrentTarget1 = scalar, F32, 1672, "%", 1, 0 -etbCurrentAdjustedTarget1 = scalar, F32, 1676, "%", 1, 0 -etbRevLimitActive1 = bits, U32, 1680, [0:0] -jamDetected1 = bits, U32, 1680, [1:1] -etbTpsErrorCounter1 = scalar, U16, 1684, "count", 1,0 -etbPpsErrorCounter1 = scalar, U16, 1686, "count", 1,0 -etbErrorCode1 = scalar, S08, 1688, "", 1, 0 -tcEtbDrop1 = scalar, S08, 1689, "%", 1, 0 -jamTimer1 = scalar, U16, 1690, "sec", 0.01, 0 -adjustedEtbTarget1 = scalar, S08, 1692, "%", 1, 0 -; total TS size = 1696 -faultCode0 = scalar, U08, 1696, "", 1, 0 -heaterDuty0 = scalar, U08, 1697, "%", 1, 0 -pumpDuty0 = scalar, U08, 1698, "%", 1, 0 -tempC0 = scalar, U16, 1700, "C", 1, 0 -nernstVoltage0 = scalar, U16, 1702, "V", 0.001, 0 -esr0 = scalar, U16, 1704, "ohm", 1, 0 -; total TS size = 1708 -faultCode1 = scalar, U08, 1708, "", 1, 0 -heaterDuty1 = scalar, U08, 1709, "%", 1, 0 -pumpDuty1 = scalar, U08, 1710, "%", 1, 0 -tempC1 = scalar, U16, 1712, "C", 1, 0 -nernstVoltage1 = scalar, U16, 1714, "V", 0.001, 0 -esr1 = scalar, U16, 1716, "ohm", 1, 0 -; total TS size = 1720 -dcOutput0 = scalar, F32, 1720, "per", 1,0 -isEnabled0_int = scalar, U08, 1724, "per", 1,0 -isEnabled0 = bits, U32, 1728, [0:0] -; total TS size = 1732 -value0 = scalar, U16, 1732, "value", 1,0 -value1 = scalar, U16, 1734, "value", 1,0 -errorRate = scalar, F32, 1736, "ratio", 1,0 -; total TS size = 1740 -vvtTarget = scalar, U16, 1740, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1742, "%", 0.5, 0 -; total TS size = 1744 -lambdaCurrentlyGood = bits, U32, 1744, [0:0] -lambdaMonitorCut = bits, U32, 1744, [1:1] -lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 -; total TS size = 1752 +retardThresholdRpm = scalar, S32, 1120, "", 1, 0 +launchActivatePinState = bits, U32, 1124, [0:0] +isPreLaunchCondition = bits, U32, 1124, [1:1] +isLaunchCondition = bits, U32, 1124, [2:2] +isSwitchActivated = bits, U32, 1124, [3:3] +isClutchActivated = bits, U32, 1124, [4:4] +isBrakePedalActivated = bits, U32, 1124, [5:5] +isValidInputPin = bits, U32, 1124, [6:6] +activateSwitchCondition = bits, U32, 1124, [7:7] +rpmLaunchCondition = bits, U32, 1124, [8:8] +rpmPreLaunchCondition = bits, U32, 1124, [9:9] +speedCondition = bits, U32, 1124, [10:10] +tpsCondition = bits, U32, 1124, [11:11] +; total TS size = 1128 +isTorqueReductionTriggerPinValid = bits, U32, 1128, [0:0] +torqueReductionTriggerPinState = bits, U32, 1128, [1:1] +isTimeConditionSatisfied = bits, U32, 1128, [2:2] +isRpmConditionSatisfied = bits, U32, 1128, [3:3] +isAppConditionSatisfied = bits, U32, 1128, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1128, [5:5] +; total TS size = 1132 +isAntilagCondition = bits, U32, 1132, [0:0] +ALSMinRPMCondition = bits, U32, 1132, [1:1] +ALSMaxRPMCondition = bits, U32, 1132, [2:2] +ALSMinCLTCondition = bits, U32, 1132, [3:3] +ALSMaxCLTCondition = bits, U32, 1132, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1132, [5:5] +isALSSwitchActivated = bits, U32, 1132, [6:6] +ALSActivatePinState = bits, U32, 1132, [7:7] +ALSSwitchCondition = bits, U32, 1132, [8:8] +ALSTimerCondition = bits, U32, 1132, [9:9] +fuelALSCorrection = scalar, F32, 1136, "", 1, 0 +timingALSCorrection = scalar, S16, 1140, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1142, "deg", 0.01, 0 +; total TS size = 1144 +isTpsInvalid = bits, U32, 1144, [0:0] +m_shouldResetPid = bits, U32, 1144, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1144, [2:2] +isNotClosedLoop = bits, U32, 1144, [3:3] +isZeroRpm = bits, U32, 1144, [4:4] +hasInitBoost = bits, U32, 1144, [5:5] +rpmTooLow = bits, U32, 1144, [6:6] +tpsTooLow = bits, U32, 1144, [7:7] +mapTooLow = bits, U32, 1144, [8:8] +isPlantValid = bits, U32, 1144, [9:9] +isBoostControlled = bits, U32, 1144, [10:10] +luaTargetAdd = scalar, S16, 1148, "v", 0.5,0 +boostOutput = scalar, S16, 1150, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1152, "v", 1,0 +openLoopPart = scalar, F32, 1156, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1160, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1164, "%", 0.5,0 +boostControlTarget = scalar, S16, 1166, "kPa", 0.03333333333333333,0 +; total TS size = 1168 +acButtonState = scalar, S08, 1168, "", 1, 0 +m_acEnabled = bits, U32, 1172, [0:0] +engineTooSlow = bits, U32, 1172, [1:1] +engineTooFast = bits, U32, 1172, [2:2] +noClt = bits, U32, 1172, [3:3] +engineTooHot = bits, U32, 1172, [4:4] +tpsTooHigh = bits, U32, 1172, [5:5] +isDisabledByLua = bits, U32, 1172, [6:6] +acCompressorState = bits, U32, 1172, [7:7] +acPressureTooLow = bits, U32, 1172, [8:8] +acPressureTooHigh = bits, U32, 1172, [9:9] +; total TS size = 1176 +cranking0 = bits, U32, 1176, [0:0] +notRunning0 = bits, U32, 1176, [1:1] +disabledWhileEngineStopped0 = bits, U32, 1176, [2:2] +brokenClt0 = bits, U32, 1176, [3:3] +enabledForAc0 = bits, U32, 1176, [4:4] +hot0 = bits, U32, 1176, [5:5] +cold0 = bits, U32, 1176, [6:6] +disabledBySpeed0 = bits, U32, 1176, [7:7] +radiatorFanStatus0 = scalar, U08, 1180, "", 1, 0 +; total TS size = 1184 +cranking1 = bits, U32, 1184, [0:0] +notRunning1 = bits, U32, 1184, [1:1] +disabledWhileEngineStopped1 = bits, U32, 1184, [2:2] +brokenClt1 = bits, U32, 1184, [3:3] +enabledForAc1 = bits, U32, 1184, [4:4] +hot1 = bits, U32, 1184, [5:5] +cold1 = bits, U32, 1184, [6:6] +disabledBySpeed1 = bits, U32, 1184, [7:7] +radiatorFanStatus1 = scalar, U08, 1188, "", 1, 0 +; total TS size = 1192 +isPrime = bits, U32, 1192, [0:0] +engineTurnedRecently = bits, U32, 1192, [1:1] +isFuelPumpOn = bits, U32, 1192, [2:2] +ignitionOn = bits, U32, 1192, [3:3] +; total TS size = 1196 +isBenchTest = bits, U32, 1196, [0:0] +hasIgnitionVoltage = bits, U32, 1196, [1:1] +mainRelayState = bits, U32, 1196, [2:2] +delayedShutoffRequested = bits, U32, 1196, [3:3] +; total TS size = 1200 +lua_fuelAdd = scalar, F32, 1200, "g", 1, 0 +lua_fuelMult = scalar, F32, 1204, "", 1, 0 +lua_clutchUpState = bits, U32, 1208, [0:0] +lua_brakePedalState = bits, U32, 1208, [1:1] +lua_acRequestState = bits, U32, 1208, [2:2] +lua_luaDisableEtb = bits, U32, 1208, [3:3] +lua_luaIgnCut = bits, U32, 1208, [4:4] +lua_luaFuelCut = bits, U32, 1208, [5:5] +lua_clutchDownState = bits, U32, 1208, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1208, [7:7] +sd_tCharge = scalar, S16, 1212, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1216, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1220, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1224, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1228, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1232, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1236, "", 1, 0 +hellenBoardId = scalar, S16, 1240, "id", 1, 0 +clutchUpState = scalar, S08, 1242, "", 1, 0 +clutchDownState = scalar, S08, 1243, "", 1, 0 +brakePedalState = scalar, S08, 1244, "", 1, 0 +startStopState = scalar, S08, 1245, "", 1, 0 +smartChipState = scalar, S08, 1246, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1247, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1248, "", 1, 0 +startStopPhysicalState = bits, U32, 1252, [0:0] +acrActive = bits, U32, 1252, [1:1] +acrEngineMovedRecently = bits, U32, 1252, [2:2] +heaterControlEnabled = bits, U32, 1252, [3:3] +luaDigitalState0 = bits, U32, 1252, [4:4] +luaDigitalState1 = bits, U32, 1252, [5:5] +luaDigitalState2 = bits, U32, 1252, [6:6] +luaDigitalState3 = bits, U32, 1252, [7:7] +startStopStateToggleCounter = scalar, U32, 1256, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1260, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1264, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1268, "", 1, 0 +desiredRpmLimit = scalar, S16, 1272, "rpm", 1, 0 +fuelInjectionCounter = scalar, U32, 1276, "", 1, 0 +globalSparkCounter = scalar, U32, 1280, "", 1, 0 +fuelingLoad = scalar, F32, 1284, "", 1, 0 +ignitionLoad = scalar, F32, 1288, "", 1, 0 +veTableYAxis = scalar, U16, 1292, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1294, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1295, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1296, "", 1, 0 +; total TS size = 1300 +tpsFrom = scalar, F32, 1300 +tpsTo = scalar, F32, 1304 +deltaTps = scalar, F32, 1308 +extraFuel = scalar, F32, 1312, "", 1, 0 +valueFromTable = scalar, F32, 1316, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1320, [0:0] +isBelowDecelThreshold = bits, U32, 1320, [1:1] +isTimeToResetAccumulator = bits, U32, 1320, [2:2] +isFractionalEnrichment = bits, U32, 1320, [3:3] +belowEpsilon = bits, U32, 1320, [4:4] +tooShort = bits, U32, 1320, [5:5] +fractionalInjFuel = scalar, F32, 1324, "", 1, 0 +accumulatedValue = scalar, F32, 1328, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1332, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1336, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1340, "", 1, 0 +cycleCnt = scalar, S32, 1344, "", 1, 0 +; total TS size = 1348 +hwEventCounters1 = scalar, U32, 1348, "", 1, 0 +hwEventCounters2 = scalar, U32, 1352, "", 1, 0 +hwEventCounters3 = scalar, U32, 1356, "", 1, 0 +hwEventCounters4 = scalar, U32, 1360, "", 1, 0 +hwEventCounters5 = scalar, U32, 1364, "", 1, 0 +hwEventCounters6 = scalar, U32, 1368, "", 1, 0 +vvtCamCounter = scalar, U32, 1372, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1376, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1380, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1384, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1385, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1388, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1392, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1396, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1400, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1404, [0:0] +triggerElapsedUs = scalar, U32, 1408, "", 1, 0 +; total TS size = 1412 +crankSynchronizationCounter0 = scalar, U32, 1412, "", 1, 0 +vvtSyncGapRatio0 = scalar, F32, 1416, "", 1, 0 +vvtToothDurations00 = scalar, U32, 1420, "us", 1, 0 +vvtCurrentPosition0 = scalar, F32, 1424, "sync: Primary Cam Position", 1, 0 +vvtToothPosition10 = scalar, F32, 1428, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition20 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition30 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition40 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio0 = scalar, F32, 1444, "", 1, 0 +triggerStateIndex0 = scalar, U08, 1448, "", 1, 0 +vvtStateIndex0 = scalar, U08, 1449, "", 1, 0 +; total TS size = 1452 +crankSynchronizationCounter1 = scalar, U32, 1452, "", 1, 0 +vvtSyncGapRatio1 = scalar, F32, 1456, "", 1, 0 +vvtToothDurations01 = scalar, U32, 1460, "us", 1, 0 +vvtCurrentPosition1 = scalar, F32, 1464, "sync: Primary Cam Position", 1, 0 +vvtToothPosition11 = scalar, F32, 1468, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition21 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition31 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition41 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio1 = scalar, F32, 1484, "", 1, 0 +triggerStateIndex1 = scalar, U08, 1488, "", 1, 0 +vvtStateIndex1 = scalar, U08, 1489, "", 1, 0 +; total TS size = 1492 +crankSynchronizationCounter2 = scalar, U32, 1492, "", 1, 0 +vvtSyncGapRatio2 = scalar, F32, 1496, "", 1, 0 +vvtToothDurations02 = scalar, U32, 1500, "us", 1, 0 +vvtCurrentPosition2 = scalar, F32, 1504, "sync: Primary Cam Position", 1, 0 +vvtToothPosition12 = scalar, F32, 1508, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition22 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition32 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition42 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio2 = scalar, F32, 1524, "", 1, 0 +triggerStateIndex2 = scalar, U08, 1528, "", 1, 0 +vvtStateIndex2 = scalar, U08, 1529, "", 1, 0 +; total TS size = 1532 +crankSynchronizationCounter3 = scalar, U32, 1532, "", 1, 0 +vvtSyncGapRatio3 = scalar, F32, 1536, "", 1, 0 +vvtToothDurations03 = scalar, U32, 1540, "us", 1, 0 +vvtCurrentPosition3 = scalar, F32, 1544, "sync: Primary Cam Position", 1, 0 +vvtToothPosition13 = scalar, F32, 1548, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition23 = scalar, F32, 1552, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition33 = scalar, F32, 1556, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition43 = scalar, F32, 1560, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio3 = scalar, F32, 1564, "", 1, 0 +triggerStateIndex3 = scalar, U08, 1568, "", 1, 0 +vvtStateIndex3 = scalar, U08, 1569, "", 1, 0 +; total TS size = 1572 +crankSynchronizationCounter4 = scalar, U32, 1572, "", 1, 0 +vvtSyncGapRatio4 = scalar, F32, 1576, "", 1, 0 +vvtToothDurations04 = scalar, U32, 1580, "us", 1, 0 +vvtCurrentPosition4 = scalar, F32, 1584, "sync: Primary Cam Position", 1, 0 +vvtToothPosition14 = scalar, F32, 1588, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition24 = scalar, F32, 1592, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition34 = scalar, F32, 1596, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition44 = scalar, F32, 1600, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio4 = scalar, F32, 1604, "", 1, 0 +triggerStateIndex4 = scalar, U08, 1608, "", 1, 0 +vvtStateIndex4 = scalar, U08, 1609, "", 1, 0 +; total TS size = 1612 +camResyncCounter = scalar, U08, 1612, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1616, [0:0] +; total TS size = 1620 +wallFuelCorrection = scalar, F32, 1620, "", 1, 0 +wallFuel = scalar, F32, 1624, "", 1, 0 +; total TS size = 1628 +idleState = bits, S32, 1628, [0:2], "not important" +currentIdlePosition = scalar, F32, 1632 +baseIdlePosition = scalar, F32, 1636 +idleClosedLoop = scalar, F32, 1640 +iacByTpsTaper = scalar, F32, 1644 +throttlePedalUpState = scalar, S32, 1648, "", 1, 0 +mightResetPid = bits, U32, 1652, [0:0] +shouldResetPid = bits, U32, 1652, [1:1] +wasResetPid = bits, U32, 1652, [2:2] +mustResetPid = bits, U32, 1652, [3:3] +isCranking = bits, U32, 1652, [4:4] +isIacTableForCoasting = bits, U32, 1652, [5:5] +notIdling = bits, U32, 1652, [6:6] +needReset = bits, U32, 1652, [7:7] +isInDeadZone = bits, U32, 1652, [8:8] +isBlipping = bits, U32, 1652, [9:9] +useClosedLoop = bits, U32, 1652, [10:10] +badTps = bits, U32, 1652, [11:11] +looksLikeRunning = bits, U32, 1652, [12:12] +looksLikeCoasting = bits, U32, 1652, [13:13] +looksLikeCrankToIdle = bits, U32, 1652, [14:14] +isIdleCoasting = bits, U32, 1652, [15:15] +isIdleClosedLoop = bits, U32, 1652, [16:16] +idleTarget = scalar, S32, 1656, "", 1, 0 +targetRpmByClt = scalar, S32, 1660, "", 1, 0 +targetRpmAc = scalar, S32, 1664, "", 1, 0 +iacByRpmTaper = scalar, F32, 1668 +luaAdd = scalar, F32, 1672 +; total TS size = 1676 +targetWithIdlePosition0 = scalar, F32, 1676, "per", 1,0 +trim0 = scalar, F32, 1680, "", 1, 0 +luaAdjustment0 = scalar, F32, 1684, "per", 1,0 +m_wastegatePosition0 = scalar, F32, 1688, "per", 1,0 +etbFeedForward0 = scalar, F32, 1692 +etbIntegralError0 = scalar, F32, 1696, "", 1, 0 +etbCurrentTarget0 = scalar, F32, 1700, "%", 1, 0 +etbCurrentAdjustedTarget0 = scalar, F32, 1704, "%", 1, 0 +etbRevLimitActive0 = bits, U32, 1708, [0:0] +jamDetected0 = bits, U32, 1708, [1:1] +etbTpsErrorCounter0 = scalar, U16, 1712, "count", 1,0 +etbPpsErrorCounter0 = scalar, U16, 1714, "count", 1,0 +etbErrorCode0 = scalar, S08, 1716, "", 1, 0 +tcEtbDrop0 = scalar, S08, 1717, "%", 1, 0 +jamTimer0 = scalar, U16, 1718, "sec", 0.01, 0 +adjustedEtbTarget0 = scalar, S08, 1720, "%", 1, 0 +; total TS size = 1724 +targetWithIdlePosition1 = scalar, F32, 1724, "per", 1,0 +trim1 = scalar, F32, 1728, "", 1, 0 +luaAdjustment1 = scalar, F32, 1732, "per", 1,0 +m_wastegatePosition1 = scalar, F32, 1736, "per", 1,0 +etbFeedForward1 = scalar, F32, 1740 +etbIntegralError1 = scalar, F32, 1744, "", 1, 0 +etbCurrentTarget1 = scalar, F32, 1748, "%", 1, 0 +etbCurrentAdjustedTarget1 = scalar, F32, 1752, "%", 1, 0 +etbRevLimitActive1 = bits, U32, 1756, [0:0] +jamDetected1 = bits, U32, 1756, [1:1] +etbTpsErrorCounter1 = scalar, U16, 1760, "count", 1,0 +etbPpsErrorCounter1 = scalar, U16, 1762, "count", 1,0 +etbErrorCode1 = scalar, S08, 1764, "", 1, 0 +tcEtbDrop1 = scalar, S08, 1765, "%", 1, 0 +jamTimer1 = scalar, U16, 1766, "sec", 0.01, 0 +adjustedEtbTarget1 = scalar, S08, 1768, "%", 1, 0 +; total TS size = 1772 +faultCode0 = scalar, U08, 1772, "", 1, 0 +heaterDuty0 = scalar, U08, 1773, "%", 1, 0 +pumpDuty0 = scalar, U08, 1774, "%", 1, 0 +tempC0 = scalar, U16, 1776, "C", 1, 0 +nernstVoltage0 = scalar, U16, 1778, "V", 0.001, 0 +esr0 = scalar, U16, 1780, "ohm", 1, 0 +; total TS size = 1784 +faultCode1 = scalar, U08, 1784, "", 1, 0 +heaterDuty1 = scalar, U08, 1785, "%", 1, 0 +pumpDuty1 = scalar, U08, 1786, "%", 1, 0 +tempC1 = scalar, U16, 1788, "C", 1, 0 +nernstVoltage1 = scalar, U16, 1790, "V", 0.001, 0 +esr1 = scalar, U16, 1792, "ohm", 1, 0 +; total TS size = 1796 +dcOutput0 = scalar, F32, 1796, "per", 1,0 +isEnabled0_int = scalar, U08, 1800, "per", 1,0 +isEnabled0 = bits, U32, 1804, [0:0] +; total TS size = 1808 +value0 = scalar, U16, 1808, "value", 1,0 +value1 = scalar, U16, 1810, "value", 1,0 +errorRate = scalar, F32, 1812, "ratio", 1,0 +; total TS size = 1816 +vvtTarget = scalar, U16, 1816, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1818, "%", 0.5, 0 +; total TS size = 1820 +lambdaCurrentlyGood = bits, U32, 1820, [0:0] +lambdaMonitorCut = bits, U32, 1820, [1:1] +lambdaTimeSinceGood = scalar, U16, 1824, "sec", 0.01, 0 +; total TS size = 1828 time = { timeNow } @@ -3532,6 +3564,7 @@ lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs8 requiresPowerCycle = cylinderBore + requiresPowerCycle = knockFrequency readOnly = warning_message readOnly = device_uid1 @@ -4924,6 +4957,26 @@ gaugeCategory = Knock knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knockSpectrumChannelCylGauge = m_knockSpectrumChannelCyl, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStartGauge = m_knockFrequencyStart, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStepGauge = m_knockFrequencyStep, "Knock Frequency Step", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFuelTrimMultiplier = m_knockFuelTrimMultiplier, "Knock Fuel Trim", "mult", 0, 0, 0, 0, 0, 30, 1, 1 + knockSpectrum1 = m_knockSpectrum1, "Knock Spectrum1", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum2 = m_knockSpectrum2, "knockSpectrum2", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum3 = m_knockSpectrum3, "knockSpectrum3", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum4 = m_knockSpectrum4, "knockSpectrum4", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum5 = m_knockSpectrum5, "knockSpectrum5", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum6 = m_knockSpectrum6, "knockSpectrum6", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum7 = m_knockSpectrum7, "knockSpectrum7", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum8 = m_knockSpectrum8, "knockSpectrum8", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum9 = m_knockSpectrum9, "knockSpectrum9", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum10 = m_knockSpectrum10, "knockSpectrum10", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum11 = m_knockSpectrum11, "knockSpectrum11", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum12 = m_knockSpectrum12, "knockSpectrum12", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum13 = m_knockSpectrum13, "knockSpectrum13", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum14 = m_knockSpectrum14, "knockSpectrum14", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum15 = m_knockSpectrum15, "knockSpectrum15", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum16 = m_knockSpectrum16, "knockSpectrum16", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -5485,6 +5538,26 @@ entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" entry = m_knockCount, "Knock: Count", int, "%d" entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_knockFrequency, "knock: frequency", int, "%d" +entry = m_knockSpectrum1, "Knock: SpectrumData 1", int, "%d" +entry = m_knockSpectrum2, "Knock: SpectrumData 2", int, "%d" +entry = m_knockSpectrum3, "Knock: SpectrumData 3", int, "%d" +entry = m_knockSpectrum4, "Knock: SpectrumData 4", int, "%d" +entry = m_knockSpectrum5, "Knock: SpectrumData 5", int, "%d" +entry = m_knockSpectrum6, "Knock: SpectrumData 6", int, "%d" +entry = m_knockSpectrum7, "Knock: SpectrumData 7", int, "%d" +entry = m_knockSpectrum8, "Knock: SpectrumData 8", int, "%d" +entry = m_knockSpectrum9, "Knock: SpectrumData 9", int, "%d" +entry = m_knockSpectrum10, "Knock: SpectrumData 10", int, "%d" +entry = m_knockSpectrum11, "Knock: SpectrumData 11", int, "%d" +entry = m_knockSpectrum12, "Knock: SpectrumData 12", int, "%d" +entry = m_knockSpectrum13, "Knock: SpectrumData 13", int, "%d" +entry = m_knockSpectrum14, "Knock: SpectrumData 14", int, "%d" +entry = m_knockSpectrum15, "Knock: SpectrumData 15", int, "%d" +entry = m_knockSpectrum16, "Knock: SpectrumData 16", int, "%d" +entry = m_knockSpectrumChannelCyl, "Knock: ChannelAndCylNumber", int, "%d" +entry = m_knockFrequencyStart, "Knock: Start Freq", int, "%d" +entry = m_knockFrequencyStep, "Knock: Step Freq", float, "%.3f" +entry = m_knockFuelTrimMultiplier, "Knock: Fuel trim when knock", float, "%.3f" entry = tcuCurrentGear, "TCU: Current Gear", int, "%d" entry = tcRatio, "TCU: Torque Converter Ratio", float, "%.3f" entry = lastShiftTime, "lastShiftTime", float, "%.3f" @@ -6347,6 +6420,31 @@ dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard graphLine = m_knockFrequency + graphLine = m_knockSpectrum1 + graphLine = m_knockSpectrum2 + liveGraph = knock_controller_6_Graph, "Graph", South + graphLine = m_knockSpectrum3 + graphLine = m_knockSpectrum4 + graphLine = m_knockSpectrum5 + graphLine = m_knockSpectrum6 + liveGraph = knock_controller_7_Graph, "Graph", South + graphLine = m_knockSpectrum7 + graphLine = m_knockSpectrum8 + graphLine = m_knockSpectrum9 + graphLine = m_knockSpectrum10 + liveGraph = knock_controller_8_Graph, "Graph", South + graphLine = m_knockSpectrum11 + graphLine = m_knockSpectrum12 + graphLine = m_knockSpectrum13 + graphLine = m_knockSpectrum14 + liveGraph = knock_controller_9_Graph, "Graph", South + graphLine = m_knockSpectrum15 + graphLine = m_knockSpectrum16 + graphLine = m_knockSpectrumChannelCyl + graphLine = m_knockFrequencyStart + liveGraph = knock_controller_10_Graph, "Graph", South + graphLine = m_knockFrequencyStep + graphLine = m_knockFuelTrimMultiplier indicatorPanel = tcu_controllerIndicatorPanel, 2 indicator = {isShifting}, "isShifting No", "isShifting Yes" @@ -8312,9 +8410,13 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockCfg, "Sense" field = "Enable", enableSoftwareKnock field = "Cylinder Bore", cylinderBore, {enableSoftwareKnock} + field = "Estimated Knock Frequency",knockFrequency, {enableSoftwareKnock} field = "Detection mode", knockDetectionUseDoubleFrequency field = "Detection Window Start",knockDetectionWindowStart, {enableSoftwareKnock} field = "Sampling Duration", knockSamplingDuration, {enableSoftwareKnock} + field = "Enable Knock Spectrogram", enableKnockSpectrogram, {enableSoftwareKnock} + field = "Enable Knock Spectrogram Filter", enableKnockSpectrogramFilter, {enableKnockSpectrogram} + field = "Knock Spectrum Sensitivity", knockSpectrumSensitivity, {enableKnockSpectrogram} field = "" field = "Select the nearest sensor for each cylinder" @@ -8326,6 +8428,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockResponseCfg, "Response" field = knockRetardAggression, knockRetardAggression field = knockRetardReapplyRate, knockRetardReapplyRate + field = knockFuelTrimAggression, knockFuelTrimAggression + field = knockFuelTrimReapplyRate, knockFuelTrimReapplyRate + field = knockFuelTrim, knockFuelTrim + field = knockSuppressMinTps, knockSuppressMinTps dialog = softwareKnockLeft, "" panel = softwareKnockCfg diff --git a/firmware/tunerstudio/generated/rusefi_hellen-nb1.ini b/firmware/tunerstudio/generated/rusefi_hellen-nb1.ini index 401b7bb362..1ea8dd1702 100644 --- a/firmware/tunerstudio/generated/rusefi_hellen-nb1.ini +++ b/firmware/tunerstudio/generated/rusefi_hellen-nb1.ini @@ -38,12 +38,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.10.21.hellen-nb1.88542982" + signature = "rusEFI master.2024.10.21.hellen-nb1.3647952377" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.10.21.hellen-nb1.88542982" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.10.21.hellen-nb1.3647952377" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -774,6 +774,7 @@ devBit7 = bits, U32, 1492, [27:27], "false", "true" unusedSkipWasHere = bits, U32, 1492, [28:28], "false", "true" invertExhaustCamVVTSignal = bits, U32, 1492, [29:29], "Rising", "Falling" enableKnockSpectrogram = bits, U32, 1492, [30:30], "false", "true" +enableKnockSpectrogramFilter = bits, U32, 1492, [31:31], "false", "true" afterCrankingIACtaperDuration = scalar, S16, 1496, "cycles", 1, 0, 0, 5000, 0 iacByTpsTaper = scalar, S16, 1498, "percent", 1, 0, 0, 500, 0 unusedAuxSeria = bits, U16, 1500, [0:8], $gpio_list @@ -1394,7 +1395,13 @@ auxLinear4_v1 = scalar, F32, 3880, "volts", 1, 0, 0, 10, 2 auxLinear4_value1 = scalar, F32, 3884, "", 1, 0, -100000, 1000000, 2 auxLinear4_v2 = scalar, F32, 3888, "volts", 1, 0, 0, 10, 2 auxLinear4_value2 = scalar, F32, 3892, "", 1, 0, -100000, 1000000, 2 -unusedOftenChangesDuringFirmwareUpdate = array, U08, 3896, [128], "units", 1, 0, 0, 1, 0 +knockSuppressMinTps = scalar, U08, 3896, "%", 1, 0, 0, 100, 1 +knockFuelTrimAggression = scalar, U08, 3897, "%", 0.1, 0, 0, 20, 1 +knockFuelTrimReapplyRate = scalar, U08, 3898, "deg/s", 0.1, 0, 0, 10, 1 +knockFuelTrim = scalar, U08, 3899, "%", 1, 0, 0, 30, 1 +knockSpectrumSensitivity = scalar, F32, 3900, "sense", 1, 0, 0, 1, 2 +knockFrequency = scalar, F32, 3904, "Hz", 1, 0, 0, 20000, 2 +unusedOftenChangesDuringFirmwareUpdate = array, U08, 3908, [116], "units", 1, 0, 0, 1, 0 postCrankingFactor = array, F32, 4024, [6x6], "mult", 1, 0, 1, 3, 2 postCrankingDurationBins = array, F32, 4168, [6], "count", 1, 0, 0, 1000, 0 postCrankingCLTBins = array, S16, 4192, [6], "C", 1, 0, -100, 250, 0 @@ -2448,6 +2455,11 @@ minimumOilPressureValues = array, U08, 22960, [8], "kPa", 10.0, 0, 0, 1000, 0 minAcPressure = "value of A/C pressure in kPa before that compressor is disengaged" maxAcPressure = "value of A/C pressure in kPa after that compressor is disengaged" minimumOilPressureTimeout = "Delay before cutting fuel due to low oil pressure. Use this to ignore short pressure blips and sensor noise." + knockSuppressMinTps = "Below TPS value all knock suppression will be disabled." + knockFuelTrimAggression = "Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump)," + knockFuelTrimReapplyRate = "After a knock event, reapply fuel at this rate." + knockFuelTrim = "Fuel trim when knock, max 30%" + knockFrequency = "Estimated knock frequency, ignore cylinderBore if this one > 0" etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, open loop component of PID closed loop control" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2560,7 +2572,7 @@ minimumOilPressureValues = array, U08, 22960, [8], "kPa", 10.0, 0, 0, 1000, 0 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1752 + ochBlockSize = 1828 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3101,370 +3113,390 @@ m_knockThreshold = scalar, F32, 960, "", 1, 0 m_knockCount = scalar, U32, 964, "", 1, 0 m_maximumRetard = scalar, F32, 968, "", 1, 0 m_knockFrequency = scalar, U32, 972, "Hz", 1, 0 -; total TS size = 976 -tcuCurrentGear = scalar, S08, 976, "gear", 1, 0 -tcRatio = scalar, U16, 978, "value", 0.01, 0 -lastShiftTime = scalar, F32, 980, "", 1, 0 -tcu_currentRange = scalar, U08, 984, "", 1, 0 -pressureControlDuty = scalar, S08, 985, "%", 1,0 -torqueConverterDuty = scalar, S08, 986, "%", 1,0 -isShifting = bits, U32, 988, [0:0] -; total TS size = 992 -throttleUseWotModel = bits, U32, 992, [0:0] -throttleModelCrossoverAngle = scalar, S16, 996, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1000, "g/s", 1, 0 -; total TS size = 1004 -m_requested_pump = scalar, F32, 1004, "", 1, 0 -fuel_requested_percent = scalar, F32, 1008, "", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1012, "", 1, 0 -noValve = bits, U32, 1016, [0:0] -angleAboveMin = bits, U32, 1016, [1:1] -isHpfpInactive = bits, U32, 1016, [2:2] -m_pressureTarget_kPa = scalar, F32, 1020, "", 1, 0 -nextLobe = scalar, F32, 1024, "", 1, 0 -di_nextStart = scalar, F32, 1028, "v", 1, 0 -; total TS size = 1032 -m_deadtime = scalar, F32, 1032, "ms", 1, 0 -pressureDelta = scalar, F32, 1036, "kPa", 1, 0 -pressureRatio = scalar, F32, 1040, "", 1, 0 -; total TS size = 1044 -retardThresholdRpm = scalar, S32, 1044, "", 1, 0 -launchActivatePinState = bits, U32, 1048, [0:0] -isPreLaunchCondition = bits, U32, 1048, [1:1] -isLaunchCondition = bits, U32, 1048, [2:2] -isSwitchActivated = bits, U32, 1048, [3:3] -isClutchActivated = bits, U32, 1048, [4:4] -isBrakePedalActivated = bits, U32, 1048, [5:5] -isValidInputPin = bits, U32, 1048, [6:6] -activateSwitchCondition = bits, U32, 1048, [7:7] -rpmLaunchCondition = bits, U32, 1048, [8:8] -rpmPreLaunchCondition = bits, U32, 1048, [9:9] -speedCondition = bits, U32, 1048, [10:10] -tpsCondition = bits, U32, 1048, [11:11] +m_knockSpectrum1 = scalar, U32, 976, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 980, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 984, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 988, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1040, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1042, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1044, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1048, "multiplier", 1, 0 ; total TS size = 1052 -isTorqueReductionTriggerPinValid = bits, U32, 1052, [0:0] -torqueReductionTriggerPinState = bits, U32, 1052, [1:1] -isTimeConditionSatisfied = bits, U32, 1052, [2:2] -isRpmConditionSatisfied = bits, U32, 1052, [3:3] -isAppConditionSatisfied = bits, U32, 1052, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1052, [5:5] -; total TS size = 1056 -isAntilagCondition = bits, U32, 1056, [0:0] -ALSMinRPMCondition = bits, U32, 1056, [1:1] -ALSMaxRPMCondition = bits, U32, 1056, [2:2] -ALSMinCLTCondition = bits, U32, 1056, [3:3] -ALSMaxCLTCondition = bits, U32, 1056, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1056, [5:5] -isALSSwitchActivated = bits, U32, 1056, [6:6] -ALSActivatePinState = bits, U32, 1056, [7:7] -ALSSwitchCondition = bits, U32, 1056, [8:8] -ALSTimerCondition = bits, U32, 1056, [9:9] -fuelALSCorrection = scalar, F32, 1060, "", 1, 0 -timingALSCorrection = scalar, S16, 1064, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1066, "deg", 0.01, 0 +tcuCurrentGear = scalar, S08, 1052, "gear", 1, 0 +tcRatio = scalar, U16, 1054, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1056, "", 1, 0 +tcu_currentRange = scalar, U08, 1060, "", 1, 0 +pressureControlDuty = scalar, S08, 1061, "%", 1,0 +torqueConverterDuty = scalar, S08, 1062, "%", 1,0 +isShifting = bits, U32, 1064, [0:0] ; total TS size = 1068 -isTpsInvalid = bits, U32, 1068, [0:0] -m_shouldResetPid = bits, U32, 1068, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1068, [2:2] -isNotClosedLoop = bits, U32, 1068, [3:3] -isZeroRpm = bits, U32, 1068, [4:4] -hasInitBoost = bits, U32, 1068, [5:5] -rpmTooLow = bits, U32, 1068, [6:6] -tpsTooLow = bits, U32, 1068, [7:7] -mapTooLow = bits, U32, 1068, [8:8] -isPlantValid = bits, U32, 1068, [9:9] -isBoostControlled = bits, U32, 1068, [10:10] -luaTargetAdd = scalar, S16, 1072, "v", 0.5,0 -boostOutput = scalar, S16, 1074, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1076, "v", 1,0 -openLoopPart = scalar, F32, 1080, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1084, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1088, "%", 0.5,0 -boostControlTarget = scalar, S16, 1090, "kPa", 0.03333333333333333,0 -; total TS size = 1092 -acButtonState = scalar, S08, 1092, "", 1, 0 -m_acEnabled = bits, U32, 1096, [0:0] -engineTooSlow = bits, U32, 1096, [1:1] -engineTooFast = bits, U32, 1096, [2:2] -noClt = bits, U32, 1096, [3:3] -engineTooHot = bits, U32, 1096, [4:4] -tpsTooHigh = bits, U32, 1096, [5:5] -isDisabledByLua = bits, U32, 1096, [6:6] -acCompressorState = bits, U32, 1096, [7:7] -acPressureTooLow = bits, U32, 1096, [8:8] -acPressureTooHigh = bits, U32, 1096, [9:9] -; total TS size = 1100 -cranking0 = bits, U32, 1100, [0:0] -notRunning0 = bits, U32, 1100, [1:1] -disabledWhileEngineStopped0 = bits, U32, 1100, [2:2] -brokenClt0 = bits, U32, 1100, [3:3] -enabledForAc0 = bits, U32, 1100, [4:4] -hot0 = bits, U32, 1100, [5:5] -cold0 = bits, U32, 1100, [6:6] -disabledBySpeed0 = bits, U32, 1100, [7:7] -radiatorFanStatus0 = scalar, U08, 1104, "", 1, 0 +throttleUseWotModel = bits, U32, 1068, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1072, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1076, "g/s", 1, 0 +; total TS size = 1080 +m_requested_pump = scalar, F32, 1080, "", 1, 0 +fuel_requested_percent = scalar, F32, 1084, "", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1088, "", 1, 0 +noValve = bits, U32, 1092, [0:0] +angleAboveMin = bits, U32, 1092, [1:1] +isHpfpInactive = bits, U32, 1092, [2:2] +m_pressureTarget_kPa = scalar, F32, 1096, "", 1, 0 +nextLobe = scalar, F32, 1100, "", 1, 0 +di_nextStart = scalar, F32, 1104, "v", 1, 0 ; total TS size = 1108 -cranking1 = bits, U32, 1108, [0:0] -notRunning1 = bits, U32, 1108, [1:1] -disabledWhileEngineStopped1 = bits, U32, 1108, [2:2] -brokenClt1 = bits, U32, 1108, [3:3] -enabledForAc1 = bits, U32, 1108, [4:4] -hot1 = bits, U32, 1108, [5:5] -cold1 = bits, U32, 1108, [6:6] -disabledBySpeed1 = bits, U32, 1108, [7:7] -radiatorFanStatus1 = scalar, U08, 1112, "", 1, 0 -; total TS size = 1116 -isPrime = bits, U32, 1116, [0:0] -engineTurnedRecently = bits, U32, 1116, [1:1] -isFuelPumpOn = bits, U32, 1116, [2:2] -ignitionOn = bits, U32, 1116, [3:3] +m_deadtime = scalar, F32, 1108, "ms", 1, 0 +pressureDelta = scalar, F32, 1112, "kPa", 1, 0 +pressureRatio = scalar, F32, 1116, "", 1, 0 ; total TS size = 1120 -isBenchTest = bits, U32, 1120, [0:0] -hasIgnitionVoltage = bits, U32, 1120, [1:1] -mainRelayState = bits, U32, 1120, [2:2] -delayedShutoffRequested = bits, U32, 1120, [3:3] -; total TS size = 1124 -lua_fuelAdd = scalar, F32, 1124, "g", 1, 0 -lua_fuelMult = scalar, F32, 1128, "", 1, 0 -lua_clutchUpState = bits, U32, 1132, [0:0] -lua_brakePedalState = bits, U32, 1132, [1:1] -lua_acRequestState = bits, U32, 1132, [2:2] -lua_luaDisableEtb = bits, U32, 1132, [3:3] -lua_luaIgnCut = bits, U32, 1132, [4:4] -lua_luaFuelCut = bits, U32, 1132, [5:5] -lua_clutchDownState = bits, U32, 1132, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1132, [7:7] -sd_tCharge = scalar, S16, 1136, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1140, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1144, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1148, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1152, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1156, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1160, "", 1, 0 -hellenBoardId = scalar, S16, 1164, "id", 1, 0 -clutchUpState = scalar, S08, 1166, "", 1, 0 -clutchDownState = scalar, S08, 1167, "", 1, 0 -brakePedalState = scalar, S08, 1168, "", 1, 0 -startStopState = scalar, S08, 1169, "", 1, 0 -smartChipState = scalar, S08, 1170, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1171, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1172, "", 1, 0 -startStopPhysicalState = bits, U32, 1176, [0:0] -acrActive = bits, U32, 1176, [1:1] -acrEngineMovedRecently = bits, U32, 1176, [2:2] -heaterControlEnabled = bits, U32, 1176, [3:3] -luaDigitalState0 = bits, U32, 1176, [4:4] -luaDigitalState1 = bits, U32, 1176, [5:5] -luaDigitalState2 = bits, U32, 1176, [6:6] -luaDigitalState3 = bits, U32, 1176, [7:7] -startStopStateToggleCounter = scalar, U32, 1180, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1184, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1188, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1192, "", 1, 0 -desiredRpmLimit = scalar, S16, 1196, "rpm", 1, 0 -fuelInjectionCounter = scalar, U32, 1200, "", 1, 0 -globalSparkCounter = scalar, U32, 1204, "", 1, 0 -fuelingLoad = scalar, F32, 1208, "", 1, 0 -ignitionLoad = scalar, F32, 1212, "", 1, 0 -veTableYAxis = scalar, U16, 1216, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1218, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1219, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1220, "", 1, 0 -; total TS size = 1224 -tpsFrom = scalar, F32, 1224 -tpsTo = scalar, F32, 1228 -deltaTps = scalar, F32, 1232 -extraFuel = scalar, F32, 1236, "", 1, 0 -valueFromTable = scalar, F32, 1240, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1244, [0:0] -isBelowDecelThreshold = bits, U32, 1244, [1:1] -isTimeToResetAccumulator = bits, U32, 1244, [2:2] -isFractionalEnrichment = bits, U32, 1244, [3:3] -belowEpsilon = bits, U32, 1244, [4:4] -tooShort = bits, U32, 1244, [5:5] -fractionalInjFuel = scalar, F32, 1248, "", 1, 0 -accumulatedValue = scalar, F32, 1252, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1256, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1260, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1264, "", 1, 0 -cycleCnt = scalar, S32, 1268, "", 1, 0 -; total TS size = 1272 -hwEventCounters1 = scalar, U32, 1272, "", 1, 0 -hwEventCounters2 = scalar, U32, 1276, "", 1, 0 -hwEventCounters3 = scalar, U32, 1280, "", 1, 0 -hwEventCounters4 = scalar, U32, 1284, "", 1, 0 -hwEventCounters5 = scalar, U32, 1288, "", 1, 0 -hwEventCounters6 = scalar, U32, 1292, "", 1, 0 -vvtCamCounter = scalar, U32, 1296, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1300, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1304, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1308, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1309, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1312, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1316, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1320, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1324, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1328, [0:0] -triggerElapsedUs = scalar, U32, 1332, "", 1, 0 -; total TS size = 1336 -crankSynchronizationCounter0 = scalar, U32, 1336, "", 1, 0 -vvtSyncGapRatio0 = scalar, F32, 1340, "", 1, 0 -vvtToothDurations00 = scalar, U32, 1344, "us", 1, 0 -vvtCurrentPosition0 = scalar, F32, 1348, "sync: Primary Cam Position", 1, 0 -vvtToothPosition10 = scalar, F32, 1352, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition20 = scalar, F32, 1356, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition30 = scalar, F32, 1360, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition40 = scalar, F32, 1364, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio0 = scalar, F32, 1368, "", 1, 0 -triggerStateIndex0 = scalar, U08, 1372, "", 1, 0 -vvtStateIndex0 = scalar, U08, 1373, "", 1, 0 -; total TS size = 1376 -crankSynchronizationCounter1 = scalar, U32, 1376, "", 1, 0 -vvtSyncGapRatio1 = scalar, F32, 1380, "", 1, 0 -vvtToothDurations01 = scalar, U32, 1384, "us", 1, 0 -vvtCurrentPosition1 = scalar, F32, 1388, "sync: Primary Cam Position", 1, 0 -vvtToothPosition11 = scalar, F32, 1392, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition21 = scalar, F32, 1396, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition31 = scalar, F32, 1400, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition41 = scalar, F32, 1404, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio1 = scalar, F32, 1408, "", 1, 0 -triggerStateIndex1 = scalar, U08, 1412, "", 1, 0 -vvtStateIndex1 = scalar, U08, 1413, "", 1, 0 -; total TS size = 1416 -crankSynchronizationCounter2 = scalar, U32, 1416, "", 1, 0 -vvtSyncGapRatio2 = scalar, F32, 1420, "", 1, 0 -vvtToothDurations02 = scalar, U32, 1424, "us", 1, 0 -vvtCurrentPosition2 = scalar, F32, 1428, "sync: Primary Cam Position", 1, 0 -vvtToothPosition12 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition22 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition32 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition42 = scalar, F32, 1444, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio2 = scalar, F32, 1448, "", 1, 0 -triggerStateIndex2 = scalar, U08, 1452, "", 1, 0 -vvtStateIndex2 = scalar, U08, 1453, "", 1, 0 -; total TS size = 1456 -crankSynchronizationCounter3 = scalar, U32, 1456, "", 1, 0 -vvtSyncGapRatio3 = scalar, F32, 1460, "", 1, 0 -vvtToothDurations03 = scalar, U32, 1464, "us", 1, 0 -vvtCurrentPosition3 = scalar, F32, 1468, "sync: Primary Cam Position", 1, 0 -vvtToothPosition13 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition23 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition33 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition43 = scalar, F32, 1484, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio3 = scalar, F32, 1488, "", 1, 0 -triggerStateIndex3 = scalar, U08, 1492, "", 1, 0 -vvtStateIndex3 = scalar, U08, 1493, "", 1, 0 -; total TS size = 1496 -crankSynchronizationCounter4 = scalar, U32, 1496, "", 1, 0 -vvtSyncGapRatio4 = scalar, F32, 1500, "", 1, 0 -vvtToothDurations04 = scalar, U32, 1504, "us", 1, 0 -vvtCurrentPosition4 = scalar, F32, 1508, "sync: Primary Cam Position", 1, 0 -vvtToothPosition14 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition24 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition34 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition44 = scalar, F32, 1524, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio4 = scalar, F32, 1528, "", 1, 0 -triggerStateIndex4 = scalar, U08, 1532, "", 1, 0 -vvtStateIndex4 = scalar, U08, 1533, "", 1, 0 -; total TS size = 1536 -camResyncCounter = scalar, U08, 1536, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1540, [0:0] -; total TS size = 1544 -wallFuelCorrection = scalar, F32, 1544, "", 1, 0 -wallFuel = scalar, F32, 1548, "", 1, 0 -; total TS size = 1552 -idleState = bits, S32, 1552, [0:2], "not important" -currentIdlePosition = scalar, F32, 1556 -baseIdlePosition = scalar, F32, 1560 -idleClosedLoop = scalar, F32, 1564 -iacByTpsTaper = scalar, F32, 1568 -throttlePedalUpState = scalar, S32, 1572, "", 1, 0 -mightResetPid = bits, U32, 1576, [0:0] -shouldResetPid = bits, U32, 1576, [1:1] -wasResetPid = bits, U32, 1576, [2:2] -mustResetPid = bits, U32, 1576, [3:3] -isCranking = bits, U32, 1576, [4:4] -isIacTableForCoasting = bits, U32, 1576, [5:5] -notIdling = bits, U32, 1576, [6:6] -needReset = bits, U32, 1576, [7:7] -isInDeadZone = bits, U32, 1576, [8:8] -isBlipping = bits, U32, 1576, [9:9] -useClosedLoop = bits, U32, 1576, [10:10] -badTps = bits, U32, 1576, [11:11] -looksLikeRunning = bits, U32, 1576, [12:12] -looksLikeCoasting = bits, U32, 1576, [13:13] -looksLikeCrankToIdle = bits, U32, 1576, [14:14] -isIdleCoasting = bits, U32, 1576, [15:15] -isIdleClosedLoop = bits, U32, 1576, [16:16] -idleTarget = scalar, S32, 1580, "", 1, 0 -targetRpmByClt = scalar, S32, 1584, "", 1, 0 -targetRpmAc = scalar, S32, 1588, "", 1, 0 -iacByRpmTaper = scalar, F32, 1592 -luaAdd = scalar, F32, 1596 -; total TS size = 1600 -targetWithIdlePosition0 = scalar, F32, 1600, "per", 1,0 -trim0 = scalar, F32, 1604, "", 1, 0 -luaAdjustment0 = scalar, F32, 1608, "per", 1,0 -m_wastegatePosition0 = scalar, F32, 1612, "per", 1,0 -etbFeedForward0 = scalar, F32, 1616 -etbIntegralError0 = scalar, F32, 1620, "", 1, 0 -etbCurrentTarget0 = scalar, F32, 1624, "%", 1, 0 -etbCurrentAdjustedTarget0 = scalar, F32, 1628, "%", 1, 0 -etbRevLimitActive0 = bits, U32, 1632, [0:0] -jamDetected0 = bits, U32, 1632, [1:1] -etbTpsErrorCounter0 = scalar, U16, 1636, "count", 1,0 -etbPpsErrorCounter0 = scalar, U16, 1638, "count", 1,0 -etbErrorCode0 = scalar, S08, 1640, "", 1, 0 -tcEtbDrop0 = scalar, S08, 1641, "%", 1, 0 -jamTimer0 = scalar, U16, 1642, "sec", 0.01, 0 -adjustedEtbTarget0 = scalar, S08, 1644, "%", 1, 0 -; total TS size = 1648 -targetWithIdlePosition1 = scalar, F32, 1648, "per", 1,0 -trim1 = scalar, F32, 1652, "", 1, 0 -luaAdjustment1 = scalar, F32, 1656, "per", 1,0 -m_wastegatePosition1 = scalar, F32, 1660, "per", 1,0 -etbFeedForward1 = scalar, F32, 1664 -etbIntegralError1 = scalar, F32, 1668, "", 1, 0 -etbCurrentTarget1 = scalar, F32, 1672, "%", 1, 0 -etbCurrentAdjustedTarget1 = scalar, F32, 1676, "%", 1, 0 -etbRevLimitActive1 = bits, U32, 1680, [0:0] -jamDetected1 = bits, U32, 1680, [1:1] -etbTpsErrorCounter1 = scalar, U16, 1684, "count", 1,0 -etbPpsErrorCounter1 = scalar, U16, 1686, "count", 1,0 -etbErrorCode1 = scalar, S08, 1688, "", 1, 0 -tcEtbDrop1 = scalar, S08, 1689, "%", 1, 0 -jamTimer1 = scalar, U16, 1690, "sec", 0.01, 0 -adjustedEtbTarget1 = scalar, S08, 1692, "%", 1, 0 -; total TS size = 1696 -faultCode0 = scalar, U08, 1696, "", 1, 0 -heaterDuty0 = scalar, U08, 1697, "%", 1, 0 -pumpDuty0 = scalar, U08, 1698, "%", 1, 0 -tempC0 = scalar, U16, 1700, "C", 1, 0 -nernstVoltage0 = scalar, U16, 1702, "V", 0.001, 0 -esr0 = scalar, U16, 1704, "ohm", 1, 0 -; total TS size = 1708 -faultCode1 = scalar, U08, 1708, "", 1, 0 -heaterDuty1 = scalar, U08, 1709, "%", 1, 0 -pumpDuty1 = scalar, U08, 1710, "%", 1, 0 -tempC1 = scalar, U16, 1712, "C", 1, 0 -nernstVoltage1 = scalar, U16, 1714, "V", 0.001, 0 -esr1 = scalar, U16, 1716, "ohm", 1, 0 -; total TS size = 1720 -dcOutput0 = scalar, F32, 1720, "per", 1,0 -isEnabled0_int = scalar, U08, 1724, "per", 1,0 -isEnabled0 = bits, U32, 1728, [0:0] -; total TS size = 1732 -value0 = scalar, U16, 1732, "value", 1,0 -value1 = scalar, U16, 1734, "value", 1,0 -errorRate = scalar, F32, 1736, "ratio", 1,0 -; total TS size = 1740 -vvtTarget = scalar, U16, 1740, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1742, "%", 0.5, 0 -; total TS size = 1744 -lambdaCurrentlyGood = bits, U32, 1744, [0:0] -lambdaMonitorCut = bits, U32, 1744, [1:1] -lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 -; total TS size = 1752 +retardThresholdRpm = scalar, S32, 1120, "", 1, 0 +launchActivatePinState = bits, U32, 1124, [0:0] +isPreLaunchCondition = bits, U32, 1124, [1:1] +isLaunchCondition = bits, U32, 1124, [2:2] +isSwitchActivated = bits, U32, 1124, [3:3] +isClutchActivated = bits, U32, 1124, [4:4] +isBrakePedalActivated = bits, U32, 1124, [5:5] +isValidInputPin = bits, U32, 1124, [6:6] +activateSwitchCondition = bits, U32, 1124, [7:7] +rpmLaunchCondition = bits, U32, 1124, [8:8] +rpmPreLaunchCondition = bits, U32, 1124, [9:9] +speedCondition = bits, U32, 1124, [10:10] +tpsCondition = bits, U32, 1124, [11:11] +; total TS size = 1128 +isTorqueReductionTriggerPinValid = bits, U32, 1128, [0:0] +torqueReductionTriggerPinState = bits, U32, 1128, [1:1] +isTimeConditionSatisfied = bits, U32, 1128, [2:2] +isRpmConditionSatisfied = bits, U32, 1128, [3:3] +isAppConditionSatisfied = bits, U32, 1128, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1128, [5:5] +; total TS size = 1132 +isAntilagCondition = bits, U32, 1132, [0:0] +ALSMinRPMCondition = bits, U32, 1132, [1:1] +ALSMaxRPMCondition = bits, U32, 1132, [2:2] +ALSMinCLTCondition = bits, U32, 1132, [3:3] +ALSMaxCLTCondition = bits, U32, 1132, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1132, [5:5] +isALSSwitchActivated = bits, U32, 1132, [6:6] +ALSActivatePinState = bits, U32, 1132, [7:7] +ALSSwitchCondition = bits, U32, 1132, [8:8] +ALSTimerCondition = bits, U32, 1132, [9:9] +fuelALSCorrection = scalar, F32, 1136, "", 1, 0 +timingALSCorrection = scalar, S16, 1140, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1142, "deg", 0.01, 0 +; total TS size = 1144 +isTpsInvalid = bits, U32, 1144, [0:0] +m_shouldResetPid = bits, U32, 1144, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1144, [2:2] +isNotClosedLoop = bits, U32, 1144, [3:3] +isZeroRpm = bits, U32, 1144, [4:4] +hasInitBoost = bits, U32, 1144, [5:5] +rpmTooLow = bits, U32, 1144, [6:6] +tpsTooLow = bits, U32, 1144, [7:7] +mapTooLow = bits, U32, 1144, [8:8] +isPlantValid = bits, U32, 1144, [9:9] +isBoostControlled = bits, U32, 1144, [10:10] +luaTargetAdd = scalar, S16, 1148, "v", 0.5,0 +boostOutput = scalar, S16, 1150, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1152, "v", 1,0 +openLoopPart = scalar, F32, 1156, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1160, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1164, "%", 0.5,0 +boostControlTarget = scalar, S16, 1166, "kPa", 0.03333333333333333,0 +; total TS size = 1168 +acButtonState = scalar, S08, 1168, "", 1, 0 +m_acEnabled = bits, U32, 1172, [0:0] +engineTooSlow = bits, U32, 1172, [1:1] +engineTooFast = bits, U32, 1172, [2:2] +noClt = bits, U32, 1172, [3:3] +engineTooHot = bits, U32, 1172, [4:4] +tpsTooHigh = bits, U32, 1172, [5:5] +isDisabledByLua = bits, U32, 1172, [6:6] +acCompressorState = bits, U32, 1172, [7:7] +acPressureTooLow = bits, U32, 1172, [8:8] +acPressureTooHigh = bits, U32, 1172, [9:9] +; total TS size = 1176 +cranking0 = bits, U32, 1176, [0:0] +notRunning0 = bits, U32, 1176, [1:1] +disabledWhileEngineStopped0 = bits, U32, 1176, [2:2] +brokenClt0 = bits, U32, 1176, [3:3] +enabledForAc0 = bits, U32, 1176, [4:4] +hot0 = bits, U32, 1176, [5:5] +cold0 = bits, U32, 1176, [6:6] +disabledBySpeed0 = bits, U32, 1176, [7:7] +radiatorFanStatus0 = scalar, U08, 1180, "", 1, 0 +; total TS size = 1184 +cranking1 = bits, U32, 1184, [0:0] +notRunning1 = bits, U32, 1184, [1:1] +disabledWhileEngineStopped1 = bits, U32, 1184, [2:2] +brokenClt1 = bits, U32, 1184, [3:3] +enabledForAc1 = bits, U32, 1184, [4:4] +hot1 = bits, U32, 1184, [5:5] +cold1 = bits, U32, 1184, [6:6] +disabledBySpeed1 = bits, U32, 1184, [7:7] +radiatorFanStatus1 = scalar, U08, 1188, "", 1, 0 +; total TS size = 1192 +isPrime = bits, U32, 1192, [0:0] +engineTurnedRecently = bits, U32, 1192, [1:1] +isFuelPumpOn = bits, U32, 1192, [2:2] +ignitionOn = bits, U32, 1192, [3:3] +; total TS size = 1196 +isBenchTest = bits, U32, 1196, [0:0] +hasIgnitionVoltage = bits, U32, 1196, [1:1] +mainRelayState = bits, U32, 1196, [2:2] +delayedShutoffRequested = bits, U32, 1196, [3:3] +; total TS size = 1200 +lua_fuelAdd = scalar, F32, 1200, "g", 1, 0 +lua_fuelMult = scalar, F32, 1204, "", 1, 0 +lua_clutchUpState = bits, U32, 1208, [0:0] +lua_brakePedalState = bits, U32, 1208, [1:1] +lua_acRequestState = bits, U32, 1208, [2:2] +lua_luaDisableEtb = bits, U32, 1208, [3:3] +lua_luaIgnCut = bits, U32, 1208, [4:4] +lua_luaFuelCut = bits, U32, 1208, [5:5] +lua_clutchDownState = bits, U32, 1208, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1208, [7:7] +sd_tCharge = scalar, S16, 1212, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1216, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1220, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1224, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1228, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1232, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1236, "", 1, 0 +hellenBoardId = scalar, S16, 1240, "id", 1, 0 +clutchUpState = scalar, S08, 1242, "", 1, 0 +clutchDownState = scalar, S08, 1243, "", 1, 0 +brakePedalState = scalar, S08, 1244, "", 1, 0 +startStopState = scalar, S08, 1245, "", 1, 0 +smartChipState = scalar, S08, 1246, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1247, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1248, "", 1, 0 +startStopPhysicalState = bits, U32, 1252, [0:0] +acrActive = bits, U32, 1252, [1:1] +acrEngineMovedRecently = bits, U32, 1252, [2:2] +heaterControlEnabled = bits, U32, 1252, [3:3] +luaDigitalState0 = bits, U32, 1252, [4:4] +luaDigitalState1 = bits, U32, 1252, [5:5] +luaDigitalState2 = bits, U32, 1252, [6:6] +luaDigitalState3 = bits, U32, 1252, [7:7] +startStopStateToggleCounter = scalar, U32, 1256, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1260, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1264, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1268, "", 1, 0 +desiredRpmLimit = scalar, S16, 1272, "rpm", 1, 0 +fuelInjectionCounter = scalar, U32, 1276, "", 1, 0 +globalSparkCounter = scalar, U32, 1280, "", 1, 0 +fuelingLoad = scalar, F32, 1284, "", 1, 0 +ignitionLoad = scalar, F32, 1288, "", 1, 0 +veTableYAxis = scalar, U16, 1292, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1294, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1295, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1296, "", 1, 0 +; total TS size = 1300 +tpsFrom = scalar, F32, 1300 +tpsTo = scalar, F32, 1304 +deltaTps = scalar, F32, 1308 +extraFuel = scalar, F32, 1312, "", 1, 0 +valueFromTable = scalar, F32, 1316, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1320, [0:0] +isBelowDecelThreshold = bits, U32, 1320, [1:1] +isTimeToResetAccumulator = bits, U32, 1320, [2:2] +isFractionalEnrichment = bits, U32, 1320, [3:3] +belowEpsilon = bits, U32, 1320, [4:4] +tooShort = bits, U32, 1320, [5:5] +fractionalInjFuel = scalar, F32, 1324, "", 1, 0 +accumulatedValue = scalar, F32, 1328, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1332, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1336, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1340, "", 1, 0 +cycleCnt = scalar, S32, 1344, "", 1, 0 +; total TS size = 1348 +hwEventCounters1 = scalar, U32, 1348, "", 1, 0 +hwEventCounters2 = scalar, U32, 1352, "", 1, 0 +hwEventCounters3 = scalar, U32, 1356, "", 1, 0 +hwEventCounters4 = scalar, U32, 1360, "", 1, 0 +hwEventCounters5 = scalar, U32, 1364, "", 1, 0 +hwEventCounters6 = scalar, U32, 1368, "", 1, 0 +vvtCamCounter = scalar, U32, 1372, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1376, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1380, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1384, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1385, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1388, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1392, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1396, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1400, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1404, [0:0] +triggerElapsedUs = scalar, U32, 1408, "", 1, 0 +; total TS size = 1412 +crankSynchronizationCounter0 = scalar, U32, 1412, "", 1, 0 +vvtSyncGapRatio0 = scalar, F32, 1416, "", 1, 0 +vvtToothDurations00 = scalar, U32, 1420, "us", 1, 0 +vvtCurrentPosition0 = scalar, F32, 1424, "sync: Primary Cam Position", 1, 0 +vvtToothPosition10 = scalar, F32, 1428, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition20 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition30 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition40 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio0 = scalar, F32, 1444, "", 1, 0 +triggerStateIndex0 = scalar, U08, 1448, "", 1, 0 +vvtStateIndex0 = scalar, U08, 1449, "", 1, 0 +; total TS size = 1452 +crankSynchronizationCounter1 = scalar, U32, 1452, "", 1, 0 +vvtSyncGapRatio1 = scalar, F32, 1456, "", 1, 0 +vvtToothDurations01 = scalar, U32, 1460, "us", 1, 0 +vvtCurrentPosition1 = scalar, F32, 1464, "sync: Primary Cam Position", 1, 0 +vvtToothPosition11 = scalar, F32, 1468, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition21 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition31 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition41 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio1 = scalar, F32, 1484, "", 1, 0 +triggerStateIndex1 = scalar, U08, 1488, "", 1, 0 +vvtStateIndex1 = scalar, U08, 1489, "", 1, 0 +; total TS size = 1492 +crankSynchronizationCounter2 = scalar, U32, 1492, "", 1, 0 +vvtSyncGapRatio2 = scalar, F32, 1496, "", 1, 0 +vvtToothDurations02 = scalar, U32, 1500, "us", 1, 0 +vvtCurrentPosition2 = scalar, F32, 1504, "sync: Primary Cam Position", 1, 0 +vvtToothPosition12 = scalar, F32, 1508, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition22 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition32 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition42 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio2 = scalar, F32, 1524, "", 1, 0 +triggerStateIndex2 = scalar, U08, 1528, "", 1, 0 +vvtStateIndex2 = scalar, U08, 1529, "", 1, 0 +; total TS size = 1532 +crankSynchronizationCounter3 = scalar, U32, 1532, "", 1, 0 +vvtSyncGapRatio3 = scalar, F32, 1536, "", 1, 0 +vvtToothDurations03 = scalar, U32, 1540, "us", 1, 0 +vvtCurrentPosition3 = scalar, F32, 1544, "sync: Primary Cam Position", 1, 0 +vvtToothPosition13 = scalar, F32, 1548, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition23 = scalar, F32, 1552, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition33 = scalar, F32, 1556, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition43 = scalar, F32, 1560, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio3 = scalar, F32, 1564, "", 1, 0 +triggerStateIndex3 = scalar, U08, 1568, "", 1, 0 +vvtStateIndex3 = scalar, U08, 1569, "", 1, 0 +; total TS size = 1572 +crankSynchronizationCounter4 = scalar, U32, 1572, "", 1, 0 +vvtSyncGapRatio4 = scalar, F32, 1576, "", 1, 0 +vvtToothDurations04 = scalar, U32, 1580, "us", 1, 0 +vvtCurrentPosition4 = scalar, F32, 1584, "sync: Primary Cam Position", 1, 0 +vvtToothPosition14 = scalar, F32, 1588, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition24 = scalar, F32, 1592, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition34 = scalar, F32, 1596, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition44 = scalar, F32, 1600, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio4 = scalar, F32, 1604, "", 1, 0 +triggerStateIndex4 = scalar, U08, 1608, "", 1, 0 +vvtStateIndex4 = scalar, U08, 1609, "", 1, 0 +; total TS size = 1612 +camResyncCounter = scalar, U08, 1612, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1616, [0:0] +; total TS size = 1620 +wallFuelCorrection = scalar, F32, 1620, "", 1, 0 +wallFuel = scalar, F32, 1624, "", 1, 0 +; total TS size = 1628 +idleState = bits, S32, 1628, [0:2], "not important" +currentIdlePosition = scalar, F32, 1632 +baseIdlePosition = scalar, F32, 1636 +idleClosedLoop = scalar, F32, 1640 +iacByTpsTaper = scalar, F32, 1644 +throttlePedalUpState = scalar, S32, 1648, "", 1, 0 +mightResetPid = bits, U32, 1652, [0:0] +shouldResetPid = bits, U32, 1652, [1:1] +wasResetPid = bits, U32, 1652, [2:2] +mustResetPid = bits, U32, 1652, [3:3] +isCranking = bits, U32, 1652, [4:4] +isIacTableForCoasting = bits, U32, 1652, [5:5] +notIdling = bits, U32, 1652, [6:6] +needReset = bits, U32, 1652, [7:7] +isInDeadZone = bits, U32, 1652, [8:8] +isBlipping = bits, U32, 1652, [9:9] +useClosedLoop = bits, U32, 1652, [10:10] +badTps = bits, U32, 1652, [11:11] +looksLikeRunning = bits, U32, 1652, [12:12] +looksLikeCoasting = bits, U32, 1652, [13:13] +looksLikeCrankToIdle = bits, U32, 1652, [14:14] +isIdleCoasting = bits, U32, 1652, [15:15] +isIdleClosedLoop = bits, U32, 1652, [16:16] +idleTarget = scalar, S32, 1656, "", 1, 0 +targetRpmByClt = scalar, S32, 1660, "", 1, 0 +targetRpmAc = scalar, S32, 1664, "", 1, 0 +iacByRpmTaper = scalar, F32, 1668 +luaAdd = scalar, F32, 1672 +; total TS size = 1676 +targetWithIdlePosition0 = scalar, F32, 1676, "per", 1,0 +trim0 = scalar, F32, 1680, "", 1, 0 +luaAdjustment0 = scalar, F32, 1684, "per", 1,0 +m_wastegatePosition0 = scalar, F32, 1688, "per", 1,0 +etbFeedForward0 = scalar, F32, 1692 +etbIntegralError0 = scalar, F32, 1696, "", 1, 0 +etbCurrentTarget0 = scalar, F32, 1700, "%", 1, 0 +etbCurrentAdjustedTarget0 = scalar, F32, 1704, "%", 1, 0 +etbRevLimitActive0 = bits, U32, 1708, [0:0] +jamDetected0 = bits, U32, 1708, [1:1] +etbTpsErrorCounter0 = scalar, U16, 1712, "count", 1,0 +etbPpsErrorCounter0 = scalar, U16, 1714, "count", 1,0 +etbErrorCode0 = scalar, S08, 1716, "", 1, 0 +tcEtbDrop0 = scalar, S08, 1717, "%", 1, 0 +jamTimer0 = scalar, U16, 1718, "sec", 0.01, 0 +adjustedEtbTarget0 = scalar, S08, 1720, "%", 1, 0 +; total TS size = 1724 +targetWithIdlePosition1 = scalar, F32, 1724, "per", 1,0 +trim1 = scalar, F32, 1728, "", 1, 0 +luaAdjustment1 = scalar, F32, 1732, "per", 1,0 +m_wastegatePosition1 = scalar, F32, 1736, "per", 1,0 +etbFeedForward1 = scalar, F32, 1740 +etbIntegralError1 = scalar, F32, 1744, "", 1, 0 +etbCurrentTarget1 = scalar, F32, 1748, "%", 1, 0 +etbCurrentAdjustedTarget1 = scalar, F32, 1752, "%", 1, 0 +etbRevLimitActive1 = bits, U32, 1756, [0:0] +jamDetected1 = bits, U32, 1756, [1:1] +etbTpsErrorCounter1 = scalar, U16, 1760, "count", 1,0 +etbPpsErrorCounter1 = scalar, U16, 1762, "count", 1,0 +etbErrorCode1 = scalar, S08, 1764, "", 1, 0 +tcEtbDrop1 = scalar, S08, 1765, "%", 1, 0 +jamTimer1 = scalar, U16, 1766, "sec", 0.01, 0 +adjustedEtbTarget1 = scalar, S08, 1768, "%", 1, 0 +; total TS size = 1772 +faultCode0 = scalar, U08, 1772, "", 1, 0 +heaterDuty0 = scalar, U08, 1773, "%", 1, 0 +pumpDuty0 = scalar, U08, 1774, "%", 1, 0 +tempC0 = scalar, U16, 1776, "C", 1, 0 +nernstVoltage0 = scalar, U16, 1778, "V", 0.001, 0 +esr0 = scalar, U16, 1780, "ohm", 1, 0 +; total TS size = 1784 +faultCode1 = scalar, U08, 1784, "", 1, 0 +heaterDuty1 = scalar, U08, 1785, "%", 1, 0 +pumpDuty1 = scalar, U08, 1786, "%", 1, 0 +tempC1 = scalar, U16, 1788, "C", 1, 0 +nernstVoltage1 = scalar, U16, 1790, "V", 0.001, 0 +esr1 = scalar, U16, 1792, "ohm", 1, 0 +; total TS size = 1796 +dcOutput0 = scalar, F32, 1796, "per", 1,0 +isEnabled0_int = scalar, U08, 1800, "per", 1,0 +isEnabled0 = bits, U32, 1804, [0:0] +; total TS size = 1808 +value0 = scalar, U16, 1808, "value", 1,0 +value1 = scalar, U16, 1810, "value", 1,0 +errorRate = scalar, F32, 1812, "ratio", 1,0 +; total TS size = 1816 +vvtTarget = scalar, U16, 1816, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1818, "%", 0.5, 0 +; total TS size = 1820 +lambdaCurrentlyGood = bits, U32, 1820, [0:0] +lambdaMonitorCut = bits, U32, 1820, [1:1] +lambdaTimeSinceGood = scalar, U16, 1824, "sec", 0.01, 0 +; total TS size = 1828 time = { timeNow } @@ -3616,6 +3648,7 @@ lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs8 requiresPowerCycle = cylinderBore + requiresPowerCycle = knockFrequency readOnly = warning_message readOnly = device_uid1 @@ -5033,6 +5066,26 @@ gaugeCategory = Knock knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knockSpectrumChannelCylGauge = m_knockSpectrumChannelCyl, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStartGauge = m_knockFrequencyStart, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStepGauge = m_knockFrequencyStep, "Knock Frequency Step", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFuelTrimMultiplier = m_knockFuelTrimMultiplier, "Knock Fuel Trim", "mult", 0, 0, 0, 0, 0, 30, 1, 1 + knockSpectrum1 = m_knockSpectrum1, "Knock Spectrum1", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum2 = m_knockSpectrum2, "knockSpectrum2", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum3 = m_knockSpectrum3, "knockSpectrum3", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum4 = m_knockSpectrum4, "knockSpectrum4", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum5 = m_knockSpectrum5, "knockSpectrum5", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum6 = m_knockSpectrum6, "knockSpectrum6", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum7 = m_knockSpectrum7, "knockSpectrum7", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum8 = m_knockSpectrum8, "knockSpectrum8", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum9 = m_knockSpectrum9, "knockSpectrum9", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum10 = m_knockSpectrum10, "knockSpectrum10", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum11 = m_knockSpectrum11, "knockSpectrum11", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum12 = m_knockSpectrum12, "knockSpectrum12", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum13 = m_knockSpectrum13, "knockSpectrum13", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum14 = m_knockSpectrum14, "knockSpectrum14", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum15 = m_knockSpectrum15, "knockSpectrum15", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum16 = m_knockSpectrum16, "knockSpectrum16", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -5631,6 +5684,26 @@ entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" entry = m_knockCount, "Knock: Count", int, "%d" entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_knockFrequency, "knock: frequency", int, "%d" +entry = m_knockSpectrum1, "Knock: SpectrumData 1", int, "%d" +entry = m_knockSpectrum2, "Knock: SpectrumData 2", int, "%d" +entry = m_knockSpectrum3, "Knock: SpectrumData 3", int, "%d" +entry = m_knockSpectrum4, "Knock: SpectrumData 4", int, "%d" +entry = m_knockSpectrum5, "Knock: SpectrumData 5", int, "%d" +entry = m_knockSpectrum6, "Knock: SpectrumData 6", int, "%d" +entry = m_knockSpectrum7, "Knock: SpectrumData 7", int, "%d" +entry = m_knockSpectrum8, "Knock: SpectrumData 8", int, "%d" +entry = m_knockSpectrum9, "Knock: SpectrumData 9", int, "%d" +entry = m_knockSpectrum10, "Knock: SpectrumData 10", int, "%d" +entry = m_knockSpectrum11, "Knock: SpectrumData 11", int, "%d" +entry = m_knockSpectrum12, "Knock: SpectrumData 12", int, "%d" +entry = m_knockSpectrum13, "Knock: SpectrumData 13", int, "%d" +entry = m_knockSpectrum14, "Knock: SpectrumData 14", int, "%d" +entry = m_knockSpectrum15, "Knock: SpectrumData 15", int, "%d" +entry = m_knockSpectrum16, "Knock: SpectrumData 16", int, "%d" +entry = m_knockSpectrumChannelCyl, "Knock: ChannelAndCylNumber", int, "%d" +entry = m_knockFrequencyStart, "Knock: Start Freq", int, "%d" +entry = m_knockFrequencyStep, "Knock: Step Freq", float, "%.3f" +entry = m_knockFuelTrimMultiplier, "Knock: Fuel trim when knock", float, "%.3f" entry = tcuCurrentGear, "TCU: Current Gear", int, "%d" entry = tcRatio, "TCU: Torque Converter Ratio", float, "%.3f" entry = lastShiftTime, "lastShiftTime", float, "%.3f" @@ -6528,6 +6601,31 @@ dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard graphLine = m_knockFrequency + graphLine = m_knockSpectrum1 + graphLine = m_knockSpectrum2 + liveGraph = knock_controller_6_Graph, "Graph", South + graphLine = m_knockSpectrum3 + graphLine = m_knockSpectrum4 + graphLine = m_knockSpectrum5 + graphLine = m_knockSpectrum6 + liveGraph = knock_controller_7_Graph, "Graph", South + graphLine = m_knockSpectrum7 + graphLine = m_knockSpectrum8 + graphLine = m_knockSpectrum9 + graphLine = m_knockSpectrum10 + liveGraph = knock_controller_8_Graph, "Graph", South + graphLine = m_knockSpectrum11 + graphLine = m_knockSpectrum12 + graphLine = m_knockSpectrum13 + graphLine = m_knockSpectrum14 + liveGraph = knock_controller_9_Graph, "Graph", South + graphLine = m_knockSpectrum15 + graphLine = m_knockSpectrum16 + graphLine = m_knockSpectrumChannelCyl + graphLine = m_knockFrequencyStart + liveGraph = knock_controller_10_Graph, "Graph", South + graphLine = m_knockFrequencyStep + graphLine = m_knockFuelTrimMultiplier indicatorPanel = tcu_controllerIndicatorPanel, 2 indicator = {isShifting}, "isShifting No", "isShifting Yes" @@ -8586,9 +8684,13 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockCfg, "Sense" field = "Enable", enableSoftwareKnock field = "Cylinder Bore", cylinderBore, {enableSoftwareKnock} + field = "Estimated Knock Frequency",knockFrequency, {enableSoftwareKnock} field = "Detection mode", knockDetectionUseDoubleFrequency field = "Detection Window Start",knockDetectionWindowStart, {enableSoftwareKnock} field = "Sampling Duration", knockSamplingDuration, {enableSoftwareKnock} + field = "Enable Knock Spectrogram", enableKnockSpectrogram, {enableSoftwareKnock} + field = "Enable Knock Spectrogram Filter", enableKnockSpectrogramFilter, {enableKnockSpectrogram} + field = "Knock Spectrum Sensitivity", knockSpectrumSensitivity, {enableKnockSpectrogram} field = "" field = "Select the nearest sensor for each cylinder" @@ -8608,6 +8710,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockResponseCfg, "Response" field = knockRetardAggression, knockRetardAggression field = knockRetardReapplyRate, knockRetardReapplyRate + field = knockFuelTrimAggression, knockFuelTrimAggression + field = knockFuelTrimReapplyRate, knockFuelTrimReapplyRate + field = knockFuelTrim, knockFuelTrim + field = knockSuppressMinTps, knockSuppressMinTps dialog = softwareKnockLeft, "" panel = softwareKnockCfg diff --git a/firmware/tunerstudio/generated/rusefi_hellen121nissan.ini b/firmware/tunerstudio/generated/rusefi_hellen121nissan.ini index b36016a276..99acbb6a6c 100644 --- a/firmware/tunerstudio/generated/rusefi_hellen121nissan.ini +++ b/firmware/tunerstudio/generated/rusefi_hellen121nissan.ini @@ -38,12 +38,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.10.21.hellen121nissan.1450854553" + signature = "rusEFI master.2024.10.21.hellen121nissan.2320634470" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.10.21.hellen121nissan.1450854553" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.10.21.hellen121nissan.2320634470" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -774,6 +774,7 @@ devBit7 = bits, U32, 1492, [27:27], "false", "true" unusedSkipWasHere = bits, U32, 1492, [28:28], "false", "true" invertExhaustCamVVTSignal = bits, U32, 1492, [29:29], "Rising", "Falling" enableKnockSpectrogram = bits, U32, 1492, [30:30], "false", "true" +enableKnockSpectrogramFilter = bits, U32, 1492, [31:31], "false", "true" afterCrankingIACtaperDuration = scalar, S16, 1496, "cycles", 1, 0, 0, 5000, 0 iacByTpsTaper = scalar, S16, 1498, "percent", 1, 0, 0, 500, 0 unusedAuxSeria = bits, U16, 1500, [0:8], $gpio_list @@ -1394,7 +1395,13 @@ auxLinear4_v1 = scalar, F32, 3880, "volts", 1, 0, 0, 10, 2 auxLinear4_value1 = scalar, F32, 3884, "", 1, 0, -100000, 1000000, 2 auxLinear4_v2 = scalar, F32, 3888, "volts", 1, 0, 0, 10, 2 auxLinear4_value2 = scalar, F32, 3892, "", 1, 0, -100000, 1000000, 2 -unusedOftenChangesDuringFirmwareUpdate = array, U08, 3896, [128], "units", 1, 0, 0, 1, 0 +knockSuppressMinTps = scalar, U08, 3896, "%", 1, 0, 0, 100, 1 +knockFuelTrimAggression = scalar, U08, 3897, "%", 0.1, 0, 0, 20, 1 +knockFuelTrimReapplyRate = scalar, U08, 3898, "deg/s", 0.1, 0, 0, 10, 1 +knockFuelTrim = scalar, U08, 3899, "%", 1, 0, 0, 30, 1 +knockSpectrumSensitivity = scalar, F32, 3900, "sense", 1, 0, 0, 1, 2 +knockFrequency = scalar, F32, 3904, "Hz", 1, 0, 0, 20000, 2 +unusedOftenChangesDuringFirmwareUpdate = array, U08, 3908, [116], "units", 1, 0, 0, 1, 0 postCrankingFactor = array, F32, 4024, [6x6], "mult", 1, 0, 1, 3, 2 postCrankingDurationBins = array, F32, 4168, [6], "count", 1, 0, 0, 1000, 0 postCrankingCLTBins = array, S16, 4192, [6], "C", 1, 0, -100, 125, 0 @@ -2448,6 +2455,11 @@ minimumOilPressureValues = array, U08, 22960, [8], "kPa", 10.0, 0, 0, 1000, 0 minAcPressure = "value of A/C pressure in kPa before that compressor is disengaged" maxAcPressure = "value of A/C pressure in kPa after that compressor is disengaged" minimumOilPressureTimeout = "Delay before cutting fuel due to low oil pressure. Use this to ignore short pressure blips and sensor noise." + knockSuppressMinTps = "Below TPS value all knock suppression will be disabled." + knockFuelTrimAggression = "Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump)," + knockFuelTrimReapplyRate = "After a knock event, reapply fuel at this rate." + knockFuelTrim = "Fuel trim when knock, max 30%" + knockFrequency = "Estimated knock frequency, ignore cylinderBore if this one > 0" etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, open loop component of PID closed loop control" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2560,7 +2572,7 @@ minimumOilPressureValues = array, U08, 22960, [8], "kPa", 10.0, 0, 0, 1000, 0 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1752 + ochBlockSize = 1828 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3101,370 +3113,390 @@ m_knockThreshold = scalar, F32, 960, "", 1, 0 m_knockCount = scalar, U32, 964, "", 1, 0 m_maximumRetard = scalar, F32, 968, "", 1, 0 m_knockFrequency = scalar, U32, 972, "Hz", 1, 0 -; total TS size = 976 -tcuCurrentGear = scalar, S08, 976, "gear", 1, 0 -tcRatio = scalar, U16, 978, "value", 0.01, 0 -lastShiftTime = scalar, F32, 980, "", 1, 0 -tcu_currentRange = scalar, U08, 984, "", 1, 0 -pressureControlDuty = scalar, S08, 985, "%", 1,0 -torqueConverterDuty = scalar, S08, 986, "%", 1,0 -isShifting = bits, U32, 988, [0:0] -; total TS size = 992 -throttleUseWotModel = bits, U32, 992, [0:0] -throttleModelCrossoverAngle = scalar, S16, 996, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1000, "g/s", 1, 0 -; total TS size = 1004 -m_requested_pump = scalar, F32, 1004, "", 1, 0 -fuel_requested_percent = scalar, F32, 1008, "", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1012, "", 1, 0 -noValve = bits, U32, 1016, [0:0] -angleAboveMin = bits, U32, 1016, [1:1] -isHpfpInactive = bits, U32, 1016, [2:2] -m_pressureTarget_kPa = scalar, F32, 1020, "", 1, 0 -nextLobe = scalar, F32, 1024, "", 1, 0 -di_nextStart = scalar, F32, 1028, "v", 1, 0 -; total TS size = 1032 -m_deadtime = scalar, F32, 1032, "ms", 1, 0 -pressureDelta = scalar, F32, 1036, "kPa", 1, 0 -pressureRatio = scalar, F32, 1040, "", 1, 0 -; total TS size = 1044 -retardThresholdRpm = scalar, S32, 1044, "", 1, 0 -launchActivatePinState = bits, U32, 1048, [0:0] -isPreLaunchCondition = bits, U32, 1048, [1:1] -isLaunchCondition = bits, U32, 1048, [2:2] -isSwitchActivated = bits, U32, 1048, [3:3] -isClutchActivated = bits, U32, 1048, [4:4] -isBrakePedalActivated = bits, U32, 1048, [5:5] -isValidInputPin = bits, U32, 1048, [6:6] -activateSwitchCondition = bits, U32, 1048, [7:7] -rpmLaunchCondition = bits, U32, 1048, [8:8] -rpmPreLaunchCondition = bits, U32, 1048, [9:9] -speedCondition = bits, U32, 1048, [10:10] -tpsCondition = bits, U32, 1048, [11:11] +m_knockSpectrum1 = scalar, U32, 976, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 980, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 984, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 988, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1040, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1042, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1044, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1048, "multiplier", 1, 0 ; total TS size = 1052 -isTorqueReductionTriggerPinValid = bits, U32, 1052, [0:0] -torqueReductionTriggerPinState = bits, U32, 1052, [1:1] -isTimeConditionSatisfied = bits, U32, 1052, [2:2] -isRpmConditionSatisfied = bits, U32, 1052, [3:3] -isAppConditionSatisfied = bits, U32, 1052, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1052, [5:5] -; total TS size = 1056 -isAntilagCondition = bits, U32, 1056, [0:0] -ALSMinRPMCondition = bits, U32, 1056, [1:1] -ALSMaxRPMCondition = bits, U32, 1056, [2:2] -ALSMinCLTCondition = bits, U32, 1056, [3:3] -ALSMaxCLTCondition = bits, U32, 1056, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1056, [5:5] -isALSSwitchActivated = bits, U32, 1056, [6:6] -ALSActivatePinState = bits, U32, 1056, [7:7] -ALSSwitchCondition = bits, U32, 1056, [8:8] -ALSTimerCondition = bits, U32, 1056, [9:9] -fuelALSCorrection = scalar, F32, 1060, "", 1, 0 -timingALSCorrection = scalar, S16, 1064, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1066, "deg", 0.01, 0 +tcuCurrentGear = scalar, S08, 1052, "gear", 1, 0 +tcRatio = scalar, U16, 1054, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1056, "", 1, 0 +tcu_currentRange = scalar, U08, 1060, "", 1, 0 +pressureControlDuty = scalar, S08, 1061, "%", 1,0 +torqueConverterDuty = scalar, S08, 1062, "%", 1,0 +isShifting = bits, U32, 1064, [0:0] ; total TS size = 1068 -isTpsInvalid = bits, U32, 1068, [0:0] -m_shouldResetPid = bits, U32, 1068, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1068, [2:2] -isNotClosedLoop = bits, U32, 1068, [3:3] -isZeroRpm = bits, U32, 1068, [4:4] -hasInitBoost = bits, U32, 1068, [5:5] -rpmTooLow = bits, U32, 1068, [6:6] -tpsTooLow = bits, U32, 1068, [7:7] -mapTooLow = bits, U32, 1068, [8:8] -isPlantValid = bits, U32, 1068, [9:9] -isBoostControlled = bits, U32, 1068, [10:10] -luaTargetAdd = scalar, S16, 1072, "v", 0.5,0 -boostOutput = scalar, S16, 1074, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1076, "v", 1,0 -openLoopPart = scalar, F32, 1080, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1084, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1088, "%", 0.5,0 -boostControlTarget = scalar, S16, 1090, "kPa", 0.03333333333333333,0 -; total TS size = 1092 -acButtonState = scalar, S08, 1092, "", 1, 0 -m_acEnabled = bits, U32, 1096, [0:0] -engineTooSlow = bits, U32, 1096, [1:1] -engineTooFast = bits, U32, 1096, [2:2] -noClt = bits, U32, 1096, [3:3] -engineTooHot = bits, U32, 1096, [4:4] -tpsTooHigh = bits, U32, 1096, [5:5] -isDisabledByLua = bits, U32, 1096, [6:6] -acCompressorState = bits, U32, 1096, [7:7] -acPressureTooLow = bits, U32, 1096, [8:8] -acPressureTooHigh = bits, U32, 1096, [9:9] -; total TS size = 1100 -cranking0 = bits, U32, 1100, [0:0] -notRunning0 = bits, U32, 1100, [1:1] -disabledWhileEngineStopped0 = bits, U32, 1100, [2:2] -brokenClt0 = bits, U32, 1100, [3:3] -enabledForAc0 = bits, U32, 1100, [4:4] -hot0 = bits, U32, 1100, [5:5] -cold0 = bits, U32, 1100, [6:6] -disabledBySpeed0 = bits, U32, 1100, [7:7] -radiatorFanStatus0 = scalar, U08, 1104, "", 1, 0 +throttleUseWotModel = bits, U32, 1068, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1072, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1076, "g/s", 1, 0 +; total TS size = 1080 +m_requested_pump = scalar, F32, 1080, "", 1, 0 +fuel_requested_percent = scalar, F32, 1084, "", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1088, "", 1, 0 +noValve = bits, U32, 1092, [0:0] +angleAboveMin = bits, U32, 1092, [1:1] +isHpfpInactive = bits, U32, 1092, [2:2] +m_pressureTarget_kPa = scalar, F32, 1096, "", 1, 0 +nextLobe = scalar, F32, 1100, "", 1, 0 +di_nextStart = scalar, F32, 1104, "v", 1, 0 ; total TS size = 1108 -cranking1 = bits, U32, 1108, [0:0] -notRunning1 = bits, U32, 1108, [1:1] -disabledWhileEngineStopped1 = bits, U32, 1108, [2:2] -brokenClt1 = bits, U32, 1108, [3:3] -enabledForAc1 = bits, U32, 1108, [4:4] -hot1 = bits, U32, 1108, [5:5] -cold1 = bits, U32, 1108, [6:6] -disabledBySpeed1 = bits, U32, 1108, [7:7] -radiatorFanStatus1 = scalar, U08, 1112, "", 1, 0 -; total TS size = 1116 -isPrime = bits, U32, 1116, [0:0] -engineTurnedRecently = bits, U32, 1116, [1:1] -isFuelPumpOn = bits, U32, 1116, [2:2] -ignitionOn = bits, U32, 1116, [3:3] +m_deadtime = scalar, F32, 1108, "ms", 1, 0 +pressureDelta = scalar, F32, 1112, "kPa", 1, 0 +pressureRatio = scalar, F32, 1116, "", 1, 0 ; total TS size = 1120 -isBenchTest = bits, U32, 1120, [0:0] -hasIgnitionVoltage = bits, U32, 1120, [1:1] -mainRelayState = bits, U32, 1120, [2:2] -delayedShutoffRequested = bits, U32, 1120, [3:3] -; total TS size = 1124 -lua_fuelAdd = scalar, F32, 1124, "g", 1, 0 -lua_fuelMult = scalar, F32, 1128, "", 1, 0 -lua_clutchUpState = bits, U32, 1132, [0:0] -lua_brakePedalState = bits, U32, 1132, [1:1] -lua_acRequestState = bits, U32, 1132, [2:2] -lua_luaDisableEtb = bits, U32, 1132, [3:3] -lua_luaIgnCut = bits, U32, 1132, [4:4] -lua_luaFuelCut = bits, U32, 1132, [5:5] -lua_clutchDownState = bits, U32, 1132, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1132, [7:7] -sd_tCharge = scalar, S16, 1136, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1140, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1144, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1148, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1152, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1156, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1160, "", 1, 0 -hellenBoardId = scalar, S16, 1164, "id", 1, 0 -clutchUpState = scalar, S08, 1166, "", 1, 0 -clutchDownState = scalar, S08, 1167, "", 1, 0 -brakePedalState = scalar, S08, 1168, "", 1, 0 -startStopState = scalar, S08, 1169, "", 1, 0 -smartChipState = scalar, S08, 1170, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1171, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1172, "", 1, 0 -startStopPhysicalState = bits, U32, 1176, [0:0] -acrActive = bits, U32, 1176, [1:1] -acrEngineMovedRecently = bits, U32, 1176, [2:2] -heaterControlEnabled = bits, U32, 1176, [3:3] -luaDigitalState0 = bits, U32, 1176, [4:4] -luaDigitalState1 = bits, U32, 1176, [5:5] -luaDigitalState2 = bits, U32, 1176, [6:6] -luaDigitalState3 = bits, U32, 1176, [7:7] -startStopStateToggleCounter = scalar, U32, 1180, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1184, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1188, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1192, "", 1, 0 -desiredRpmLimit = scalar, S16, 1196, "rpm", 1, 0 -fuelInjectionCounter = scalar, U32, 1200, "", 1, 0 -globalSparkCounter = scalar, U32, 1204, "", 1, 0 -fuelingLoad = scalar, F32, 1208, "", 1, 0 -ignitionLoad = scalar, F32, 1212, "", 1, 0 -veTableYAxis = scalar, U16, 1216, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1218, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1219, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1220, "", 1, 0 -; total TS size = 1224 -tpsFrom = scalar, F32, 1224 -tpsTo = scalar, F32, 1228 -deltaTps = scalar, F32, 1232 -extraFuel = scalar, F32, 1236, "", 1, 0 -valueFromTable = scalar, F32, 1240, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1244, [0:0] -isBelowDecelThreshold = bits, U32, 1244, [1:1] -isTimeToResetAccumulator = bits, U32, 1244, [2:2] -isFractionalEnrichment = bits, U32, 1244, [3:3] -belowEpsilon = bits, U32, 1244, [4:4] -tooShort = bits, U32, 1244, [5:5] -fractionalInjFuel = scalar, F32, 1248, "", 1, 0 -accumulatedValue = scalar, F32, 1252, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1256, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1260, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1264, "", 1, 0 -cycleCnt = scalar, S32, 1268, "", 1, 0 -; total TS size = 1272 -hwEventCounters1 = scalar, U32, 1272, "", 1, 0 -hwEventCounters2 = scalar, U32, 1276, "", 1, 0 -hwEventCounters3 = scalar, U32, 1280, "", 1, 0 -hwEventCounters4 = scalar, U32, 1284, "", 1, 0 -hwEventCounters5 = scalar, U32, 1288, "", 1, 0 -hwEventCounters6 = scalar, U32, 1292, "", 1, 0 -vvtCamCounter = scalar, U32, 1296, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1300, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1304, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1308, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1309, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1312, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1316, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1320, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1324, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1328, [0:0] -triggerElapsedUs = scalar, U32, 1332, "", 1, 0 -; total TS size = 1336 -crankSynchronizationCounter0 = scalar, U32, 1336, "", 1, 0 -vvtSyncGapRatio0 = scalar, F32, 1340, "", 1, 0 -vvtToothDurations00 = scalar, U32, 1344, "us", 1, 0 -vvtCurrentPosition0 = scalar, F32, 1348, "sync: Primary Cam Position", 1, 0 -vvtToothPosition10 = scalar, F32, 1352, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition20 = scalar, F32, 1356, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition30 = scalar, F32, 1360, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition40 = scalar, F32, 1364, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio0 = scalar, F32, 1368, "", 1, 0 -triggerStateIndex0 = scalar, U08, 1372, "", 1, 0 -vvtStateIndex0 = scalar, U08, 1373, "", 1, 0 -; total TS size = 1376 -crankSynchronizationCounter1 = scalar, U32, 1376, "", 1, 0 -vvtSyncGapRatio1 = scalar, F32, 1380, "", 1, 0 -vvtToothDurations01 = scalar, U32, 1384, "us", 1, 0 -vvtCurrentPosition1 = scalar, F32, 1388, "sync: Primary Cam Position", 1, 0 -vvtToothPosition11 = scalar, F32, 1392, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition21 = scalar, F32, 1396, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition31 = scalar, F32, 1400, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition41 = scalar, F32, 1404, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio1 = scalar, F32, 1408, "", 1, 0 -triggerStateIndex1 = scalar, U08, 1412, "", 1, 0 -vvtStateIndex1 = scalar, U08, 1413, "", 1, 0 -; total TS size = 1416 -crankSynchronizationCounter2 = scalar, U32, 1416, "", 1, 0 -vvtSyncGapRatio2 = scalar, F32, 1420, "", 1, 0 -vvtToothDurations02 = scalar, U32, 1424, "us", 1, 0 -vvtCurrentPosition2 = scalar, F32, 1428, "sync: Primary Cam Position", 1, 0 -vvtToothPosition12 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition22 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition32 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition42 = scalar, F32, 1444, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio2 = scalar, F32, 1448, "", 1, 0 -triggerStateIndex2 = scalar, U08, 1452, "", 1, 0 -vvtStateIndex2 = scalar, U08, 1453, "", 1, 0 -; total TS size = 1456 -crankSynchronizationCounter3 = scalar, U32, 1456, "", 1, 0 -vvtSyncGapRatio3 = scalar, F32, 1460, "", 1, 0 -vvtToothDurations03 = scalar, U32, 1464, "us", 1, 0 -vvtCurrentPosition3 = scalar, F32, 1468, "sync: Primary Cam Position", 1, 0 -vvtToothPosition13 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition23 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition33 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition43 = scalar, F32, 1484, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio3 = scalar, F32, 1488, "", 1, 0 -triggerStateIndex3 = scalar, U08, 1492, "", 1, 0 -vvtStateIndex3 = scalar, U08, 1493, "", 1, 0 -; total TS size = 1496 -crankSynchronizationCounter4 = scalar, U32, 1496, "", 1, 0 -vvtSyncGapRatio4 = scalar, F32, 1500, "", 1, 0 -vvtToothDurations04 = scalar, U32, 1504, "us", 1, 0 -vvtCurrentPosition4 = scalar, F32, 1508, "sync: Primary Cam Position", 1, 0 -vvtToothPosition14 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition24 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition34 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition44 = scalar, F32, 1524, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio4 = scalar, F32, 1528, "", 1, 0 -triggerStateIndex4 = scalar, U08, 1532, "", 1, 0 -vvtStateIndex4 = scalar, U08, 1533, "", 1, 0 -; total TS size = 1536 -camResyncCounter = scalar, U08, 1536, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1540, [0:0] -; total TS size = 1544 -wallFuelCorrection = scalar, F32, 1544, "", 1, 0 -wallFuel = scalar, F32, 1548, "", 1, 0 -; total TS size = 1552 -idleState = bits, S32, 1552, [0:2], "not important" -currentIdlePosition = scalar, F32, 1556 -baseIdlePosition = scalar, F32, 1560 -idleClosedLoop = scalar, F32, 1564 -iacByTpsTaper = scalar, F32, 1568 -throttlePedalUpState = scalar, S32, 1572, "", 1, 0 -mightResetPid = bits, U32, 1576, [0:0] -shouldResetPid = bits, U32, 1576, [1:1] -wasResetPid = bits, U32, 1576, [2:2] -mustResetPid = bits, U32, 1576, [3:3] -isCranking = bits, U32, 1576, [4:4] -isIacTableForCoasting = bits, U32, 1576, [5:5] -notIdling = bits, U32, 1576, [6:6] -needReset = bits, U32, 1576, [7:7] -isInDeadZone = bits, U32, 1576, [8:8] -isBlipping = bits, U32, 1576, [9:9] -useClosedLoop = bits, U32, 1576, [10:10] -badTps = bits, U32, 1576, [11:11] -looksLikeRunning = bits, U32, 1576, [12:12] -looksLikeCoasting = bits, U32, 1576, [13:13] -looksLikeCrankToIdle = bits, U32, 1576, [14:14] -isIdleCoasting = bits, U32, 1576, [15:15] -isIdleClosedLoop = bits, U32, 1576, [16:16] -idleTarget = scalar, S32, 1580, "", 1, 0 -targetRpmByClt = scalar, S32, 1584, "", 1, 0 -targetRpmAc = scalar, S32, 1588, "", 1, 0 -iacByRpmTaper = scalar, F32, 1592 -luaAdd = scalar, F32, 1596 -; total TS size = 1600 -targetWithIdlePosition0 = scalar, F32, 1600, "per", 1,0 -trim0 = scalar, F32, 1604, "", 1, 0 -luaAdjustment0 = scalar, F32, 1608, "per", 1,0 -m_wastegatePosition0 = scalar, F32, 1612, "per", 1,0 -etbFeedForward0 = scalar, F32, 1616 -etbIntegralError0 = scalar, F32, 1620, "", 1, 0 -etbCurrentTarget0 = scalar, F32, 1624, "%", 1, 0 -etbCurrentAdjustedTarget0 = scalar, F32, 1628, "%", 1, 0 -etbRevLimitActive0 = bits, U32, 1632, [0:0] -jamDetected0 = bits, U32, 1632, [1:1] -etbTpsErrorCounter0 = scalar, U16, 1636, "count", 1,0 -etbPpsErrorCounter0 = scalar, U16, 1638, "count", 1,0 -etbErrorCode0 = scalar, S08, 1640, "", 1, 0 -tcEtbDrop0 = scalar, S08, 1641, "%", 1, 0 -jamTimer0 = scalar, U16, 1642, "sec", 0.01, 0 -adjustedEtbTarget0 = scalar, S08, 1644, "%", 1, 0 -; total TS size = 1648 -targetWithIdlePosition1 = scalar, F32, 1648, "per", 1,0 -trim1 = scalar, F32, 1652, "", 1, 0 -luaAdjustment1 = scalar, F32, 1656, "per", 1,0 -m_wastegatePosition1 = scalar, F32, 1660, "per", 1,0 -etbFeedForward1 = scalar, F32, 1664 -etbIntegralError1 = scalar, F32, 1668, "", 1, 0 -etbCurrentTarget1 = scalar, F32, 1672, "%", 1, 0 -etbCurrentAdjustedTarget1 = scalar, F32, 1676, "%", 1, 0 -etbRevLimitActive1 = bits, U32, 1680, [0:0] -jamDetected1 = bits, U32, 1680, [1:1] -etbTpsErrorCounter1 = scalar, U16, 1684, "count", 1,0 -etbPpsErrorCounter1 = scalar, U16, 1686, "count", 1,0 -etbErrorCode1 = scalar, S08, 1688, "", 1, 0 -tcEtbDrop1 = scalar, S08, 1689, "%", 1, 0 -jamTimer1 = scalar, U16, 1690, "sec", 0.01, 0 -adjustedEtbTarget1 = scalar, S08, 1692, "%", 1, 0 -; total TS size = 1696 -faultCode0 = scalar, U08, 1696, "", 1, 0 -heaterDuty0 = scalar, U08, 1697, "%", 1, 0 -pumpDuty0 = scalar, U08, 1698, "%", 1, 0 -tempC0 = scalar, U16, 1700, "C", 1, 0 -nernstVoltage0 = scalar, U16, 1702, "V", 0.001, 0 -esr0 = scalar, U16, 1704, "ohm", 1, 0 -; total TS size = 1708 -faultCode1 = scalar, U08, 1708, "", 1, 0 -heaterDuty1 = scalar, U08, 1709, "%", 1, 0 -pumpDuty1 = scalar, U08, 1710, "%", 1, 0 -tempC1 = scalar, U16, 1712, "C", 1, 0 -nernstVoltage1 = scalar, U16, 1714, "V", 0.001, 0 -esr1 = scalar, U16, 1716, "ohm", 1, 0 -; total TS size = 1720 -dcOutput0 = scalar, F32, 1720, "per", 1,0 -isEnabled0_int = scalar, U08, 1724, "per", 1,0 -isEnabled0 = bits, U32, 1728, [0:0] -; total TS size = 1732 -value0 = scalar, U16, 1732, "value", 1,0 -value1 = scalar, U16, 1734, "value", 1,0 -errorRate = scalar, F32, 1736, "ratio", 1,0 -; total TS size = 1740 -vvtTarget = scalar, U16, 1740, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1742, "%", 0.5, 0 -; total TS size = 1744 -lambdaCurrentlyGood = bits, U32, 1744, [0:0] -lambdaMonitorCut = bits, U32, 1744, [1:1] -lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 -; total TS size = 1752 +retardThresholdRpm = scalar, S32, 1120, "", 1, 0 +launchActivatePinState = bits, U32, 1124, [0:0] +isPreLaunchCondition = bits, U32, 1124, [1:1] +isLaunchCondition = bits, U32, 1124, [2:2] +isSwitchActivated = bits, U32, 1124, [3:3] +isClutchActivated = bits, U32, 1124, [4:4] +isBrakePedalActivated = bits, U32, 1124, [5:5] +isValidInputPin = bits, U32, 1124, [6:6] +activateSwitchCondition = bits, U32, 1124, [7:7] +rpmLaunchCondition = bits, U32, 1124, [8:8] +rpmPreLaunchCondition = bits, U32, 1124, [9:9] +speedCondition = bits, U32, 1124, [10:10] +tpsCondition = bits, U32, 1124, [11:11] +; total TS size = 1128 +isTorqueReductionTriggerPinValid = bits, U32, 1128, [0:0] +torqueReductionTriggerPinState = bits, U32, 1128, [1:1] +isTimeConditionSatisfied = bits, U32, 1128, [2:2] +isRpmConditionSatisfied = bits, U32, 1128, [3:3] +isAppConditionSatisfied = bits, U32, 1128, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1128, [5:5] +; total TS size = 1132 +isAntilagCondition = bits, U32, 1132, [0:0] +ALSMinRPMCondition = bits, U32, 1132, [1:1] +ALSMaxRPMCondition = bits, U32, 1132, [2:2] +ALSMinCLTCondition = bits, U32, 1132, [3:3] +ALSMaxCLTCondition = bits, U32, 1132, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1132, [5:5] +isALSSwitchActivated = bits, U32, 1132, [6:6] +ALSActivatePinState = bits, U32, 1132, [7:7] +ALSSwitchCondition = bits, U32, 1132, [8:8] +ALSTimerCondition = bits, U32, 1132, [9:9] +fuelALSCorrection = scalar, F32, 1136, "", 1, 0 +timingALSCorrection = scalar, S16, 1140, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1142, "deg", 0.01, 0 +; total TS size = 1144 +isTpsInvalid = bits, U32, 1144, [0:0] +m_shouldResetPid = bits, U32, 1144, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1144, [2:2] +isNotClosedLoop = bits, U32, 1144, [3:3] +isZeroRpm = bits, U32, 1144, [4:4] +hasInitBoost = bits, U32, 1144, [5:5] +rpmTooLow = bits, U32, 1144, [6:6] +tpsTooLow = bits, U32, 1144, [7:7] +mapTooLow = bits, U32, 1144, [8:8] +isPlantValid = bits, U32, 1144, [9:9] +isBoostControlled = bits, U32, 1144, [10:10] +luaTargetAdd = scalar, S16, 1148, "v", 0.5,0 +boostOutput = scalar, S16, 1150, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1152, "v", 1,0 +openLoopPart = scalar, F32, 1156, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1160, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1164, "%", 0.5,0 +boostControlTarget = scalar, S16, 1166, "kPa", 0.03333333333333333,0 +; total TS size = 1168 +acButtonState = scalar, S08, 1168, "", 1, 0 +m_acEnabled = bits, U32, 1172, [0:0] +engineTooSlow = bits, U32, 1172, [1:1] +engineTooFast = bits, U32, 1172, [2:2] +noClt = bits, U32, 1172, [3:3] +engineTooHot = bits, U32, 1172, [4:4] +tpsTooHigh = bits, U32, 1172, [5:5] +isDisabledByLua = bits, U32, 1172, [6:6] +acCompressorState = bits, U32, 1172, [7:7] +acPressureTooLow = bits, U32, 1172, [8:8] +acPressureTooHigh = bits, U32, 1172, [9:9] +; total TS size = 1176 +cranking0 = bits, U32, 1176, [0:0] +notRunning0 = bits, U32, 1176, [1:1] +disabledWhileEngineStopped0 = bits, U32, 1176, [2:2] +brokenClt0 = bits, U32, 1176, [3:3] +enabledForAc0 = bits, U32, 1176, [4:4] +hot0 = bits, U32, 1176, [5:5] +cold0 = bits, U32, 1176, [6:6] +disabledBySpeed0 = bits, U32, 1176, [7:7] +radiatorFanStatus0 = scalar, U08, 1180, "", 1, 0 +; total TS size = 1184 +cranking1 = bits, U32, 1184, [0:0] +notRunning1 = bits, U32, 1184, [1:1] +disabledWhileEngineStopped1 = bits, U32, 1184, [2:2] +brokenClt1 = bits, U32, 1184, [3:3] +enabledForAc1 = bits, U32, 1184, [4:4] +hot1 = bits, U32, 1184, [5:5] +cold1 = bits, U32, 1184, [6:6] +disabledBySpeed1 = bits, U32, 1184, [7:7] +radiatorFanStatus1 = scalar, U08, 1188, "", 1, 0 +; total TS size = 1192 +isPrime = bits, U32, 1192, [0:0] +engineTurnedRecently = bits, U32, 1192, [1:1] +isFuelPumpOn = bits, U32, 1192, [2:2] +ignitionOn = bits, U32, 1192, [3:3] +; total TS size = 1196 +isBenchTest = bits, U32, 1196, [0:0] +hasIgnitionVoltage = bits, U32, 1196, [1:1] +mainRelayState = bits, U32, 1196, [2:2] +delayedShutoffRequested = bits, U32, 1196, [3:3] +; total TS size = 1200 +lua_fuelAdd = scalar, F32, 1200, "g", 1, 0 +lua_fuelMult = scalar, F32, 1204, "", 1, 0 +lua_clutchUpState = bits, U32, 1208, [0:0] +lua_brakePedalState = bits, U32, 1208, [1:1] +lua_acRequestState = bits, U32, 1208, [2:2] +lua_luaDisableEtb = bits, U32, 1208, [3:3] +lua_luaIgnCut = bits, U32, 1208, [4:4] +lua_luaFuelCut = bits, U32, 1208, [5:5] +lua_clutchDownState = bits, U32, 1208, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1208, [7:7] +sd_tCharge = scalar, S16, 1212, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1216, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1220, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1224, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1228, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1232, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1236, "", 1, 0 +hellenBoardId = scalar, S16, 1240, "id", 1, 0 +clutchUpState = scalar, S08, 1242, "", 1, 0 +clutchDownState = scalar, S08, 1243, "", 1, 0 +brakePedalState = scalar, S08, 1244, "", 1, 0 +startStopState = scalar, S08, 1245, "", 1, 0 +smartChipState = scalar, S08, 1246, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1247, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1248, "", 1, 0 +startStopPhysicalState = bits, U32, 1252, [0:0] +acrActive = bits, U32, 1252, [1:1] +acrEngineMovedRecently = bits, U32, 1252, [2:2] +heaterControlEnabled = bits, U32, 1252, [3:3] +luaDigitalState0 = bits, U32, 1252, [4:4] +luaDigitalState1 = bits, U32, 1252, [5:5] +luaDigitalState2 = bits, U32, 1252, [6:6] +luaDigitalState3 = bits, U32, 1252, [7:7] +startStopStateToggleCounter = scalar, U32, 1256, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1260, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1264, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1268, "", 1, 0 +desiredRpmLimit = scalar, S16, 1272, "rpm", 1, 0 +fuelInjectionCounter = scalar, U32, 1276, "", 1, 0 +globalSparkCounter = scalar, U32, 1280, "", 1, 0 +fuelingLoad = scalar, F32, 1284, "", 1, 0 +ignitionLoad = scalar, F32, 1288, "", 1, 0 +veTableYAxis = scalar, U16, 1292, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1294, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1295, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1296, "", 1, 0 +; total TS size = 1300 +tpsFrom = scalar, F32, 1300 +tpsTo = scalar, F32, 1304 +deltaTps = scalar, F32, 1308 +extraFuel = scalar, F32, 1312, "", 1, 0 +valueFromTable = scalar, F32, 1316, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1320, [0:0] +isBelowDecelThreshold = bits, U32, 1320, [1:1] +isTimeToResetAccumulator = bits, U32, 1320, [2:2] +isFractionalEnrichment = bits, U32, 1320, [3:3] +belowEpsilon = bits, U32, 1320, [4:4] +tooShort = bits, U32, 1320, [5:5] +fractionalInjFuel = scalar, F32, 1324, "", 1, 0 +accumulatedValue = scalar, F32, 1328, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1332, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1336, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1340, "", 1, 0 +cycleCnt = scalar, S32, 1344, "", 1, 0 +; total TS size = 1348 +hwEventCounters1 = scalar, U32, 1348, "", 1, 0 +hwEventCounters2 = scalar, U32, 1352, "", 1, 0 +hwEventCounters3 = scalar, U32, 1356, "", 1, 0 +hwEventCounters4 = scalar, U32, 1360, "", 1, 0 +hwEventCounters5 = scalar, U32, 1364, "", 1, 0 +hwEventCounters6 = scalar, U32, 1368, "", 1, 0 +vvtCamCounter = scalar, U32, 1372, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1376, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1380, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1384, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1385, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1388, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1392, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1396, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1400, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1404, [0:0] +triggerElapsedUs = scalar, U32, 1408, "", 1, 0 +; total TS size = 1412 +crankSynchronizationCounter0 = scalar, U32, 1412, "", 1, 0 +vvtSyncGapRatio0 = scalar, F32, 1416, "", 1, 0 +vvtToothDurations00 = scalar, U32, 1420, "us", 1, 0 +vvtCurrentPosition0 = scalar, F32, 1424, "sync: Primary Cam Position", 1, 0 +vvtToothPosition10 = scalar, F32, 1428, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition20 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition30 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition40 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio0 = scalar, F32, 1444, "", 1, 0 +triggerStateIndex0 = scalar, U08, 1448, "", 1, 0 +vvtStateIndex0 = scalar, U08, 1449, "", 1, 0 +; total TS size = 1452 +crankSynchronizationCounter1 = scalar, U32, 1452, "", 1, 0 +vvtSyncGapRatio1 = scalar, F32, 1456, "", 1, 0 +vvtToothDurations01 = scalar, U32, 1460, "us", 1, 0 +vvtCurrentPosition1 = scalar, F32, 1464, "sync: Primary Cam Position", 1, 0 +vvtToothPosition11 = scalar, F32, 1468, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition21 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition31 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition41 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio1 = scalar, F32, 1484, "", 1, 0 +triggerStateIndex1 = scalar, U08, 1488, "", 1, 0 +vvtStateIndex1 = scalar, U08, 1489, "", 1, 0 +; total TS size = 1492 +crankSynchronizationCounter2 = scalar, U32, 1492, "", 1, 0 +vvtSyncGapRatio2 = scalar, F32, 1496, "", 1, 0 +vvtToothDurations02 = scalar, U32, 1500, "us", 1, 0 +vvtCurrentPosition2 = scalar, F32, 1504, "sync: Primary Cam Position", 1, 0 +vvtToothPosition12 = scalar, F32, 1508, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition22 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition32 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition42 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio2 = scalar, F32, 1524, "", 1, 0 +triggerStateIndex2 = scalar, U08, 1528, "", 1, 0 +vvtStateIndex2 = scalar, U08, 1529, "", 1, 0 +; total TS size = 1532 +crankSynchronizationCounter3 = scalar, U32, 1532, "", 1, 0 +vvtSyncGapRatio3 = scalar, F32, 1536, "", 1, 0 +vvtToothDurations03 = scalar, U32, 1540, "us", 1, 0 +vvtCurrentPosition3 = scalar, F32, 1544, "sync: Primary Cam Position", 1, 0 +vvtToothPosition13 = scalar, F32, 1548, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition23 = scalar, F32, 1552, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition33 = scalar, F32, 1556, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition43 = scalar, F32, 1560, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio3 = scalar, F32, 1564, "", 1, 0 +triggerStateIndex3 = scalar, U08, 1568, "", 1, 0 +vvtStateIndex3 = scalar, U08, 1569, "", 1, 0 +; total TS size = 1572 +crankSynchronizationCounter4 = scalar, U32, 1572, "", 1, 0 +vvtSyncGapRatio4 = scalar, F32, 1576, "", 1, 0 +vvtToothDurations04 = scalar, U32, 1580, "us", 1, 0 +vvtCurrentPosition4 = scalar, F32, 1584, "sync: Primary Cam Position", 1, 0 +vvtToothPosition14 = scalar, F32, 1588, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition24 = scalar, F32, 1592, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition34 = scalar, F32, 1596, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition44 = scalar, F32, 1600, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio4 = scalar, F32, 1604, "", 1, 0 +triggerStateIndex4 = scalar, U08, 1608, "", 1, 0 +vvtStateIndex4 = scalar, U08, 1609, "", 1, 0 +; total TS size = 1612 +camResyncCounter = scalar, U08, 1612, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1616, [0:0] +; total TS size = 1620 +wallFuelCorrection = scalar, F32, 1620, "", 1, 0 +wallFuel = scalar, F32, 1624, "", 1, 0 +; total TS size = 1628 +idleState = bits, S32, 1628, [0:2], "not important" +currentIdlePosition = scalar, F32, 1632 +baseIdlePosition = scalar, F32, 1636 +idleClosedLoop = scalar, F32, 1640 +iacByTpsTaper = scalar, F32, 1644 +throttlePedalUpState = scalar, S32, 1648, "", 1, 0 +mightResetPid = bits, U32, 1652, [0:0] +shouldResetPid = bits, U32, 1652, [1:1] +wasResetPid = bits, U32, 1652, [2:2] +mustResetPid = bits, U32, 1652, [3:3] +isCranking = bits, U32, 1652, [4:4] +isIacTableForCoasting = bits, U32, 1652, [5:5] +notIdling = bits, U32, 1652, [6:6] +needReset = bits, U32, 1652, [7:7] +isInDeadZone = bits, U32, 1652, [8:8] +isBlipping = bits, U32, 1652, [9:9] +useClosedLoop = bits, U32, 1652, [10:10] +badTps = bits, U32, 1652, [11:11] +looksLikeRunning = bits, U32, 1652, [12:12] +looksLikeCoasting = bits, U32, 1652, [13:13] +looksLikeCrankToIdle = bits, U32, 1652, [14:14] +isIdleCoasting = bits, U32, 1652, [15:15] +isIdleClosedLoop = bits, U32, 1652, [16:16] +idleTarget = scalar, S32, 1656, "", 1, 0 +targetRpmByClt = scalar, S32, 1660, "", 1, 0 +targetRpmAc = scalar, S32, 1664, "", 1, 0 +iacByRpmTaper = scalar, F32, 1668 +luaAdd = scalar, F32, 1672 +; total TS size = 1676 +targetWithIdlePosition0 = scalar, F32, 1676, "per", 1,0 +trim0 = scalar, F32, 1680, "", 1, 0 +luaAdjustment0 = scalar, F32, 1684, "per", 1,0 +m_wastegatePosition0 = scalar, F32, 1688, "per", 1,0 +etbFeedForward0 = scalar, F32, 1692 +etbIntegralError0 = scalar, F32, 1696, "", 1, 0 +etbCurrentTarget0 = scalar, F32, 1700, "%", 1, 0 +etbCurrentAdjustedTarget0 = scalar, F32, 1704, "%", 1, 0 +etbRevLimitActive0 = bits, U32, 1708, [0:0] +jamDetected0 = bits, U32, 1708, [1:1] +etbTpsErrorCounter0 = scalar, U16, 1712, "count", 1,0 +etbPpsErrorCounter0 = scalar, U16, 1714, "count", 1,0 +etbErrorCode0 = scalar, S08, 1716, "", 1, 0 +tcEtbDrop0 = scalar, S08, 1717, "%", 1, 0 +jamTimer0 = scalar, U16, 1718, "sec", 0.01, 0 +adjustedEtbTarget0 = scalar, S08, 1720, "%", 1, 0 +; total TS size = 1724 +targetWithIdlePosition1 = scalar, F32, 1724, "per", 1,0 +trim1 = scalar, F32, 1728, "", 1, 0 +luaAdjustment1 = scalar, F32, 1732, "per", 1,0 +m_wastegatePosition1 = scalar, F32, 1736, "per", 1,0 +etbFeedForward1 = scalar, F32, 1740 +etbIntegralError1 = scalar, F32, 1744, "", 1, 0 +etbCurrentTarget1 = scalar, F32, 1748, "%", 1, 0 +etbCurrentAdjustedTarget1 = scalar, F32, 1752, "%", 1, 0 +etbRevLimitActive1 = bits, U32, 1756, [0:0] +jamDetected1 = bits, U32, 1756, [1:1] +etbTpsErrorCounter1 = scalar, U16, 1760, "count", 1,0 +etbPpsErrorCounter1 = scalar, U16, 1762, "count", 1,0 +etbErrorCode1 = scalar, S08, 1764, "", 1, 0 +tcEtbDrop1 = scalar, S08, 1765, "%", 1, 0 +jamTimer1 = scalar, U16, 1766, "sec", 0.01, 0 +adjustedEtbTarget1 = scalar, S08, 1768, "%", 1, 0 +; total TS size = 1772 +faultCode0 = scalar, U08, 1772, "", 1, 0 +heaterDuty0 = scalar, U08, 1773, "%", 1, 0 +pumpDuty0 = scalar, U08, 1774, "%", 1, 0 +tempC0 = scalar, U16, 1776, "C", 1, 0 +nernstVoltage0 = scalar, U16, 1778, "V", 0.001, 0 +esr0 = scalar, U16, 1780, "ohm", 1, 0 +; total TS size = 1784 +faultCode1 = scalar, U08, 1784, "", 1, 0 +heaterDuty1 = scalar, U08, 1785, "%", 1, 0 +pumpDuty1 = scalar, U08, 1786, "%", 1, 0 +tempC1 = scalar, U16, 1788, "C", 1, 0 +nernstVoltage1 = scalar, U16, 1790, "V", 0.001, 0 +esr1 = scalar, U16, 1792, "ohm", 1, 0 +; total TS size = 1796 +dcOutput0 = scalar, F32, 1796, "per", 1,0 +isEnabled0_int = scalar, U08, 1800, "per", 1,0 +isEnabled0 = bits, U32, 1804, [0:0] +; total TS size = 1808 +value0 = scalar, U16, 1808, "value", 1,0 +value1 = scalar, U16, 1810, "value", 1,0 +errorRate = scalar, F32, 1812, "ratio", 1,0 +; total TS size = 1816 +vvtTarget = scalar, U16, 1816, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1818, "%", 0.5, 0 +; total TS size = 1820 +lambdaCurrentlyGood = bits, U32, 1820, [0:0] +lambdaMonitorCut = bits, U32, 1820, [1:1] +lambdaTimeSinceGood = scalar, U16, 1824, "sec", 0.01, 0 +; total TS size = 1828 time = { timeNow } @@ -3616,6 +3648,7 @@ lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs8 requiresPowerCycle = cylinderBore + requiresPowerCycle = knockFrequency readOnly = warning_message readOnly = device_uid1 @@ -5033,6 +5066,26 @@ gaugeCategory = Knock knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knockSpectrumChannelCylGauge = m_knockSpectrumChannelCyl, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStartGauge = m_knockFrequencyStart, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStepGauge = m_knockFrequencyStep, "Knock Frequency Step", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFuelTrimMultiplier = m_knockFuelTrimMultiplier, "Knock Fuel Trim", "mult", 0, 0, 0, 0, 0, 30, 1, 1 + knockSpectrum1 = m_knockSpectrum1, "Knock Spectrum1", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum2 = m_knockSpectrum2, "knockSpectrum2", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum3 = m_knockSpectrum3, "knockSpectrum3", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum4 = m_knockSpectrum4, "knockSpectrum4", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum5 = m_knockSpectrum5, "knockSpectrum5", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum6 = m_knockSpectrum6, "knockSpectrum6", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum7 = m_knockSpectrum7, "knockSpectrum7", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum8 = m_knockSpectrum8, "knockSpectrum8", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum9 = m_knockSpectrum9, "knockSpectrum9", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum10 = m_knockSpectrum10, "knockSpectrum10", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum11 = m_knockSpectrum11, "knockSpectrum11", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum12 = m_knockSpectrum12, "knockSpectrum12", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum13 = m_knockSpectrum13, "knockSpectrum13", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum14 = m_knockSpectrum14, "knockSpectrum14", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum15 = m_knockSpectrum15, "knockSpectrum15", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum16 = m_knockSpectrum16, "knockSpectrum16", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -5631,6 +5684,26 @@ entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" entry = m_knockCount, "Knock: Count", int, "%d" entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_knockFrequency, "knock: frequency", int, "%d" +entry = m_knockSpectrum1, "Knock: SpectrumData 1", int, "%d" +entry = m_knockSpectrum2, "Knock: SpectrumData 2", int, "%d" +entry = m_knockSpectrum3, "Knock: SpectrumData 3", int, "%d" +entry = m_knockSpectrum4, "Knock: SpectrumData 4", int, "%d" +entry = m_knockSpectrum5, "Knock: SpectrumData 5", int, "%d" +entry = m_knockSpectrum6, "Knock: SpectrumData 6", int, "%d" +entry = m_knockSpectrum7, "Knock: SpectrumData 7", int, "%d" +entry = m_knockSpectrum8, "Knock: SpectrumData 8", int, "%d" +entry = m_knockSpectrum9, "Knock: SpectrumData 9", int, "%d" +entry = m_knockSpectrum10, "Knock: SpectrumData 10", int, "%d" +entry = m_knockSpectrum11, "Knock: SpectrumData 11", int, "%d" +entry = m_knockSpectrum12, "Knock: SpectrumData 12", int, "%d" +entry = m_knockSpectrum13, "Knock: SpectrumData 13", int, "%d" +entry = m_knockSpectrum14, "Knock: SpectrumData 14", int, "%d" +entry = m_knockSpectrum15, "Knock: SpectrumData 15", int, "%d" +entry = m_knockSpectrum16, "Knock: SpectrumData 16", int, "%d" +entry = m_knockSpectrumChannelCyl, "Knock: ChannelAndCylNumber", int, "%d" +entry = m_knockFrequencyStart, "Knock: Start Freq", int, "%d" +entry = m_knockFrequencyStep, "Knock: Step Freq", float, "%.3f" +entry = m_knockFuelTrimMultiplier, "Knock: Fuel trim when knock", float, "%.3f" entry = tcuCurrentGear, "TCU: Current Gear", int, "%d" entry = tcRatio, "TCU: Torque Converter Ratio", float, "%.3f" entry = lastShiftTime, "lastShiftTime", float, "%.3f" @@ -6525,6 +6598,31 @@ dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard graphLine = m_knockFrequency + graphLine = m_knockSpectrum1 + graphLine = m_knockSpectrum2 + liveGraph = knock_controller_6_Graph, "Graph", South + graphLine = m_knockSpectrum3 + graphLine = m_knockSpectrum4 + graphLine = m_knockSpectrum5 + graphLine = m_knockSpectrum6 + liveGraph = knock_controller_7_Graph, "Graph", South + graphLine = m_knockSpectrum7 + graphLine = m_knockSpectrum8 + graphLine = m_knockSpectrum9 + graphLine = m_knockSpectrum10 + liveGraph = knock_controller_8_Graph, "Graph", South + graphLine = m_knockSpectrum11 + graphLine = m_knockSpectrum12 + graphLine = m_knockSpectrum13 + graphLine = m_knockSpectrum14 + liveGraph = knock_controller_9_Graph, "Graph", South + graphLine = m_knockSpectrum15 + graphLine = m_knockSpectrum16 + graphLine = m_knockSpectrumChannelCyl + graphLine = m_knockFrequencyStart + liveGraph = knock_controller_10_Graph, "Graph", South + graphLine = m_knockFrequencyStep + graphLine = m_knockFuelTrimMultiplier indicatorPanel = tcu_controllerIndicatorPanel, 2 indicator = {isShifting}, "isShifting No", "isShifting Yes" @@ -8549,9 +8647,13 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockCfg, "Sense" field = "Enable", enableSoftwareKnock field = "Cylinder Bore", cylinderBore, {enableSoftwareKnock} + field = "Estimated Knock Frequency",knockFrequency, {enableSoftwareKnock} field = "Detection mode", knockDetectionUseDoubleFrequency field = "Detection Window Start",knockDetectionWindowStart, {enableSoftwareKnock} field = "Sampling Duration", knockSamplingDuration, {enableSoftwareKnock} + field = "Enable Knock Spectrogram", enableKnockSpectrogram, {enableSoftwareKnock} + field = "Enable Knock Spectrogram Filter", enableKnockSpectrogramFilter, {enableKnockSpectrogram} + field = "Knock Spectrum Sensitivity", knockSpectrumSensitivity, {enableKnockSpectrogram} field = "" field = "Select the nearest sensor for each cylinder" @@ -8571,6 +8673,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockResponseCfg, "Response" field = knockRetardAggression, knockRetardAggression field = knockRetardReapplyRate, knockRetardReapplyRate + field = knockFuelTrimAggression, knockFuelTrimAggression + field = knockFuelTrimReapplyRate, knockFuelTrimReapplyRate + field = knockFuelTrim, knockFuelTrim + field = knockSuppressMinTps, knockSuppressMinTps dialog = softwareKnockLeft, "" panel = softwareKnockCfg diff --git a/firmware/tunerstudio/generated/rusefi_hellen121vag.ini b/firmware/tunerstudio/generated/rusefi_hellen121vag.ini index a51e32bc3c..a772bd8a42 100644 --- a/firmware/tunerstudio/generated/rusefi_hellen121vag.ini +++ b/firmware/tunerstudio/generated/rusefi_hellen121vag.ini @@ -38,12 +38,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.10.21.hellen121vag.236149470" + signature = "rusEFI master.2024.10.21.hellen121vag.3527082017" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.10.21.hellen121vag.236149470" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.10.21.hellen121vag.3527082017" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -774,6 +774,7 @@ devBit7 = bits, U32, 1492, [27:27], "false", "true" unusedSkipWasHere = bits, U32, 1492, [28:28], "false", "true" invertExhaustCamVVTSignal = bits, U32, 1492, [29:29], "Rising", "Falling" enableKnockSpectrogram = bits, U32, 1492, [30:30], "false", "true" +enableKnockSpectrogramFilter = bits, U32, 1492, [31:31], "false", "true" afterCrankingIACtaperDuration = scalar, S16, 1496, "cycles", 1, 0, 0, 5000, 0 iacByTpsTaper = scalar, S16, 1498, "percent", 1, 0, 0, 500, 0 unusedAuxSeria = bits, U16, 1500, [0:8], $gpio_list @@ -1394,7 +1395,13 @@ auxLinear4_v1 = scalar, F32, 3880, "volts", 1, 0, 0, 10, 2 auxLinear4_value1 = scalar, F32, 3884, "", 1, 0, -100000, 1000000, 2 auxLinear4_v2 = scalar, F32, 3888, "volts", 1, 0, 0, 10, 2 auxLinear4_value2 = scalar, F32, 3892, "", 1, 0, -100000, 1000000, 2 -unusedOftenChangesDuringFirmwareUpdate = array, U08, 3896, [128], "units", 1, 0, 0, 1, 0 +knockSuppressMinTps = scalar, U08, 3896, "%", 1, 0, 0, 100, 1 +knockFuelTrimAggression = scalar, U08, 3897, "%", 0.1, 0, 0, 20, 1 +knockFuelTrimReapplyRate = scalar, U08, 3898, "deg/s", 0.1, 0, 0, 10, 1 +knockFuelTrim = scalar, U08, 3899, "%", 1, 0, 0, 30, 1 +knockSpectrumSensitivity = scalar, F32, 3900, "sense", 1, 0, 0, 1, 2 +knockFrequency = scalar, F32, 3904, "Hz", 1, 0, 0, 20000, 2 +unusedOftenChangesDuringFirmwareUpdate = array, U08, 3908, [116], "units", 1, 0, 0, 1, 0 postCrankingFactor = array, F32, 4024, [6x6], "mult", 1, 0, 1, 3, 2 postCrankingDurationBins = array, F32, 4168, [6], "count", 1, 0, 0, 1000, 0 postCrankingCLTBins = array, S16, 4192, [6], "C", 1, 0, -100, 250, 0 @@ -2448,6 +2455,11 @@ minimumOilPressureValues = array, U08, 22960, [8], "kPa", 10.0, 0, 0, 1000, 0 minAcPressure = "value of A/C pressure in kPa before that compressor is disengaged" maxAcPressure = "value of A/C pressure in kPa after that compressor is disengaged" minimumOilPressureTimeout = "Delay before cutting fuel due to low oil pressure. Use this to ignore short pressure blips and sensor noise." + knockSuppressMinTps = "Below TPS value all knock suppression will be disabled." + knockFuelTrimAggression = "Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump)," + knockFuelTrimReapplyRate = "After a knock event, reapply fuel at this rate." + knockFuelTrim = "Fuel trim when knock, max 30%" + knockFrequency = "Estimated knock frequency, ignore cylinderBore if this one > 0" etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, open loop component of PID closed loop control" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2560,7 +2572,7 @@ minimumOilPressureValues = array, U08, 22960, [8], "kPa", 10.0, 0, 0, 1000, 0 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1752 + ochBlockSize = 1828 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3101,370 +3113,390 @@ m_knockThreshold = scalar, F32, 960, "", 1, 0 m_knockCount = scalar, U32, 964, "", 1, 0 m_maximumRetard = scalar, F32, 968, "", 1, 0 m_knockFrequency = scalar, U32, 972, "Hz", 1, 0 -; total TS size = 976 -tcuCurrentGear = scalar, S08, 976, "gear", 1, 0 -tcRatio = scalar, U16, 978, "value", 0.01, 0 -lastShiftTime = scalar, F32, 980, "", 1, 0 -tcu_currentRange = scalar, U08, 984, "", 1, 0 -pressureControlDuty = scalar, S08, 985, "%", 1,0 -torqueConverterDuty = scalar, S08, 986, "%", 1,0 -isShifting = bits, U32, 988, [0:0] -; total TS size = 992 -throttleUseWotModel = bits, U32, 992, [0:0] -throttleModelCrossoverAngle = scalar, S16, 996, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1000, "g/s", 1, 0 -; total TS size = 1004 -m_requested_pump = scalar, F32, 1004, "", 1, 0 -fuel_requested_percent = scalar, F32, 1008, "", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1012, "", 1, 0 -noValve = bits, U32, 1016, [0:0] -angleAboveMin = bits, U32, 1016, [1:1] -isHpfpInactive = bits, U32, 1016, [2:2] -m_pressureTarget_kPa = scalar, F32, 1020, "", 1, 0 -nextLobe = scalar, F32, 1024, "", 1, 0 -di_nextStart = scalar, F32, 1028, "v", 1, 0 -; total TS size = 1032 -m_deadtime = scalar, F32, 1032, "ms", 1, 0 -pressureDelta = scalar, F32, 1036, "kPa", 1, 0 -pressureRatio = scalar, F32, 1040, "", 1, 0 -; total TS size = 1044 -retardThresholdRpm = scalar, S32, 1044, "", 1, 0 -launchActivatePinState = bits, U32, 1048, [0:0] -isPreLaunchCondition = bits, U32, 1048, [1:1] -isLaunchCondition = bits, U32, 1048, [2:2] -isSwitchActivated = bits, U32, 1048, [3:3] -isClutchActivated = bits, U32, 1048, [4:4] -isBrakePedalActivated = bits, U32, 1048, [5:5] -isValidInputPin = bits, U32, 1048, [6:6] -activateSwitchCondition = bits, U32, 1048, [7:7] -rpmLaunchCondition = bits, U32, 1048, [8:8] -rpmPreLaunchCondition = bits, U32, 1048, [9:9] -speedCondition = bits, U32, 1048, [10:10] -tpsCondition = bits, U32, 1048, [11:11] +m_knockSpectrum1 = scalar, U32, 976, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 980, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 984, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 988, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1040, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1042, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1044, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1048, "multiplier", 1, 0 ; total TS size = 1052 -isTorqueReductionTriggerPinValid = bits, U32, 1052, [0:0] -torqueReductionTriggerPinState = bits, U32, 1052, [1:1] -isTimeConditionSatisfied = bits, U32, 1052, [2:2] -isRpmConditionSatisfied = bits, U32, 1052, [3:3] -isAppConditionSatisfied = bits, U32, 1052, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1052, [5:5] -; total TS size = 1056 -isAntilagCondition = bits, U32, 1056, [0:0] -ALSMinRPMCondition = bits, U32, 1056, [1:1] -ALSMaxRPMCondition = bits, U32, 1056, [2:2] -ALSMinCLTCondition = bits, U32, 1056, [3:3] -ALSMaxCLTCondition = bits, U32, 1056, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1056, [5:5] -isALSSwitchActivated = bits, U32, 1056, [6:6] -ALSActivatePinState = bits, U32, 1056, [7:7] -ALSSwitchCondition = bits, U32, 1056, [8:8] -ALSTimerCondition = bits, U32, 1056, [9:9] -fuelALSCorrection = scalar, F32, 1060, "", 1, 0 -timingALSCorrection = scalar, S16, 1064, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1066, "deg", 0.01, 0 +tcuCurrentGear = scalar, S08, 1052, "gear", 1, 0 +tcRatio = scalar, U16, 1054, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1056, "", 1, 0 +tcu_currentRange = scalar, U08, 1060, "", 1, 0 +pressureControlDuty = scalar, S08, 1061, "%", 1,0 +torqueConverterDuty = scalar, S08, 1062, "%", 1,0 +isShifting = bits, U32, 1064, [0:0] ; total TS size = 1068 -isTpsInvalid = bits, U32, 1068, [0:0] -m_shouldResetPid = bits, U32, 1068, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1068, [2:2] -isNotClosedLoop = bits, U32, 1068, [3:3] -isZeroRpm = bits, U32, 1068, [4:4] -hasInitBoost = bits, U32, 1068, [5:5] -rpmTooLow = bits, U32, 1068, [6:6] -tpsTooLow = bits, U32, 1068, [7:7] -mapTooLow = bits, U32, 1068, [8:8] -isPlantValid = bits, U32, 1068, [9:9] -isBoostControlled = bits, U32, 1068, [10:10] -luaTargetAdd = scalar, S16, 1072, "v", 0.5,0 -boostOutput = scalar, S16, 1074, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1076, "v", 1,0 -openLoopPart = scalar, F32, 1080, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1084, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1088, "%", 0.5,0 -boostControlTarget = scalar, S16, 1090, "kPa", 0.03333333333333333,0 -; total TS size = 1092 -acButtonState = scalar, S08, 1092, "", 1, 0 -m_acEnabled = bits, U32, 1096, [0:0] -engineTooSlow = bits, U32, 1096, [1:1] -engineTooFast = bits, U32, 1096, [2:2] -noClt = bits, U32, 1096, [3:3] -engineTooHot = bits, U32, 1096, [4:4] -tpsTooHigh = bits, U32, 1096, [5:5] -isDisabledByLua = bits, U32, 1096, [6:6] -acCompressorState = bits, U32, 1096, [7:7] -acPressureTooLow = bits, U32, 1096, [8:8] -acPressureTooHigh = bits, U32, 1096, [9:9] -; total TS size = 1100 -cranking0 = bits, U32, 1100, [0:0] -notRunning0 = bits, U32, 1100, [1:1] -disabledWhileEngineStopped0 = bits, U32, 1100, [2:2] -brokenClt0 = bits, U32, 1100, [3:3] -enabledForAc0 = bits, U32, 1100, [4:4] -hot0 = bits, U32, 1100, [5:5] -cold0 = bits, U32, 1100, [6:6] -disabledBySpeed0 = bits, U32, 1100, [7:7] -radiatorFanStatus0 = scalar, U08, 1104, "", 1, 0 +throttleUseWotModel = bits, U32, 1068, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1072, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1076, "g/s", 1, 0 +; total TS size = 1080 +m_requested_pump = scalar, F32, 1080, "", 1, 0 +fuel_requested_percent = scalar, F32, 1084, "", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1088, "", 1, 0 +noValve = bits, U32, 1092, [0:0] +angleAboveMin = bits, U32, 1092, [1:1] +isHpfpInactive = bits, U32, 1092, [2:2] +m_pressureTarget_kPa = scalar, F32, 1096, "", 1, 0 +nextLobe = scalar, F32, 1100, "", 1, 0 +di_nextStart = scalar, F32, 1104, "v", 1, 0 ; total TS size = 1108 -cranking1 = bits, U32, 1108, [0:0] -notRunning1 = bits, U32, 1108, [1:1] -disabledWhileEngineStopped1 = bits, U32, 1108, [2:2] -brokenClt1 = bits, U32, 1108, [3:3] -enabledForAc1 = bits, U32, 1108, [4:4] -hot1 = bits, U32, 1108, [5:5] -cold1 = bits, U32, 1108, [6:6] -disabledBySpeed1 = bits, U32, 1108, [7:7] -radiatorFanStatus1 = scalar, U08, 1112, "", 1, 0 -; total TS size = 1116 -isPrime = bits, U32, 1116, [0:0] -engineTurnedRecently = bits, U32, 1116, [1:1] -isFuelPumpOn = bits, U32, 1116, [2:2] -ignitionOn = bits, U32, 1116, [3:3] +m_deadtime = scalar, F32, 1108, "ms", 1, 0 +pressureDelta = scalar, F32, 1112, "kPa", 1, 0 +pressureRatio = scalar, F32, 1116, "", 1, 0 ; total TS size = 1120 -isBenchTest = bits, U32, 1120, [0:0] -hasIgnitionVoltage = bits, U32, 1120, [1:1] -mainRelayState = bits, U32, 1120, [2:2] -delayedShutoffRequested = bits, U32, 1120, [3:3] -; total TS size = 1124 -lua_fuelAdd = scalar, F32, 1124, "g", 1, 0 -lua_fuelMult = scalar, F32, 1128, "", 1, 0 -lua_clutchUpState = bits, U32, 1132, [0:0] -lua_brakePedalState = bits, U32, 1132, [1:1] -lua_acRequestState = bits, U32, 1132, [2:2] -lua_luaDisableEtb = bits, U32, 1132, [3:3] -lua_luaIgnCut = bits, U32, 1132, [4:4] -lua_luaFuelCut = bits, U32, 1132, [5:5] -lua_clutchDownState = bits, U32, 1132, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1132, [7:7] -sd_tCharge = scalar, S16, 1136, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1140, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1144, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1148, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1152, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1156, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1160, "", 1, 0 -hellenBoardId = scalar, S16, 1164, "id", 1, 0 -clutchUpState = scalar, S08, 1166, "", 1, 0 -clutchDownState = scalar, S08, 1167, "", 1, 0 -brakePedalState = scalar, S08, 1168, "", 1, 0 -startStopState = scalar, S08, 1169, "", 1, 0 -smartChipState = scalar, S08, 1170, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1171, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1172, "", 1, 0 -startStopPhysicalState = bits, U32, 1176, [0:0] -acrActive = bits, U32, 1176, [1:1] -acrEngineMovedRecently = bits, U32, 1176, [2:2] -heaterControlEnabled = bits, U32, 1176, [3:3] -luaDigitalState0 = bits, U32, 1176, [4:4] -luaDigitalState1 = bits, U32, 1176, [5:5] -luaDigitalState2 = bits, U32, 1176, [6:6] -luaDigitalState3 = bits, U32, 1176, [7:7] -startStopStateToggleCounter = scalar, U32, 1180, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1184, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1188, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1192, "", 1, 0 -desiredRpmLimit = scalar, S16, 1196, "rpm", 1, 0 -fuelInjectionCounter = scalar, U32, 1200, "", 1, 0 -globalSparkCounter = scalar, U32, 1204, "", 1, 0 -fuelingLoad = scalar, F32, 1208, "", 1, 0 -ignitionLoad = scalar, F32, 1212, "", 1, 0 -veTableYAxis = scalar, U16, 1216, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1218, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1219, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1220, "", 1, 0 -; total TS size = 1224 -tpsFrom = scalar, F32, 1224 -tpsTo = scalar, F32, 1228 -deltaTps = scalar, F32, 1232 -extraFuel = scalar, F32, 1236, "", 1, 0 -valueFromTable = scalar, F32, 1240, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1244, [0:0] -isBelowDecelThreshold = bits, U32, 1244, [1:1] -isTimeToResetAccumulator = bits, U32, 1244, [2:2] -isFractionalEnrichment = bits, U32, 1244, [3:3] -belowEpsilon = bits, U32, 1244, [4:4] -tooShort = bits, U32, 1244, [5:5] -fractionalInjFuel = scalar, F32, 1248, "", 1, 0 -accumulatedValue = scalar, F32, 1252, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1256, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1260, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1264, "", 1, 0 -cycleCnt = scalar, S32, 1268, "", 1, 0 -; total TS size = 1272 -hwEventCounters1 = scalar, U32, 1272, "", 1, 0 -hwEventCounters2 = scalar, U32, 1276, "", 1, 0 -hwEventCounters3 = scalar, U32, 1280, "", 1, 0 -hwEventCounters4 = scalar, U32, 1284, "", 1, 0 -hwEventCounters5 = scalar, U32, 1288, "", 1, 0 -hwEventCounters6 = scalar, U32, 1292, "", 1, 0 -vvtCamCounter = scalar, U32, 1296, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1300, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1304, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1308, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1309, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1312, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1316, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1320, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1324, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1328, [0:0] -triggerElapsedUs = scalar, U32, 1332, "", 1, 0 -; total TS size = 1336 -crankSynchronizationCounter0 = scalar, U32, 1336, "", 1, 0 -vvtSyncGapRatio0 = scalar, F32, 1340, "", 1, 0 -vvtToothDurations00 = scalar, U32, 1344, "us", 1, 0 -vvtCurrentPosition0 = scalar, F32, 1348, "sync: Primary Cam Position", 1, 0 -vvtToothPosition10 = scalar, F32, 1352, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition20 = scalar, F32, 1356, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition30 = scalar, F32, 1360, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition40 = scalar, F32, 1364, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio0 = scalar, F32, 1368, "", 1, 0 -triggerStateIndex0 = scalar, U08, 1372, "", 1, 0 -vvtStateIndex0 = scalar, U08, 1373, "", 1, 0 -; total TS size = 1376 -crankSynchronizationCounter1 = scalar, U32, 1376, "", 1, 0 -vvtSyncGapRatio1 = scalar, F32, 1380, "", 1, 0 -vvtToothDurations01 = scalar, U32, 1384, "us", 1, 0 -vvtCurrentPosition1 = scalar, F32, 1388, "sync: Primary Cam Position", 1, 0 -vvtToothPosition11 = scalar, F32, 1392, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition21 = scalar, F32, 1396, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition31 = scalar, F32, 1400, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition41 = scalar, F32, 1404, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio1 = scalar, F32, 1408, "", 1, 0 -triggerStateIndex1 = scalar, U08, 1412, "", 1, 0 -vvtStateIndex1 = scalar, U08, 1413, "", 1, 0 -; total TS size = 1416 -crankSynchronizationCounter2 = scalar, U32, 1416, "", 1, 0 -vvtSyncGapRatio2 = scalar, F32, 1420, "", 1, 0 -vvtToothDurations02 = scalar, U32, 1424, "us", 1, 0 -vvtCurrentPosition2 = scalar, F32, 1428, "sync: Primary Cam Position", 1, 0 -vvtToothPosition12 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition22 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition32 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition42 = scalar, F32, 1444, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio2 = scalar, F32, 1448, "", 1, 0 -triggerStateIndex2 = scalar, U08, 1452, "", 1, 0 -vvtStateIndex2 = scalar, U08, 1453, "", 1, 0 -; total TS size = 1456 -crankSynchronizationCounter3 = scalar, U32, 1456, "", 1, 0 -vvtSyncGapRatio3 = scalar, F32, 1460, "", 1, 0 -vvtToothDurations03 = scalar, U32, 1464, "us", 1, 0 -vvtCurrentPosition3 = scalar, F32, 1468, "sync: Primary Cam Position", 1, 0 -vvtToothPosition13 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition23 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition33 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition43 = scalar, F32, 1484, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio3 = scalar, F32, 1488, "", 1, 0 -triggerStateIndex3 = scalar, U08, 1492, "", 1, 0 -vvtStateIndex3 = scalar, U08, 1493, "", 1, 0 -; total TS size = 1496 -crankSynchronizationCounter4 = scalar, U32, 1496, "", 1, 0 -vvtSyncGapRatio4 = scalar, F32, 1500, "", 1, 0 -vvtToothDurations04 = scalar, U32, 1504, "us", 1, 0 -vvtCurrentPosition4 = scalar, F32, 1508, "sync: Primary Cam Position", 1, 0 -vvtToothPosition14 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition24 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition34 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition44 = scalar, F32, 1524, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio4 = scalar, F32, 1528, "", 1, 0 -triggerStateIndex4 = scalar, U08, 1532, "", 1, 0 -vvtStateIndex4 = scalar, U08, 1533, "", 1, 0 -; total TS size = 1536 -camResyncCounter = scalar, U08, 1536, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1540, [0:0] -; total TS size = 1544 -wallFuelCorrection = scalar, F32, 1544, "", 1, 0 -wallFuel = scalar, F32, 1548, "", 1, 0 -; total TS size = 1552 -idleState = bits, S32, 1552, [0:2], "not important" -currentIdlePosition = scalar, F32, 1556 -baseIdlePosition = scalar, F32, 1560 -idleClosedLoop = scalar, F32, 1564 -iacByTpsTaper = scalar, F32, 1568 -throttlePedalUpState = scalar, S32, 1572, "", 1, 0 -mightResetPid = bits, U32, 1576, [0:0] -shouldResetPid = bits, U32, 1576, [1:1] -wasResetPid = bits, U32, 1576, [2:2] -mustResetPid = bits, U32, 1576, [3:3] -isCranking = bits, U32, 1576, [4:4] -isIacTableForCoasting = bits, U32, 1576, [5:5] -notIdling = bits, U32, 1576, [6:6] -needReset = bits, U32, 1576, [7:7] -isInDeadZone = bits, U32, 1576, [8:8] -isBlipping = bits, U32, 1576, [9:9] -useClosedLoop = bits, U32, 1576, [10:10] -badTps = bits, U32, 1576, [11:11] -looksLikeRunning = bits, U32, 1576, [12:12] -looksLikeCoasting = bits, U32, 1576, [13:13] -looksLikeCrankToIdle = bits, U32, 1576, [14:14] -isIdleCoasting = bits, U32, 1576, [15:15] -isIdleClosedLoop = bits, U32, 1576, [16:16] -idleTarget = scalar, S32, 1580, "", 1, 0 -targetRpmByClt = scalar, S32, 1584, "", 1, 0 -targetRpmAc = scalar, S32, 1588, "", 1, 0 -iacByRpmTaper = scalar, F32, 1592 -luaAdd = scalar, F32, 1596 -; total TS size = 1600 -targetWithIdlePosition0 = scalar, F32, 1600, "per", 1,0 -trim0 = scalar, F32, 1604, "", 1, 0 -luaAdjustment0 = scalar, F32, 1608, "per", 1,0 -m_wastegatePosition0 = scalar, F32, 1612, "per", 1,0 -etbFeedForward0 = scalar, F32, 1616 -etbIntegralError0 = scalar, F32, 1620, "", 1, 0 -etbCurrentTarget0 = scalar, F32, 1624, "%", 1, 0 -etbCurrentAdjustedTarget0 = scalar, F32, 1628, "%", 1, 0 -etbRevLimitActive0 = bits, U32, 1632, [0:0] -jamDetected0 = bits, U32, 1632, [1:1] -etbTpsErrorCounter0 = scalar, U16, 1636, "count", 1,0 -etbPpsErrorCounter0 = scalar, U16, 1638, "count", 1,0 -etbErrorCode0 = scalar, S08, 1640, "", 1, 0 -tcEtbDrop0 = scalar, S08, 1641, "%", 1, 0 -jamTimer0 = scalar, U16, 1642, "sec", 0.01, 0 -adjustedEtbTarget0 = scalar, S08, 1644, "%", 1, 0 -; total TS size = 1648 -targetWithIdlePosition1 = scalar, F32, 1648, "per", 1,0 -trim1 = scalar, F32, 1652, "", 1, 0 -luaAdjustment1 = scalar, F32, 1656, "per", 1,0 -m_wastegatePosition1 = scalar, F32, 1660, "per", 1,0 -etbFeedForward1 = scalar, F32, 1664 -etbIntegralError1 = scalar, F32, 1668, "", 1, 0 -etbCurrentTarget1 = scalar, F32, 1672, "%", 1, 0 -etbCurrentAdjustedTarget1 = scalar, F32, 1676, "%", 1, 0 -etbRevLimitActive1 = bits, U32, 1680, [0:0] -jamDetected1 = bits, U32, 1680, [1:1] -etbTpsErrorCounter1 = scalar, U16, 1684, "count", 1,0 -etbPpsErrorCounter1 = scalar, U16, 1686, "count", 1,0 -etbErrorCode1 = scalar, S08, 1688, "", 1, 0 -tcEtbDrop1 = scalar, S08, 1689, "%", 1, 0 -jamTimer1 = scalar, U16, 1690, "sec", 0.01, 0 -adjustedEtbTarget1 = scalar, S08, 1692, "%", 1, 0 -; total TS size = 1696 -faultCode0 = scalar, U08, 1696, "", 1, 0 -heaterDuty0 = scalar, U08, 1697, "%", 1, 0 -pumpDuty0 = scalar, U08, 1698, "%", 1, 0 -tempC0 = scalar, U16, 1700, "C", 1, 0 -nernstVoltage0 = scalar, U16, 1702, "V", 0.001, 0 -esr0 = scalar, U16, 1704, "ohm", 1, 0 -; total TS size = 1708 -faultCode1 = scalar, U08, 1708, "", 1, 0 -heaterDuty1 = scalar, U08, 1709, "%", 1, 0 -pumpDuty1 = scalar, U08, 1710, "%", 1, 0 -tempC1 = scalar, U16, 1712, "C", 1, 0 -nernstVoltage1 = scalar, U16, 1714, "V", 0.001, 0 -esr1 = scalar, U16, 1716, "ohm", 1, 0 -; total TS size = 1720 -dcOutput0 = scalar, F32, 1720, "per", 1,0 -isEnabled0_int = scalar, U08, 1724, "per", 1,0 -isEnabled0 = bits, U32, 1728, [0:0] -; total TS size = 1732 -value0 = scalar, U16, 1732, "value", 1,0 -value1 = scalar, U16, 1734, "value", 1,0 -errorRate = scalar, F32, 1736, "ratio", 1,0 -; total TS size = 1740 -vvtTarget = scalar, U16, 1740, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1742, "%", 0.5, 0 -; total TS size = 1744 -lambdaCurrentlyGood = bits, U32, 1744, [0:0] -lambdaMonitorCut = bits, U32, 1744, [1:1] -lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 -; total TS size = 1752 +retardThresholdRpm = scalar, S32, 1120, "", 1, 0 +launchActivatePinState = bits, U32, 1124, [0:0] +isPreLaunchCondition = bits, U32, 1124, [1:1] +isLaunchCondition = bits, U32, 1124, [2:2] +isSwitchActivated = bits, U32, 1124, [3:3] +isClutchActivated = bits, U32, 1124, [4:4] +isBrakePedalActivated = bits, U32, 1124, [5:5] +isValidInputPin = bits, U32, 1124, [6:6] +activateSwitchCondition = bits, U32, 1124, [7:7] +rpmLaunchCondition = bits, U32, 1124, [8:8] +rpmPreLaunchCondition = bits, U32, 1124, [9:9] +speedCondition = bits, U32, 1124, [10:10] +tpsCondition = bits, U32, 1124, [11:11] +; total TS size = 1128 +isTorqueReductionTriggerPinValid = bits, U32, 1128, [0:0] +torqueReductionTriggerPinState = bits, U32, 1128, [1:1] +isTimeConditionSatisfied = bits, U32, 1128, [2:2] +isRpmConditionSatisfied = bits, U32, 1128, [3:3] +isAppConditionSatisfied = bits, U32, 1128, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1128, [5:5] +; total TS size = 1132 +isAntilagCondition = bits, U32, 1132, [0:0] +ALSMinRPMCondition = bits, U32, 1132, [1:1] +ALSMaxRPMCondition = bits, U32, 1132, [2:2] +ALSMinCLTCondition = bits, U32, 1132, [3:3] +ALSMaxCLTCondition = bits, U32, 1132, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1132, [5:5] +isALSSwitchActivated = bits, U32, 1132, [6:6] +ALSActivatePinState = bits, U32, 1132, [7:7] +ALSSwitchCondition = bits, U32, 1132, [8:8] +ALSTimerCondition = bits, U32, 1132, [9:9] +fuelALSCorrection = scalar, F32, 1136, "", 1, 0 +timingALSCorrection = scalar, S16, 1140, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1142, "deg", 0.01, 0 +; total TS size = 1144 +isTpsInvalid = bits, U32, 1144, [0:0] +m_shouldResetPid = bits, U32, 1144, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1144, [2:2] +isNotClosedLoop = bits, U32, 1144, [3:3] +isZeroRpm = bits, U32, 1144, [4:4] +hasInitBoost = bits, U32, 1144, [5:5] +rpmTooLow = bits, U32, 1144, [6:6] +tpsTooLow = bits, U32, 1144, [7:7] +mapTooLow = bits, U32, 1144, [8:8] +isPlantValid = bits, U32, 1144, [9:9] +isBoostControlled = bits, U32, 1144, [10:10] +luaTargetAdd = scalar, S16, 1148, "v", 0.5,0 +boostOutput = scalar, S16, 1150, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1152, "v", 1,0 +openLoopPart = scalar, F32, 1156, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1160, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1164, "%", 0.5,0 +boostControlTarget = scalar, S16, 1166, "kPa", 0.03333333333333333,0 +; total TS size = 1168 +acButtonState = scalar, S08, 1168, "", 1, 0 +m_acEnabled = bits, U32, 1172, [0:0] +engineTooSlow = bits, U32, 1172, [1:1] +engineTooFast = bits, U32, 1172, [2:2] +noClt = bits, U32, 1172, [3:3] +engineTooHot = bits, U32, 1172, [4:4] +tpsTooHigh = bits, U32, 1172, [5:5] +isDisabledByLua = bits, U32, 1172, [6:6] +acCompressorState = bits, U32, 1172, [7:7] +acPressureTooLow = bits, U32, 1172, [8:8] +acPressureTooHigh = bits, U32, 1172, [9:9] +; total TS size = 1176 +cranking0 = bits, U32, 1176, [0:0] +notRunning0 = bits, U32, 1176, [1:1] +disabledWhileEngineStopped0 = bits, U32, 1176, [2:2] +brokenClt0 = bits, U32, 1176, [3:3] +enabledForAc0 = bits, U32, 1176, [4:4] +hot0 = bits, U32, 1176, [5:5] +cold0 = bits, U32, 1176, [6:6] +disabledBySpeed0 = bits, U32, 1176, [7:7] +radiatorFanStatus0 = scalar, U08, 1180, "", 1, 0 +; total TS size = 1184 +cranking1 = bits, U32, 1184, [0:0] +notRunning1 = bits, U32, 1184, [1:1] +disabledWhileEngineStopped1 = bits, U32, 1184, [2:2] +brokenClt1 = bits, U32, 1184, [3:3] +enabledForAc1 = bits, U32, 1184, [4:4] +hot1 = bits, U32, 1184, [5:5] +cold1 = bits, U32, 1184, [6:6] +disabledBySpeed1 = bits, U32, 1184, [7:7] +radiatorFanStatus1 = scalar, U08, 1188, "", 1, 0 +; total TS size = 1192 +isPrime = bits, U32, 1192, [0:0] +engineTurnedRecently = bits, U32, 1192, [1:1] +isFuelPumpOn = bits, U32, 1192, [2:2] +ignitionOn = bits, U32, 1192, [3:3] +; total TS size = 1196 +isBenchTest = bits, U32, 1196, [0:0] +hasIgnitionVoltage = bits, U32, 1196, [1:1] +mainRelayState = bits, U32, 1196, [2:2] +delayedShutoffRequested = bits, U32, 1196, [3:3] +; total TS size = 1200 +lua_fuelAdd = scalar, F32, 1200, "g", 1, 0 +lua_fuelMult = scalar, F32, 1204, "", 1, 0 +lua_clutchUpState = bits, U32, 1208, [0:0] +lua_brakePedalState = bits, U32, 1208, [1:1] +lua_acRequestState = bits, U32, 1208, [2:2] +lua_luaDisableEtb = bits, U32, 1208, [3:3] +lua_luaIgnCut = bits, U32, 1208, [4:4] +lua_luaFuelCut = bits, U32, 1208, [5:5] +lua_clutchDownState = bits, U32, 1208, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1208, [7:7] +sd_tCharge = scalar, S16, 1212, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1216, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1220, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1224, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1228, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1232, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1236, "", 1, 0 +hellenBoardId = scalar, S16, 1240, "id", 1, 0 +clutchUpState = scalar, S08, 1242, "", 1, 0 +clutchDownState = scalar, S08, 1243, "", 1, 0 +brakePedalState = scalar, S08, 1244, "", 1, 0 +startStopState = scalar, S08, 1245, "", 1, 0 +smartChipState = scalar, S08, 1246, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1247, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1248, "", 1, 0 +startStopPhysicalState = bits, U32, 1252, [0:0] +acrActive = bits, U32, 1252, [1:1] +acrEngineMovedRecently = bits, U32, 1252, [2:2] +heaterControlEnabled = bits, U32, 1252, [3:3] +luaDigitalState0 = bits, U32, 1252, [4:4] +luaDigitalState1 = bits, U32, 1252, [5:5] +luaDigitalState2 = bits, U32, 1252, [6:6] +luaDigitalState3 = bits, U32, 1252, [7:7] +startStopStateToggleCounter = scalar, U32, 1256, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1260, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1264, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1268, "", 1, 0 +desiredRpmLimit = scalar, S16, 1272, "rpm", 1, 0 +fuelInjectionCounter = scalar, U32, 1276, "", 1, 0 +globalSparkCounter = scalar, U32, 1280, "", 1, 0 +fuelingLoad = scalar, F32, 1284, "", 1, 0 +ignitionLoad = scalar, F32, 1288, "", 1, 0 +veTableYAxis = scalar, U16, 1292, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1294, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1295, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1296, "", 1, 0 +; total TS size = 1300 +tpsFrom = scalar, F32, 1300 +tpsTo = scalar, F32, 1304 +deltaTps = scalar, F32, 1308 +extraFuel = scalar, F32, 1312, "", 1, 0 +valueFromTable = scalar, F32, 1316, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1320, [0:0] +isBelowDecelThreshold = bits, U32, 1320, [1:1] +isTimeToResetAccumulator = bits, U32, 1320, [2:2] +isFractionalEnrichment = bits, U32, 1320, [3:3] +belowEpsilon = bits, U32, 1320, [4:4] +tooShort = bits, U32, 1320, [5:5] +fractionalInjFuel = scalar, F32, 1324, "", 1, 0 +accumulatedValue = scalar, F32, 1328, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1332, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1336, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1340, "", 1, 0 +cycleCnt = scalar, S32, 1344, "", 1, 0 +; total TS size = 1348 +hwEventCounters1 = scalar, U32, 1348, "", 1, 0 +hwEventCounters2 = scalar, U32, 1352, "", 1, 0 +hwEventCounters3 = scalar, U32, 1356, "", 1, 0 +hwEventCounters4 = scalar, U32, 1360, "", 1, 0 +hwEventCounters5 = scalar, U32, 1364, "", 1, 0 +hwEventCounters6 = scalar, U32, 1368, "", 1, 0 +vvtCamCounter = scalar, U32, 1372, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1376, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1380, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1384, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1385, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1388, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1392, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1396, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1400, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1404, [0:0] +triggerElapsedUs = scalar, U32, 1408, "", 1, 0 +; total TS size = 1412 +crankSynchronizationCounter0 = scalar, U32, 1412, "", 1, 0 +vvtSyncGapRatio0 = scalar, F32, 1416, "", 1, 0 +vvtToothDurations00 = scalar, U32, 1420, "us", 1, 0 +vvtCurrentPosition0 = scalar, F32, 1424, "sync: Primary Cam Position", 1, 0 +vvtToothPosition10 = scalar, F32, 1428, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition20 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition30 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition40 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio0 = scalar, F32, 1444, "", 1, 0 +triggerStateIndex0 = scalar, U08, 1448, "", 1, 0 +vvtStateIndex0 = scalar, U08, 1449, "", 1, 0 +; total TS size = 1452 +crankSynchronizationCounter1 = scalar, U32, 1452, "", 1, 0 +vvtSyncGapRatio1 = scalar, F32, 1456, "", 1, 0 +vvtToothDurations01 = scalar, U32, 1460, "us", 1, 0 +vvtCurrentPosition1 = scalar, F32, 1464, "sync: Primary Cam Position", 1, 0 +vvtToothPosition11 = scalar, F32, 1468, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition21 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition31 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition41 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio1 = scalar, F32, 1484, "", 1, 0 +triggerStateIndex1 = scalar, U08, 1488, "", 1, 0 +vvtStateIndex1 = scalar, U08, 1489, "", 1, 0 +; total TS size = 1492 +crankSynchronizationCounter2 = scalar, U32, 1492, "", 1, 0 +vvtSyncGapRatio2 = scalar, F32, 1496, "", 1, 0 +vvtToothDurations02 = scalar, U32, 1500, "us", 1, 0 +vvtCurrentPosition2 = scalar, F32, 1504, "sync: Primary Cam Position", 1, 0 +vvtToothPosition12 = scalar, F32, 1508, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition22 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition32 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition42 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio2 = scalar, F32, 1524, "", 1, 0 +triggerStateIndex2 = scalar, U08, 1528, "", 1, 0 +vvtStateIndex2 = scalar, U08, 1529, "", 1, 0 +; total TS size = 1532 +crankSynchronizationCounter3 = scalar, U32, 1532, "", 1, 0 +vvtSyncGapRatio3 = scalar, F32, 1536, "", 1, 0 +vvtToothDurations03 = scalar, U32, 1540, "us", 1, 0 +vvtCurrentPosition3 = scalar, F32, 1544, "sync: Primary Cam Position", 1, 0 +vvtToothPosition13 = scalar, F32, 1548, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition23 = scalar, F32, 1552, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition33 = scalar, F32, 1556, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition43 = scalar, F32, 1560, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio3 = scalar, F32, 1564, "", 1, 0 +triggerStateIndex3 = scalar, U08, 1568, "", 1, 0 +vvtStateIndex3 = scalar, U08, 1569, "", 1, 0 +; total TS size = 1572 +crankSynchronizationCounter4 = scalar, U32, 1572, "", 1, 0 +vvtSyncGapRatio4 = scalar, F32, 1576, "", 1, 0 +vvtToothDurations04 = scalar, U32, 1580, "us", 1, 0 +vvtCurrentPosition4 = scalar, F32, 1584, "sync: Primary Cam Position", 1, 0 +vvtToothPosition14 = scalar, F32, 1588, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition24 = scalar, F32, 1592, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition34 = scalar, F32, 1596, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition44 = scalar, F32, 1600, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio4 = scalar, F32, 1604, "", 1, 0 +triggerStateIndex4 = scalar, U08, 1608, "", 1, 0 +vvtStateIndex4 = scalar, U08, 1609, "", 1, 0 +; total TS size = 1612 +camResyncCounter = scalar, U08, 1612, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1616, [0:0] +; total TS size = 1620 +wallFuelCorrection = scalar, F32, 1620, "", 1, 0 +wallFuel = scalar, F32, 1624, "", 1, 0 +; total TS size = 1628 +idleState = bits, S32, 1628, [0:2], "not important" +currentIdlePosition = scalar, F32, 1632 +baseIdlePosition = scalar, F32, 1636 +idleClosedLoop = scalar, F32, 1640 +iacByTpsTaper = scalar, F32, 1644 +throttlePedalUpState = scalar, S32, 1648, "", 1, 0 +mightResetPid = bits, U32, 1652, [0:0] +shouldResetPid = bits, U32, 1652, [1:1] +wasResetPid = bits, U32, 1652, [2:2] +mustResetPid = bits, U32, 1652, [3:3] +isCranking = bits, U32, 1652, [4:4] +isIacTableForCoasting = bits, U32, 1652, [5:5] +notIdling = bits, U32, 1652, [6:6] +needReset = bits, U32, 1652, [7:7] +isInDeadZone = bits, U32, 1652, [8:8] +isBlipping = bits, U32, 1652, [9:9] +useClosedLoop = bits, U32, 1652, [10:10] +badTps = bits, U32, 1652, [11:11] +looksLikeRunning = bits, U32, 1652, [12:12] +looksLikeCoasting = bits, U32, 1652, [13:13] +looksLikeCrankToIdle = bits, U32, 1652, [14:14] +isIdleCoasting = bits, U32, 1652, [15:15] +isIdleClosedLoop = bits, U32, 1652, [16:16] +idleTarget = scalar, S32, 1656, "", 1, 0 +targetRpmByClt = scalar, S32, 1660, "", 1, 0 +targetRpmAc = scalar, S32, 1664, "", 1, 0 +iacByRpmTaper = scalar, F32, 1668 +luaAdd = scalar, F32, 1672 +; total TS size = 1676 +targetWithIdlePosition0 = scalar, F32, 1676, "per", 1,0 +trim0 = scalar, F32, 1680, "", 1, 0 +luaAdjustment0 = scalar, F32, 1684, "per", 1,0 +m_wastegatePosition0 = scalar, F32, 1688, "per", 1,0 +etbFeedForward0 = scalar, F32, 1692 +etbIntegralError0 = scalar, F32, 1696, "", 1, 0 +etbCurrentTarget0 = scalar, F32, 1700, "%", 1, 0 +etbCurrentAdjustedTarget0 = scalar, F32, 1704, "%", 1, 0 +etbRevLimitActive0 = bits, U32, 1708, [0:0] +jamDetected0 = bits, U32, 1708, [1:1] +etbTpsErrorCounter0 = scalar, U16, 1712, "count", 1,0 +etbPpsErrorCounter0 = scalar, U16, 1714, "count", 1,0 +etbErrorCode0 = scalar, S08, 1716, "", 1, 0 +tcEtbDrop0 = scalar, S08, 1717, "%", 1, 0 +jamTimer0 = scalar, U16, 1718, "sec", 0.01, 0 +adjustedEtbTarget0 = scalar, S08, 1720, "%", 1, 0 +; total TS size = 1724 +targetWithIdlePosition1 = scalar, F32, 1724, "per", 1,0 +trim1 = scalar, F32, 1728, "", 1, 0 +luaAdjustment1 = scalar, F32, 1732, "per", 1,0 +m_wastegatePosition1 = scalar, F32, 1736, "per", 1,0 +etbFeedForward1 = scalar, F32, 1740 +etbIntegralError1 = scalar, F32, 1744, "", 1, 0 +etbCurrentTarget1 = scalar, F32, 1748, "%", 1, 0 +etbCurrentAdjustedTarget1 = scalar, F32, 1752, "%", 1, 0 +etbRevLimitActive1 = bits, U32, 1756, [0:0] +jamDetected1 = bits, U32, 1756, [1:1] +etbTpsErrorCounter1 = scalar, U16, 1760, "count", 1,0 +etbPpsErrorCounter1 = scalar, U16, 1762, "count", 1,0 +etbErrorCode1 = scalar, S08, 1764, "", 1, 0 +tcEtbDrop1 = scalar, S08, 1765, "%", 1, 0 +jamTimer1 = scalar, U16, 1766, "sec", 0.01, 0 +adjustedEtbTarget1 = scalar, S08, 1768, "%", 1, 0 +; total TS size = 1772 +faultCode0 = scalar, U08, 1772, "", 1, 0 +heaterDuty0 = scalar, U08, 1773, "%", 1, 0 +pumpDuty0 = scalar, U08, 1774, "%", 1, 0 +tempC0 = scalar, U16, 1776, "C", 1, 0 +nernstVoltage0 = scalar, U16, 1778, "V", 0.001, 0 +esr0 = scalar, U16, 1780, "ohm", 1, 0 +; total TS size = 1784 +faultCode1 = scalar, U08, 1784, "", 1, 0 +heaterDuty1 = scalar, U08, 1785, "%", 1, 0 +pumpDuty1 = scalar, U08, 1786, "%", 1, 0 +tempC1 = scalar, U16, 1788, "C", 1, 0 +nernstVoltage1 = scalar, U16, 1790, "V", 0.001, 0 +esr1 = scalar, U16, 1792, "ohm", 1, 0 +; total TS size = 1796 +dcOutput0 = scalar, F32, 1796, "per", 1,0 +isEnabled0_int = scalar, U08, 1800, "per", 1,0 +isEnabled0 = bits, U32, 1804, [0:0] +; total TS size = 1808 +value0 = scalar, U16, 1808, "value", 1,0 +value1 = scalar, U16, 1810, "value", 1,0 +errorRate = scalar, F32, 1812, "ratio", 1,0 +; total TS size = 1816 +vvtTarget = scalar, U16, 1816, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1818, "%", 0.5, 0 +; total TS size = 1820 +lambdaCurrentlyGood = bits, U32, 1820, [0:0] +lambdaMonitorCut = bits, U32, 1820, [1:1] +lambdaTimeSinceGood = scalar, U16, 1824, "sec", 0.01, 0 +; total TS size = 1828 time = { timeNow } @@ -3616,6 +3648,7 @@ lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs8 requiresPowerCycle = cylinderBore + requiresPowerCycle = knockFrequency readOnly = warning_message readOnly = device_uid1 @@ -5033,6 +5066,26 @@ gaugeCategory = Knock knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knockSpectrumChannelCylGauge = m_knockSpectrumChannelCyl, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStartGauge = m_knockFrequencyStart, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStepGauge = m_knockFrequencyStep, "Knock Frequency Step", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFuelTrimMultiplier = m_knockFuelTrimMultiplier, "Knock Fuel Trim", "mult", 0, 0, 0, 0, 0, 30, 1, 1 + knockSpectrum1 = m_knockSpectrum1, "Knock Spectrum1", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum2 = m_knockSpectrum2, "knockSpectrum2", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum3 = m_knockSpectrum3, "knockSpectrum3", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum4 = m_knockSpectrum4, "knockSpectrum4", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum5 = m_knockSpectrum5, "knockSpectrum5", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum6 = m_knockSpectrum6, "knockSpectrum6", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum7 = m_knockSpectrum7, "knockSpectrum7", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum8 = m_knockSpectrum8, "knockSpectrum8", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum9 = m_knockSpectrum9, "knockSpectrum9", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum10 = m_knockSpectrum10, "knockSpectrum10", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum11 = m_knockSpectrum11, "knockSpectrum11", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum12 = m_knockSpectrum12, "knockSpectrum12", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum13 = m_knockSpectrum13, "knockSpectrum13", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum14 = m_knockSpectrum14, "knockSpectrum14", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum15 = m_knockSpectrum15, "knockSpectrum15", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum16 = m_knockSpectrum16, "knockSpectrum16", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -5631,6 +5684,26 @@ entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" entry = m_knockCount, "Knock: Count", int, "%d" entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_knockFrequency, "knock: frequency", int, "%d" +entry = m_knockSpectrum1, "Knock: SpectrumData 1", int, "%d" +entry = m_knockSpectrum2, "Knock: SpectrumData 2", int, "%d" +entry = m_knockSpectrum3, "Knock: SpectrumData 3", int, "%d" +entry = m_knockSpectrum4, "Knock: SpectrumData 4", int, "%d" +entry = m_knockSpectrum5, "Knock: SpectrumData 5", int, "%d" +entry = m_knockSpectrum6, "Knock: SpectrumData 6", int, "%d" +entry = m_knockSpectrum7, "Knock: SpectrumData 7", int, "%d" +entry = m_knockSpectrum8, "Knock: SpectrumData 8", int, "%d" +entry = m_knockSpectrum9, "Knock: SpectrumData 9", int, "%d" +entry = m_knockSpectrum10, "Knock: SpectrumData 10", int, "%d" +entry = m_knockSpectrum11, "Knock: SpectrumData 11", int, "%d" +entry = m_knockSpectrum12, "Knock: SpectrumData 12", int, "%d" +entry = m_knockSpectrum13, "Knock: SpectrumData 13", int, "%d" +entry = m_knockSpectrum14, "Knock: SpectrumData 14", int, "%d" +entry = m_knockSpectrum15, "Knock: SpectrumData 15", int, "%d" +entry = m_knockSpectrum16, "Knock: SpectrumData 16", int, "%d" +entry = m_knockSpectrumChannelCyl, "Knock: ChannelAndCylNumber", int, "%d" +entry = m_knockFrequencyStart, "Knock: Start Freq", int, "%d" +entry = m_knockFrequencyStep, "Knock: Step Freq", float, "%.3f" +entry = m_knockFuelTrimMultiplier, "Knock: Fuel trim when knock", float, "%.3f" entry = tcuCurrentGear, "TCU: Current Gear", int, "%d" entry = tcRatio, "TCU: Torque Converter Ratio", float, "%.3f" entry = lastShiftTime, "lastShiftTime", float, "%.3f" @@ -6527,6 +6600,31 @@ dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard graphLine = m_knockFrequency + graphLine = m_knockSpectrum1 + graphLine = m_knockSpectrum2 + liveGraph = knock_controller_6_Graph, "Graph", South + graphLine = m_knockSpectrum3 + graphLine = m_knockSpectrum4 + graphLine = m_knockSpectrum5 + graphLine = m_knockSpectrum6 + liveGraph = knock_controller_7_Graph, "Graph", South + graphLine = m_knockSpectrum7 + graphLine = m_knockSpectrum8 + graphLine = m_knockSpectrum9 + graphLine = m_knockSpectrum10 + liveGraph = knock_controller_8_Graph, "Graph", South + graphLine = m_knockSpectrum11 + graphLine = m_knockSpectrum12 + graphLine = m_knockSpectrum13 + graphLine = m_knockSpectrum14 + liveGraph = knock_controller_9_Graph, "Graph", South + graphLine = m_knockSpectrum15 + graphLine = m_knockSpectrum16 + graphLine = m_knockSpectrumChannelCyl + graphLine = m_knockFrequencyStart + liveGraph = knock_controller_10_Graph, "Graph", South + graphLine = m_knockFrequencyStep + graphLine = m_knockFuelTrimMultiplier indicatorPanel = tcu_controllerIndicatorPanel, 2 indicator = {isShifting}, "isShifting No", "isShifting Yes" @@ -8578,9 +8676,13 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockCfg, "Sense" field = "Enable", enableSoftwareKnock field = "Cylinder Bore", cylinderBore, {enableSoftwareKnock} + field = "Estimated Knock Frequency",knockFrequency, {enableSoftwareKnock} field = "Detection mode", knockDetectionUseDoubleFrequency field = "Detection Window Start",knockDetectionWindowStart, {enableSoftwareKnock} field = "Sampling Duration", knockSamplingDuration, {enableSoftwareKnock} + field = "Enable Knock Spectrogram", enableKnockSpectrogram, {enableSoftwareKnock} + field = "Enable Knock Spectrogram Filter", enableKnockSpectrogramFilter, {enableKnockSpectrogram} + field = "Knock Spectrum Sensitivity", knockSpectrumSensitivity, {enableKnockSpectrogram} field = "" field = "Select the nearest sensor for each cylinder" @@ -8600,6 +8702,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockResponseCfg, "Response" field = knockRetardAggression, knockRetardAggression field = knockRetardReapplyRate, knockRetardReapplyRate + field = knockFuelTrimAggression, knockFuelTrimAggression + field = knockFuelTrimReapplyRate, knockFuelTrimReapplyRate + field = knockFuelTrim, knockFuelTrim + field = knockSuppressMinTps, knockSuppressMinTps dialog = softwareKnockLeft, "" panel = softwareKnockCfg diff --git a/firmware/tunerstudio/generated/rusefi_hellen128.ini b/firmware/tunerstudio/generated/rusefi_hellen128.ini index 1ed9ed9dac..bd39d9f02b 100644 --- a/firmware/tunerstudio/generated/rusefi_hellen128.ini +++ b/firmware/tunerstudio/generated/rusefi_hellen128.ini @@ -38,12 +38,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.10.21.hellen128.1802760430" + signature = "rusEFI master.2024.10.21.hellen128.3076237841" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.10.21.hellen128.1802760430" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.10.21.hellen128.3076237841" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -774,6 +774,7 @@ devBit7 = bits, U32, 1492, [27:27], "false", "true" unusedSkipWasHere = bits, U32, 1492, [28:28], "false", "true" invertExhaustCamVVTSignal = bits, U32, 1492, [29:29], "Rising", "Falling" enableKnockSpectrogram = bits, U32, 1492, [30:30], "false", "true" +enableKnockSpectrogramFilter = bits, U32, 1492, [31:31], "false", "true" afterCrankingIACtaperDuration = scalar, S16, 1496, "cycles", 1, 0, 0, 5000, 0 iacByTpsTaper = scalar, S16, 1498, "percent", 1, 0, 0, 500, 0 unusedAuxSeria = bits, U16, 1500, [0:8], $gpio_list @@ -1394,7 +1395,13 @@ auxLinear4_v1 = scalar, F32, 3880, "volts", 1, 0, 0, 10, 2 auxLinear4_value1 = scalar, F32, 3884, "", 1, 0, -100000, 1000000, 2 auxLinear4_v2 = scalar, F32, 3888, "volts", 1, 0, 0, 10, 2 auxLinear4_value2 = scalar, F32, 3892, "", 1, 0, -100000, 1000000, 2 -unusedOftenChangesDuringFirmwareUpdate = array, U08, 3896, [128], "units", 1, 0, 0, 1, 0 +knockSuppressMinTps = scalar, U08, 3896, "%", 1, 0, 0, 100, 1 +knockFuelTrimAggression = scalar, U08, 3897, "%", 0.1, 0, 0, 20, 1 +knockFuelTrimReapplyRate = scalar, U08, 3898, "deg/s", 0.1, 0, 0, 10, 1 +knockFuelTrim = scalar, U08, 3899, "%", 1, 0, 0, 30, 1 +knockSpectrumSensitivity = scalar, F32, 3900, "sense", 1, 0, 0, 1, 2 +knockFrequency = scalar, F32, 3904, "Hz", 1, 0, 0, 20000, 2 +unusedOftenChangesDuringFirmwareUpdate = array, U08, 3908, [116], "units", 1, 0, 0, 1, 0 postCrankingFactor = array, F32, 4024, [6x6], "mult", 1, 0, 1, 3, 2 postCrankingDurationBins = array, F32, 4168, [6], "count", 1, 0, 0, 1000, 0 postCrankingCLTBins = array, S16, 4192, [6], "C", 1, 0, -100, 250, 0 @@ -2448,6 +2455,11 @@ minimumOilPressureValues = array, U08, 22960, [8], "kPa", 10.0, 0, 0, 1000, 0 minAcPressure = "value of A/C pressure in kPa before that compressor is disengaged" maxAcPressure = "value of A/C pressure in kPa after that compressor is disengaged" minimumOilPressureTimeout = "Delay before cutting fuel due to low oil pressure. Use this to ignore short pressure blips and sensor noise." + knockSuppressMinTps = "Below TPS value all knock suppression will be disabled." + knockFuelTrimAggression = "Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump)," + knockFuelTrimReapplyRate = "After a knock event, reapply fuel at this rate." + knockFuelTrim = "Fuel trim when knock, max 30%" + knockFrequency = "Estimated knock frequency, ignore cylinderBore if this one > 0" etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, open loop component of PID closed loop control" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2560,7 +2572,7 @@ minimumOilPressureValues = array, U08, 22960, [8], "kPa", 10.0, 0, 0, 1000, 0 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1752 + ochBlockSize = 1828 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3101,370 +3113,390 @@ m_knockThreshold = scalar, F32, 960, "", 1, 0 m_knockCount = scalar, U32, 964, "", 1, 0 m_maximumRetard = scalar, F32, 968, "", 1, 0 m_knockFrequency = scalar, U32, 972, "Hz", 1, 0 -; total TS size = 976 -tcuCurrentGear = scalar, S08, 976, "gear", 1, 0 -tcRatio = scalar, U16, 978, "value", 0.01, 0 -lastShiftTime = scalar, F32, 980, "", 1, 0 -tcu_currentRange = scalar, U08, 984, "", 1, 0 -pressureControlDuty = scalar, S08, 985, "%", 1,0 -torqueConverterDuty = scalar, S08, 986, "%", 1,0 -isShifting = bits, U32, 988, [0:0] -; total TS size = 992 -throttleUseWotModel = bits, U32, 992, [0:0] -throttleModelCrossoverAngle = scalar, S16, 996, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1000, "g/s", 1, 0 -; total TS size = 1004 -m_requested_pump = scalar, F32, 1004, "", 1, 0 -fuel_requested_percent = scalar, F32, 1008, "", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1012, "", 1, 0 -noValve = bits, U32, 1016, [0:0] -angleAboveMin = bits, U32, 1016, [1:1] -isHpfpInactive = bits, U32, 1016, [2:2] -m_pressureTarget_kPa = scalar, F32, 1020, "", 1, 0 -nextLobe = scalar, F32, 1024, "", 1, 0 -di_nextStart = scalar, F32, 1028, "v", 1, 0 -; total TS size = 1032 -m_deadtime = scalar, F32, 1032, "ms", 1, 0 -pressureDelta = scalar, F32, 1036, "kPa", 1, 0 -pressureRatio = scalar, F32, 1040, "", 1, 0 -; total TS size = 1044 -retardThresholdRpm = scalar, S32, 1044, "", 1, 0 -launchActivatePinState = bits, U32, 1048, [0:0] -isPreLaunchCondition = bits, U32, 1048, [1:1] -isLaunchCondition = bits, U32, 1048, [2:2] -isSwitchActivated = bits, U32, 1048, [3:3] -isClutchActivated = bits, U32, 1048, [4:4] -isBrakePedalActivated = bits, U32, 1048, [5:5] -isValidInputPin = bits, U32, 1048, [6:6] -activateSwitchCondition = bits, U32, 1048, [7:7] -rpmLaunchCondition = bits, U32, 1048, [8:8] -rpmPreLaunchCondition = bits, U32, 1048, [9:9] -speedCondition = bits, U32, 1048, [10:10] -tpsCondition = bits, U32, 1048, [11:11] +m_knockSpectrum1 = scalar, U32, 976, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 980, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 984, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 988, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1040, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1042, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1044, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1048, "multiplier", 1, 0 ; total TS size = 1052 -isTorqueReductionTriggerPinValid = bits, U32, 1052, [0:0] -torqueReductionTriggerPinState = bits, U32, 1052, [1:1] -isTimeConditionSatisfied = bits, U32, 1052, [2:2] -isRpmConditionSatisfied = bits, U32, 1052, [3:3] -isAppConditionSatisfied = bits, U32, 1052, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1052, [5:5] -; total TS size = 1056 -isAntilagCondition = bits, U32, 1056, [0:0] -ALSMinRPMCondition = bits, U32, 1056, [1:1] -ALSMaxRPMCondition = bits, U32, 1056, [2:2] -ALSMinCLTCondition = bits, U32, 1056, [3:3] -ALSMaxCLTCondition = bits, U32, 1056, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1056, [5:5] -isALSSwitchActivated = bits, U32, 1056, [6:6] -ALSActivatePinState = bits, U32, 1056, [7:7] -ALSSwitchCondition = bits, U32, 1056, [8:8] -ALSTimerCondition = bits, U32, 1056, [9:9] -fuelALSCorrection = scalar, F32, 1060, "", 1, 0 -timingALSCorrection = scalar, S16, 1064, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1066, "deg", 0.01, 0 +tcuCurrentGear = scalar, S08, 1052, "gear", 1, 0 +tcRatio = scalar, U16, 1054, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1056, "", 1, 0 +tcu_currentRange = scalar, U08, 1060, "", 1, 0 +pressureControlDuty = scalar, S08, 1061, "%", 1,0 +torqueConverterDuty = scalar, S08, 1062, "%", 1,0 +isShifting = bits, U32, 1064, [0:0] ; total TS size = 1068 -isTpsInvalid = bits, U32, 1068, [0:0] -m_shouldResetPid = bits, U32, 1068, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1068, [2:2] -isNotClosedLoop = bits, U32, 1068, [3:3] -isZeroRpm = bits, U32, 1068, [4:4] -hasInitBoost = bits, U32, 1068, [5:5] -rpmTooLow = bits, U32, 1068, [6:6] -tpsTooLow = bits, U32, 1068, [7:7] -mapTooLow = bits, U32, 1068, [8:8] -isPlantValid = bits, U32, 1068, [9:9] -isBoostControlled = bits, U32, 1068, [10:10] -luaTargetAdd = scalar, S16, 1072, "v", 0.5,0 -boostOutput = scalar, S16, 1074, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1076, "v", 1,0 -openLoopPart = scalar, F32, 1080, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1084, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1088, "%", 0.5,0 -boostControlTarget = scalar, S16, 1090, "kPa", 0.03333333333333333,0 -; total TS size = 1092 -acButtonState = scalar, S08, 1092, "", 1, 0 -m_acEnabled = bits, U32, 1096, [0:0] -engineTooSlow = bits, U32, 1096, [1:1] -engineTooFast = bits, U32, 1096, [2:2] -noClt = bits, U32, 1096, [3:3] -engineTooHot = bits, U32, 1096, [4:4] -tpsTooHigh = bits, U32, 1096, [5:5] -isDisabledByLua = bits, U32, 1096, [6:6] -acCompressorState = bits, U32, 1096, [7:7] -acPressureTooLow = bits, U32, 1096, [8:8] -acPressureTooHigh = bits, U32, 1096, [9:9] -; total TS size = 1100 -cranking0 = bits, U32, 1100, [0:0] -notRunning0 = bits, U32, 1100, [1:1] -disabledWhileEngineStopped0 = bits, U32, 1100, [2:2] -brokenClt0 = bits, U32, 1100, [3:3] -enabledForAc0 = bits, U32, 1100, [4:4] -hot0 = bits, U32, 1100, [5:5] -cold0 = bits, U32, 1100, [6:6] -disabledBySpeed0 = bits, U32, 1100, [7:7] -radiatorFanStatus0 = scalar, U08, 1104, "", 1, 0 +throttleUseWotModel = bits, U32, 1068, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1072, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1076, "g/s", 1, 0 +; total TS size = 1080 +m_requested_pump = scalar, F32, 1080, "", 1, 0 +fuel_requested_percent = scalar, F32, 1084, "", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1088, "", 1, 0 +noValve = bits, U32, 1092, [0:0] +angleAboveMin = bits, U32, 1092, [1:1] +isHpfpInactive = bits, U32, 1092, [2:2] +m_pressureTarget_kPa = scalar, F32, 1096, "", 1, 0 +nextLobe = scalar, F32, 1100, "", 1, 0 +di_nextStart = scalar, F32, 1104, "v", 1, 0 ; total TS size = 1108 -cranking1 = bits, U32, 1108, [0:0] -notRunning1 = bits, U32, 1108, [1:1] -disabledWhileEngineStopped1 = bits, U32, 1108, [2:2] -brokenClt1 = bits, U32, 1108, [3:3] -enabledForAc1 = bits, U32, 1108, [4:4] -hot1 = bits, U32, 1108, [5:5] -cold1 = bits, U32, 1108, [6:6] -disabledBySpeed1 = bits, U32, 1108, [7:7] -radiatorFanStatus1 = scalar, U08, 1112, "", 1, 0 -; total TS size = 1116 -isPrime = bits, U32, 1116, [0:0] -engineTurnedRecently = bits, U32, 1116, [1:1] -isFuelPumpOn = bits, U32, 1116, [2:2] -ignitionOn = bits, U32, 1116, [3:3] +m_deadtime = scalar, F32, 1108, "ms", 1, 0 +pressureDelta = scalar, F32, 1112, "kPa", 1, 0 +pressureRatio = scalar, F32, 1116, "", 1, 0 ; total TS size = 1120 -isBenchTest = bits, U32, 1120, [0:0] -hasIgnitionVoltage = bits, U32, 1120, [1:1] -mainRelayState = bits, U32, 1120, [2:2] -delayedShutoffRequested = bits, U32, 1120, [3:3] -; total TS size = 1124 -lua_fuelAdd = scalar, F32, 1124, "g", 1, 0 -lua_fuelMult = scalar, F32, 1128, "", 1, 0 -lua_clutchUpState = bits, U32, 1132, [0:0] -lua_brakePedalState = bits, U32, 1132, [1:1] -lua_acRequestState = bits, U32, 1132, [2:2] -lua_luaDisableEtb = bits, U32, 1132, [3:3] -lua_luaIgnCut = bits, U32, 1132, [4:4] -lua_luaFuelCut = bits, U32, 1132, [5:5] -lua_clutchDownState = bits, U32, 1132, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1132, [7:7] -sd_tCharge = scalar, S16, 1136, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1140, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1144, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1148, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1152, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1156, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1160, "", 1, 0 -hellenBoardId = scalar, S16, 1164, "id", 1, 0 -clutchUpState = scalar, S08, 1166, "", 1, 0 -clutchDownState = scalar, S08, 1167, "", 1, 0 -brakePedalState = scalar, S08, 1168, "", 1, 0 -startStopState = scalar, S08, 1169, "", 1, 0 -smartChipState = scalar, S08, 1170, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1171, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1172, "", 1, 0 -startStopPhysicalState = bits, U32, 1176, [0:0] -acrActive = bits, U32, 1176, [1:1] -acrEngineMovedRecently = bits, U32, 1176, [2:2] -heaterControlEnabled = bits, U32, 1176, [3:3] -luaDigitalState0 = bits, U32, 1176, [4:4] -luaDigitalState1 = bits, U32, 1176, [5:5] -luaDigitalState2 = bits, U32, 1176, [6:6] -luaDigitalState3 = bits, U32, 1176, [7:7] -startStopStateToggleCounter = scalar, U32, 1180, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1184, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1188, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1192, "", 1, 0 -desiredRpmLimit = scalar, S16, 1196, "rpm", 1, 0 -fuelInjectionCounter = scalar, U32, 1200, "", 1, 0 -globalSparkCounter = scalar, U32, 1204, "", 1, 0 -fuelingLoad = scalar, F32, 1208, "", 1, 0 -ignitionLoad = scalar, F32, 1212, "", 1, 0 -veTableYAxis = scalar, U16, 1216, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1218, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1219, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1220, "", 1, 0 -; total TS size = 1224 -tpsFrom = scalar, F32, 1224 -tpsTo = scalar, F32, 1228 -deltaTps = scalar, F32, 1232 -extraFuel = scalar, F32, 1236, "", 1, 0 -valueFromTable = scalar, F32, 1240, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1244, [0:0] -isBelowDecelThreshold = bits, U32, 1244, [1:1] -isTimeToResetAccumulator = bits, U32, 1244, [2:2] -isFractionalEnrichment = bits, U32, 1244, [3:3] -belowEpsilon = bits, U32, 1244, [4:4] -tooShort = bits, U32, 1244, [5:5] -fractionalInjFuel = scalar, F32, 1248, "", 1, 0 -accumulatedValue = scalar, F32, 1252, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1256, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1260, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1264, "", 1, 0 -cycleCnt = scalar, S32, 1268, "", 1, 0 -; total TS size = 1272 -hwEventCounters1 = scalar, U32, 1272, "", 1, 0 -hwEventCounters2 = scalar, U32, 1276, "", 1, 0 -hwEventCounters3 = scalar, U32, 1280, "", 1, 0 -hwEventCounters4 = scalar, U32, 1284, "", 1, 0 -hwEventCounters5 = scalar, U32, 1288, "", 1, 0 -hwEventCounters6 = scalar, U32, 1292, "", 1, 0 -vvtCamCounter = scalar, U32, 1296, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1300, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1304, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1308, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1309, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1312, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1316, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1320, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1324, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1328, [0:0] -triggerElapsedUs = scalar, U32, 1332, "", 1, 0 -; total TS size = 1336 -crankSynchronizationCounter0 = scalar, U32, 1336, "", 1, 0 -vvtSyncGapRatio0 = scalar, F32, 1340, "", 1, 0 -vvtToothDurations00 = scalar, U32, 1344, "us", 1, 0 -vvtCurrentPosition0 = scalar, F32, 1348, "sync: Primary Cam Position", 1, 0 -vvtToothPosition10 = scalar, F32, 1352, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition20 = scalar, F32, 1356, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition30 = scalar, F32, 1360, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition40 = scalar, F32, 1364, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio0 = scalar, F32, 1368, "", 1, 0 -triggerStateIndex0 = scalar, U08, 1372, "", 1, 0 -vvtStateIndex0 = scalar, U08, 1373, "", 1, 0 -; total TS size = 1376 -crankSynchronizationCounter1 = scalar, U32, 1376, "", 1, 0 -vvtSyncGapRatio1 = scalar, F32, 1380, "", 1, 0 -vvtToothDurations01 = scalar, U32, 1384, "us", 1, 0 -vvtCurrentPosition1 = scalar, F32, 1388, "sync: Primary Cam Position", 1, 0 -vvtToothPosition11 = scalar, F32, 1392, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition21 = scalar, F32, 1396, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition31 = scalar, F32, 1400, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition41 = scalar, F32, 1404, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio1 = scalar, F32, 1408, "", 1, 0 -triggerStateIndex1 = scalar, U08, 1412, "", 1, 0 -vvtStateIndex1 = scalar, U08, 1413, "", 1, 0 -; total TS size = 1416 -crankSynchronizationCounter2 = scalar, U32, 1416, "", 1, 0 -vvtSyncGapRatio2 = scalar, F32, 1420, "", 1, 0 -vvtToothDurations02 = scalar, U32, 1424, "us", 1, 0 -vvtCurrentPosition2 = scalar, F32, 1428, "sync: Primary Cam Position", 1, 0 -vvtToothPosition12 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition22 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition32 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition42 = scalar, F32, 1444, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio2 = scalar, F32, 1448, "", 1, 0 -triggerStateIndex2 = scalar, U08, 1452, "", 1, 0 -vvtStateIndex2 = scalar, U08, 1453, "", 1, 0 -; total TS size = 1456 -crankSynchronizationCounter3 = scalar, U32, 1456, "", 1, 0 -vvtSyncGapRatio3 = scalar, F32, 1460, "", 1, 0 -vvtToothDurations03 = scalar, U32, 1464, "us", 1, 0 -vvtCurrentPosition3 = scalar, F32, 1468, "sync: Primary Cam Position", 1, 0 -vvtToothPosition13 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition23 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition33 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition43 = scalar, F32, 1484, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio3 = scalar, F32, 1488, "", 1, 0 -triggerStateIndex3 = scalar, U08, 1492, "", 1, 0 -vvtStateIndex3 = scalar, U08, 1493, "", 1, 0 -; total TS size = 1496 -crankSynchronizationCounter4 = scalar, U32, 1496, "", 1, 0 -vvtSyncGapRatio4 = scalar, F32, 1500, "", 1, 0 -vvtToothDurations04 = scalar, U32, 1504, "us", 1, 0 -vvtCurrentPosition4 = scalar, F32, 1508, "sync: Primary Cam Position", 1, 0 -vvtToothPosition14 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition24 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition34 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition44 = scalar, F32, 1524, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio4 = scalar, F32, 1528, "", 1, 0 -triggerStateIndex4 = scalar, U08, 1532, "", 1, 0 -vvtStateIndex4 = scalar, U08, 1533, "", 1, 0 -; total TS size = 1536 -camResyncCounter = scalar, U08, 1536, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1540, [0:0] -; total TS size = 1544 -wallFuelCorrection = scalar, F32, 1544, "", 1, 0 -wallFuel = scalar, F32, 1548, "", 1, 0 -; total TS size = 1552 -idleState = bits, S32, 1552, [0:2], "not important" -currentIdlePosition = scalar, F32, 1556 -baseIdlePosition = scalar, F32, 1560 -idleClosedLoop = scalar, F32, 1564 -iacByTpsTaper = scalar, F32, 1568 -throttlePedalUpState = scalar, S32, 1572, "", 1, 0 -mightResetPid = bits, U32, 1576, [0:0] -shouldResetPid = bits, U32, 1576, [1:1] -wasResetPid = bits, U32, 1576, [2:2] -mustResetPid = bits, U32, 1576, [3:3] -isCranking = bits, U32, 1576, [4:4] -isIacTableForCoasting = bits, U32, 1576, [5:5] -notIdling = bits, U32, 1576, [6:6] -needReset = bits, U32, 1576, [7:7] -isInDeadZone = bits, U32, 1576, [8:8] -isBlipping = bits, U32, 1576, [9:9] -useClosedLoop = bits, U32, 1576, [10:10] -badTps = bits, U32, 1576, [11:11] -looksLikeRunning = bits, U32, 1576, [12:12] -looksLikeCoasting = bits, U32, 1576, [13:13] -looksLikeCrankToIdle = bits, U32, 1576, [14:14] -isIdleCoasting = bits, U32, 1576, [15:15] -isIdleClosedLoop = bits, U32, 1576, [16:16] -idleTarget = scalar, S32, 1580, "", 1, 0 -targetRpmByClt = scalar, S32, 1584, "", 1, 0 -targetRpmAc = scalar, S32, 1588, "", 1, 0 -iacByRpmTaper = scalar, F32, 1592 -luaAdd = scalar, F32, 1596 -; total TS size = 1600 -targetWithIdlePosition0 = scalar, F32, 1600, "per", 1,0 -trim0 = scalar, F32, 1604, "", 1, 0 -luaAdjustment0 = scalar, F32, 1608, "per", 1,0 -m_wastegatePosition0 = scalar, F32, 1612, "per", 1,0 -etbFeedForward0 = scalar, F32, 1616 -etbIntegralError0 = scalar, F32, 1620, "", 1, 0 -etbCurrentTarget0 = scalar, F32, 1624, "%", 1, 0 -etbCurrentAdjustedTarget0 = scalar, F32, 1628, "%", 1, 0 -etbRevLimitActive0 = bits, U32, 1632, [0:0] -jamDetected0 = bits, U32, 1632, [1:1] -etbTpsErrorCounter0 = scalar, U16, 1636, "count", 1,0 -etbPpsErrorCounter0 = scalar, U16, 1638, "count", 1,0 -etbErrorCode0 = scalar, S08, 1640, "", 1, 0 -tcEtbDrop0 = scalar, S08, 1641, "%", 1, 0 -jamTimer0 = scalar, U16, 1642, "sec", 0.01, 0 -adjustedEtbTarget0 = scalar, S08, 1644, "%", 1, 0 -; total TS size = 1648 -targetWithIdlePosition1 = scalar, F32, 1648, "per", 1,0 -trim1 = scalar, F32, 1652, "", 1, 0 -luaAdjustment1 = scalar, F32, 1656, "per", 1,0 -m_wastegatePosition1 = scalar, F32, 1660, "per", 1,0 -etbFeedForward1 = scalar, F32, 1664 -etbIntegralError1 = scalar, F32, 1668, "", 1, 0 -etbCurrentTarget1 = scalar, F32, 1672, "%", 1, 0 -etbCurrentAdjustedTarget1 = scalar, F32, 1676, "%", 1, 0 -etbRevLimitActive1 = bits, U32, 1680, [0:0] -jamDetected1 = bits, U32, 1680, [1:1] -etbTpsErrorCounter1 = scalar, U16, 1684, "count", 1,0 -etbPpsErrorCounter1 = scalar, U16, 1686, "count", 1,0 -etbErrorCode1 = scalar, S08, 1688, "", 1, 0 -tcEtbDrop1 = scalar, S08, 1689, "%", 1, 0 -jamTimer1 = scalar, U16, 1690, "sec", 0.01, 0 -adjustedEtbTarget1 = scalar, S08, 1692, "%", 1, 0 -; total TS size = 1696 -faultCode0 = scalar, U08, 1696, "", 1, 0 -heaterDuty0 = scalar, U08, 1697, "%", 1, 0 -pumpDuty0 = scalar, U08, 1698, "%", 1, 0 -tempC0 = scalar, U16, 1700, "C", 1, 0 -nernstVoltage0 = scalar, U16, 1702, "V", 0.001, 0 -esr0 = scalar, U16, 1704, "ohm", 1, 0 -; total TS size = 1708 -faultCode1 = scalar, U08, 1708, "", 1, 0 -heaterDuty1 = scalar, U08, 1709, "%", 1, 0 -pumpDuty1 = scalar, U08, 1710, "%", 1, 0 -tempC1 = scalar, U16, 1712, "C", 1, 0 -nernstVoltage1 = scalar, U16, 1714, "V", 0.001, 0 -esr1 = scalar, U16, 1716, "ohm", 1, 0 -; total TS size = 1720 -dcOutput0 = scalar, F32, 1720, "per", 1,0 -isEnabled0_int = scalar, U08, 1724, "per", 1,0 -isEnabled0 = bits, U32, 1728, [0:0] -; total TS size = 1732 -value0 = scalar, U16, 1732, "value", 1,0 -value1 = scalar, U16, 1734, "value", 1,0 -errorRate = scalar, F32, 1736, "ratio", 1,0 -; total TS size = 1740 -vvtTarget = scalar, U16, 1740, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1742, "%", 0.5, 0 -; total TS size = 1744 -lambdaCurrentlyGood = bits, U32, 1744, [0:0] -lambdaMonitorCut = bits, U32, 1744, [1:1] -lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 -; total TS size = 1752 +retardThresholdRpm = scalar, S32, 1120, "", 1, 0 +launchActivatePinState = bits, U32, 1124, [0:0] +isPreLaunchCondition = bits, U32, 1124, [1:1] +isLaunchCondition = bits, U32, 1124, [2:2] +isSwitchActivated = bits, U32, 1124, [3:3] +isClutchActivated = bits, U32, 1124, [4:4] +isBrakePedalActivated = bits, U32, 1124, [5:5] +isValidInputPin = bits, U32, 1124, [6:6] +activateSwitchCondition = bits, U32, 1124, [7:7] +rpmLaunchCondition = bits, U32, 1124, [8:8] +rpmPreLaunchCondition = bits, U32, 1124, [9:9] +speedCondition = bits, U32, 1124, [10:10] +tpsCondition = bits, U32, 1124, [11:11] +; total TS size = 1128 +isTorqueReductionTriggerPinValid = bits, U32, 1128, [0:0] +torqueReductionTriggerPinState = bits, U32, 1128, [1:1] +isTimeConditionSatisfied = bits, U32, 1128, [2:2] +isRpmConditionSatisfied = bits, U32, 1128, [3:3] +isAppConditionSatisfied = bits, U32, 1128, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1128, [5:5] +; total TS size = 1132 +isAntilagCondition = bits, U32, 1132, [0:0] +ALSMinRPMCondition = bits, U32, 1132, [1:1] +ALSMaxRPMCondition = bits, U32, 1132, [2:2] +ALSMinCLTCondition = bits, U32, 1132, [3:3] +ALSMaxCLTCondition = bits, U32, 1132, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1132, [5:5] +isALSSwitchActivated = bits, U32, 1132, [6:6] +ALSActivatePinState = bits, U32, 1132, [7:7] +ALSSwitchCondition = bits, U32, 1132, [8:8] +ALSTimerCondition = bits, U32, 1132, [9:9] +fuelALSCorrection = scalar, F32, 1136, "", 1, 0 +timingALSCorrection = scalar, S16, 1140, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1142, "deg", 0.01, 0 +; total TS size = 1144 +isTpsInvalid = bits, U32, 1144, [0:0] +m_shouldResetPid = bits, U32, 1144, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1144, [2:2] +isNotClosedLoop = bits, U32, 1144, [3:3] +isZeroRpm = bits, U32, 1144, [4:4] +hasInitBoost = bits, U32, 1144, [5:5] +rpmTooLow = bits, U32, 1144, [6:6] +tpsTooLow = bits, U32, 1144, [7:7] +mapTooLow = bits, U32, 1144, [8:8] +isPlantValid = bits, U32, 1144, [9:9] +isBoostControlled = bits, U32, 1144, [10:10] +luaTargetAdd = scalar, S16, 1148, "v", 0.5,0 +boostOutput = scalar, S16, 1150, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1152, "v", 1,0 +openLoopPart = scalar, F32, 1156, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1160, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1164, "%", 0.5,0 +boostControlTarget = scalar, S16, 1166, "kPa", 0.03333333333333333,0 +; total TS size = 1168 +acButtonState = scalar, S08, 1168, "", 1, 0 +m_acEnabled = bits, U32, 1172, [0:0] +engineTooSlow = bits, U32, 1172, [1:1] +engineTooFast = bits, U32, 1172, [2:2] +noClt = bits, U32, 1172, [3:3] +engineTooHot = bits, U32, 1172, [4:4] +tpsTooHigh = bits, U32, 1172, [5:5] +isDisabledByLua = bits, U32, 1172, [6:6] +acCompressorState = bits, U32, 1172, [7:7] +acPressureTooLow = bits, U32, 1172, [8:8] +acPressureTooHigh = bits, U32, 1172, [9:9] +; total TS size = 1176 +cranking0 = bits, U32, 1176, [0:0] +notRunning0 = bits, U32, 1176, [1:1] +disabledWhileEngineStopped0 = bits, U32, 1176, [2:2] +brokenClt0 = bits, U32, 1176, [3:3] +enabledForAc0 = bits, U32, 1176, [4:4] +hot0 = bits, U32, 1176, [5:5] +cold0 = bits, U32, 1176, [6:6] +disabledBySpeed0 = bits, U32, 1176, [7:7] +radiatorFanStatus0 = scalar, U08, 1180, "", 1, 0 +; total TS size = 1184 +cranking1 = bits, U32, 1184, [0:0] +notRunning1 = bits, U32, 1184, [1:1] +disabledWhileEngineStopped1 = bits, U32, 1184, [2:2] +brokenClt1 = bits, U32, 1184, [3:3] +enabledForAc1 = bits, U32, 1184, [4:4] +hot1 = bits, U32, 1184, [5:5] +cold1 = bits, U32, 1184, [6:6] +disabledBySpeed1 = bits, U32, 1184, [7:7] +radiatorFanStatus1 = scalar, U08, 1188, "", 1, 0 +; total TS size = 1192 +isPrime = bits, U32, 1192, [0:0] +engineTurnedRecently = bits, U32, 1192, [1:1] +isFuelPumpOn = bits, U32, 1192, [2:2] +ignitionOn = bits, U32, 1192, [3:3] +; total TS size = 1196 +isBenchTest = bits, U32, 1196, [0:0] +hasIgnitionVoltage = bits, U32, 1196, [1:1] +mainRelayState = bits, U32, 1196, [2:2] +delayedShutoffRequested = bits, U32, 1196, [3:3] +; total TS size = 1200 +lua_fuelAdd = scalar, F32, 1200, "g", 1, 0 +lua_fuelMult = scalar, F32, 1204, "", 1, 0 +lua_clutchUpState = bits, U32, 1208, [0:0] +lua_brakePedalState = bits, U32, 1208, [1:1] +lua_acRequestState = bits, U32, 1208, [2:2] +lua_luaDisableEtb = bits, U32, 1208, [3:3] +lua_luaIgnCut = bits, U32, 1208, [4:4] +lua_luaFuelCut = bits, U32, 1208, [5:5] +lua_clutchDownState = bits, U32, 1208, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1208, [7:7] +sd_tCharge = scalar, S16, 1212, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1216, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1220, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1224, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1228, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1232, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1236, "", 1, 0 +hellenBoardId = scalar, S16, 1240, "id", 1, 0 +clutchUpState = scalar, S08, 1242, "", 1, 0 +clutchDownState = scalar, S08, 1243, "", 1, 0 +brakePedalState = scalar, S08, 1244, "", 1, 0 +startStopState = scalar, S08, 1245, "", 1, 0 +smartChipState = scalar, S08, 1246, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1247, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1248, "", 1, 0 +startStopPhysicalState = bits, U32, 1252, [0:0] +acrActive = bits, U32, 1252, [1:1] +acrEngineMovedRecently = bits, U32, 1252, [2:2] +heaterControlEnabled = bits, U32, 1252, [3:3] +luaDigitalState0 = bits, U32, 1252, [4:4] +luaDigitalState1 = bits, U32, 1252, [5:5] +luaDigitalState2 = bits, U32, 1252, [6:6] +luaDigitalState3 = bits, U32, 1252, [7:7] +startStopStateToggleCounter = scalar, U32, 1256, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1260, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1264, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1268, "", 1, 0 +desiredRpmLimit = scalar, S16, 1272, "rpm", 1, 0 +fuelInjectionCounter = scalar, U32, 1276, "", 1, 0 +globalSparkCounter = scalar, U32, 1280, "", 1, 0 +fuelingLoad = scalar, F32, 1284, "", 1, 0 +ignitionLoad = scalar, F32, 1288, "", 1, 0 +veTableYAxis = scalar, U16, 1292, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1294, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1295, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1296, "", 1, 0 +; total TS size = 1300 +tpsFrom = scalar, F32, 1300 +tpsTo = scalar, F32, 1304 +deltaTps = scalar, F32, 1308 +extraFuel = scalar, F32, 1312, "", 1, 0 +valueFromTable = scalar, F32, 1316, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1320, [0:0] +isBelowDecelThreshold = bits, U32, 1320, [1:1] +isTimeToResetAccumulator = bits, U32, 1320, [2:2] +isFractionalEnrichment = bits, U32, 1320, [3:3] +belowEpsilon = bits, U32, 1320, [4:4] +tooShort = bits, U32, 1320, [5:5] +fractionalInjFuel = scalar, F32, 1324, "", 1, 0 +accumulatedValue = scalar, F32, 1328, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1332, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1336, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1340, "", 1, 0 +cycleCnt = scalar, S32, 1344, "", 1, 0 +; total TS size = 1348 +hwEventCounters1 = scalar, U32, 1348, "", 1, 0 +hwEventCounters2 = scalar, U32, 1352, "", 1, 0 +hwEventCounters3 = scalar, U32, 1356, "", 1, 0 +hwEventCounters4 = scalar, U32, 1360, "", 1, 0 +hwEventCounters5 = scalar, U32, 1364, "", 1, 0 +hwEventCounters6 = scalar, U32, 1368, "", 1, 0 +vvtCamCounter = scalar, U32, 1372, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1376, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1380, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1384, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1385, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1388, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1392, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1396, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1400, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1404, [0:0] +triggerElapsedUs = scalar, U32, 1408, "", 1, 0 +; total TS size = 1412 +crankSynchronizationCounter0 = scalar, U32, 1412, "", 1, 0 +vvtSyncGapRatio0 = scalar, F32, 1416, "", 1, 0 +vvtToothDurations00 = scalar, U32, 1420, "us", 1, 0 +vvtCurrentPosition0 = scalar, F32, 1424, "sync: Primary Cam Position", 1, 0 +vvtToothPosition10 = scalar, F32, 1428, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition20 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition30 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition40 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio0 = scalar, F32, 1444, "", 1, 0 +triggerStateIndex0 = scalar, U08, 1448, "", 1, 0 +vvtStateIndex0 = scalar, U08, 1449, "", 1, 0 +; total TS size = 1452 +crankSynchronizationCounter1 = scalar, U32, 1452, "", 1, 0 +vvtSyncGapRatio1 = scalar, F32, 1456, "", 1, 0 +vvtToothDurations01 = scalar, U32, 1460, "us", 1, 0 +vvtCurrentPosition1 = scalar, F32, 1464, "sync: Primary Cam Position", 1, 0 +vvtToothPosition11 = scalar, F32, 1468, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition21 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition31 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition41 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio1 = scalar, F32, 1484, "", 1, 0 +triggerStateIndex1 = scalar, U08, 1488, "", 1, 0 +vvtStateIndex1 = scalar, U08, 1489, "", 1, 0 +; total TS size = 1492 +crankSynchronizationCounter2 = scalar, U32, 1492, "", 1, 0 +vvtSyncGapRatio2 = scalar, F32, 1496, "", 1, 0 +vvtToothDurations02 = scalar, U32, 1500, "us", 1, 0 +vvtCurrentPosition2 = scalar, F32, 1504, "sync: Primary Cam Position", 1, 0 +vvtToothPosition12 = scalar, F32, 1508, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition22 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition32 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition42 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio2 = scalar, F32, 1524, "", 1, 0 +triggerStateIndex2 = scalar, U08, 1528, "", 1, 0 +vvtStateIndex2 = scalar, U08, 1529, "", 1, 0 +; total TS size = 1532 +crankSynchronizationCounter3 = scalar, U32, 1532, "", 1, 0 +vvtSyncGapRatio3 = scalar, F32, 1536, "", 1, 0 +vvtToothDurations03 = scalar, U32, 1540, "us", 1, 0 +vvtCurrentPosition3 = scalar, F32, 1544, "sync: Primary Cam Position", 1, 0 +vvtToothPosition13 = scalar, F32, 1548, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition23 = scalar, F32, 1552, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition33 = scalar, F32, 1556, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition43 = scalar, F32, 1560, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio3 = scalar, F32, 1564, "", 1, 0 +triggerStateIndex3 = scalar, U08, 1568, "", 1, 0 +vvtStateIndex3 = scalar, U08, 1569, "", 1, 0 +; total TS size = 1572 +crankSynchronizationCounter4 = scalar, U32, 1572, "", 1, 0 +vvtSyncGapRatio4 = scalar, F32, 1576, "", 1, 0 +vvtToothDurations04 = scalar, U32, 1580, "us", 1, 0 +vvtCurrentPosition4 = scalar, F32, 1584, "sync: Primary Cam Position", 1, 0 +vvtToothPosition14 = scalar, F32, 1588, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition24 = scalar, F32, 1592, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition34 = scalar, F32, 1596, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition44 = scalar, F32, 1600, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio4 = scalar, F32, 1604, "", 1, 0 +triggerStateIndex4 = scalar, U08, 1608, "", 1, 0 +vvtStateIndex4 = scalar, U08, 1609, "", 1, 0 +; total TS size = 1612 +camResyncCounter = scalar, U08, 1612, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1616, [0:0] +; total TS size = 1620 +wallFuelCorrection = scalar, F32, 1620, "", 1, 0 +wallFuel = scalar, F32, 1624, "", 1, 0 +; total TS size = 1628 +idleState = bits, S32, 1628, [0:2], "not important" +currentIdlePosition = scalar, F32, 1632 +baseIdlePosition = scalar, F32, 1636 +idleClosedLoop = scalar, F32, 1640 +iacByTpsTaper = scalar, F32, 1644 +throttlePedalUpState = scalar, S32, 1648, "", 1, 0 +mightResetPid = bits, U32, 1652, [0:0] +shouldResetPid = bits, U32, 1652, [1:1] +wasResetPid = bits, U32, 1652, [2:2] +mustResetPid = bits, U32, 1652, [3:3] +isCranking = bits, U32, 1652, [4:4] +isIacTableForCoasting = bits, U32, 1652, [5:5] +notIdling = bits, U32, 1652, [6:6] +needReset = bits, U32, 1652, [7:7] +isInDeadZone = bits, U32, 1652, [8:8] +isBlipping = bits, U32, 1652, [9:9] +useClosedLoop = bits, U32, 1652, [10:10] +badTps = bits, U32, 1652, [11:11] +looksLikeRunning = bits, U32, 1652, [12:12] +looksLikeCoasting = bits, U32, 1652, [13:13] +looksLikeCrankToIdle = bits, U32, 1652, [14:14] +isIdleCoasting = bits, U32, 1652, [15:15] +isIdleClosedLoop = bits, U32, 1652, [16:16] +idleTarget = scalar, S32, 1656, "", 1, 0 +targetRpmByClt = scalar, S32, 1660, "", 1, 0 +targetRpmAc = scalar, S32, 1664, "", 1, 0 +iacByRpmTaper = scalar, F32, 1668 +luaAdd = scalar, F32, 1672 +; total TS size = 1676 +targetWithIdlePosition0 = scalar, F32, 1676, "per", 1,0 +trim0 = scalar, F32, 1680, "", 1, 0 +luaAdjustment0 = scalar, F32, 1684, "per", 1,0 +m_wastegatePosition0 = scalar, F32, 1688, "per", 1,0 +etbFeedForward0 = scalar, F32, 1692 +etbIntegralError0 = scalar, F32, 1696, "", 1, 0 +etbCurrentTarget0 = scalar, F32, 1700, "%", 1, 0 +etbCurrentAdjustedTarget0 = scalar, F32, 1704, "%", 1, 0 +etbRevLimitActive0 = bits, U32, 1708, [0:0] +jamDetected0 = bits, U32, 1708, [1:1] +etbTpsErrorCounter0 = scalar, U16, 1712, "count", 1,0 +etbPpsErrorCounter0 = scalar, U16, 1714, "count", 1,0 +etbErrorCode0 = scalar, S08, 1716, "", 1, 0 +tcEtbDrop0 = scalar, S08, 1717, "%", 1, 0 +jamTimer0 = scalar, U16, 1718, "sec", 0.01, 0 +adjustedEtbTarget0 = scalar, S08, 1720, "%", 1, 0 +; total TS size = 1724 +targetWithIdlePosition1 = scalar, F32, 1724, "per", 1,0 +trim1 = scalar, F32, 1728, "", 1, 0 +luaAdjustment1 = scalar, F32, 1732, "per", 1,0 +m_wastegatePosition1 = scalar, F32, 1736, "per", 1,0 +etbFeedForward1 = scalar, F32, 1740 +etbIntegralError1 = scalar, F32, 1744, "", 1, 0 +etbCurrentTarget1 = scalar, F32, 1748, "%", 1, 0 +etbCurrentAdjustedTarget1 = scalar, F32, 1752, "%", 1, 0 +etbRevLimitActive1 = bits, U32, 1756, [0:0] +jamDetected1 = bits, U32, 1756, [1:1] +etbTpsErrorCounter1 = scalar, U16, 1760, "count", 1,0 +etbPpsErrorCounter1 = scalar, U16, 1762, "count", 1,0 +etbErrorCode1 = scalar, S08, 1764, "", 1, 0 +tcEtbDrop1 = scalar, S08, 1765, "%", 1, 0 +jamTimer1 = scalar, U16, 1766, "sec", 0.01, 0 +adjustedEtbTarget1 = scalar, S08, 1768, "%", 1, 0 +; total TS size = 1772 +faultCode0 = scalar, U08, 1772, "", 1, 0 +heaterDuty0 = scalar, U08, 1773, "%", 1, 0 +pumpDuty0 = scalar, U08, 1774, "%", 1, 0 +tempC0 = scalar, U16, 1776, "C", 1, 0 +nernstVoltage0 = scalar, U16, 1778, "V", 0.001, 0 +esr0 = scalar, U16, 1780, "ohm", 1, 0 +; total TS size = 1784 +faultCode1 = scalar, U08, 1784, "", 1, 0 +heaterDuty1 = scalar, U08, 1785, "%", 1, 0 +pumpDuty1 = scalar, U08, 1786, "%", 1, 0 +tempC1 = scalar, U16, 1788, "C", 1, 0 +nernstVoltage1 = scalar, U16, 1790, "V", 0.001, 0 +esr1 = scalar, U16, 1792, "ohm", 1, 0 +; total TS size = 1796 +dcOutput0 = scalar, F32, 1796, "per", 1,0 +isEnabled0_int = scalar, U08, 1800, "per", 1,0 +isEnabled0 = bits, U32, 1804, [0:0] +; total TS size = 1808 +value0 = scalar, U16, 1808, "value", 1,0 +value1 = scalar, U16, 1810, "value", 1,0 +errorRate = scalar, F32, 1812, "ratio", 1,0 +; total TS size = 1816 +vvtTarget = scalar, U16, 1816, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1818, "%", 0.5, 0 +; total TS size = 1820 +lambdaCurrentlyGood = bits, U32, 1820, [0:0] +lambdaMonitorCut = bits, U32, 1820, [1:1] +lambdaTimeSinceGood = scalar, U16, 1824, "sec", 0.01, 0 +; total TS size = 1828 time = { timeNow } @@ -3616,6 +3648,7 @@ lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs8 requiresPowerCycle = cylinderBore + requiresPowerCycle = knockFrequency readOnly = warning_message readOnly = device_uid1 @@ -5033,6 +5066,26 @@ gaugeCategory = Knock knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knockSpectrumChannelCylGauge = m_knockSpectrumChannelCyl, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStartGauge = m_knockFrequencyStart, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStepGauge = m_knockFrequencyStep, "Knock Frequency Step", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFuelTrimMultiplier = m_knockFuelTrimMultiplier, "Knock Fuel Trim", "mult", 0, 0, 0, 0, 0, 30, 1, 1 + knockSpectrum1 = m_knockSpectrum1, "Knock Spectrum1", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum2 = m_knockSpectrum2, "knockSpectrum2", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum3 = m_knockSpectrum3, "knockSpectrum3", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum4 = m_knockSpectrum4, "knockSpectrum4", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum5 = m_knockSpectrum5, "knockSpectrum5", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum6 = m_knockSpectrum6, "knockSpectrum6", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum7 = m_knockSpectrum7, "knockSpectrum7", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum8 = m_knockSpectrum8, "knockSpectrum8", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum9 = m_knockSpectrum9, "knockSpectrum9", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum10 = m_knockSpectrum10, "knockSpectrum10", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum11 = m_knockSpectrum11, "knockSpectrum11", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum12 = m_knockSpectrum12, "knockSpectrum12", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum13 = m_knockSpectrum13, "knockSpectrum13", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum14 = m_knockSpectrum14, "knockSpectrum14", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum15 = m_knockSpectrum15, "knockSpectrum15", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum16 = m_knockSpectrum16, "knockSpectrum16", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -5631,6 +5684,26 @@ entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" entry = m_knockCount, "Knock: Count", int, "%d" entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_knockFrequency, "knock: frequency", int, "%d" +entry = m_knockSpectrum1, "Knock: SpectrumData 1", int, "%d" +entry = m_knockSpectrum2, "Knock: SpectrumData 2", int, "%d" +entry = m_knockSpectrum3, "Knock: SpectrumData 3", int, "%d" +entry = m_knockSpectrum4, "Knock: SpectrumData 4", int, "%d" +entry = m_knockSpectrum5, "Knock: SpectrumData 5", int, "%d" +entry = m_knockSpectrum6, "Knock: SpectrumData 6", int, "%d" +entry = m_knockSpectrum7, "Knock: SpectrumData 7", int, "%d" +entry = m_knockSpectrum8, "Knock: SpectrumData 8", int, "%d" +entry = m_knockSpectrum9, "Knock: SpectrumData 9", int, "%d" +entry = m_knockSpectrum10, "Knock: SpectrumData 10", int, "%d" +entry = m_knockSpectrum11, "Knock: SpectrumData 11", int, "%d" +entry = m_knockSpectrum12, "Knock: SpectrumData 12", int, "%d" +entry = m_knockSpectrum13, "Knock: SpectrumData 13", int, "%d" +entry = m_knockSpectrum14, "Knock: SpectrumData 14", int, "%d" +entry = m_knockSpectrum15, "Knock: SpectrumData 15", int, "%d" +entry = m_knockSpectrum16, "Knock: SpectrumData 16", int, "%d" +entry = m_knockSpectrumChannelCyl, "Knock: ChannelAndCylNumber", int, "%d" +entry = m_knockFrequencyStart, "Knock: Start Freq", int, "%d" +entry = m_knockFrequencyStep, "Knock: Step Freq", float, "%.3f" +entry = m_knockFuelTrimMultiplier, "Knock: Fuel trim when knock", float, "%.3f" entry = tcuCurrentGear, "TCU: Current Gear", int, "%d" entry = tcRatio, "TCU: Torque Converter Ratio", float, "%.3f" entry = lastShiftTime, "lastShiftTime", float, "%.3f" @@ -6528,6 +6601,31 @@ dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard graphLine = m_knockFrequency + graphLine = m_knockSpectrum1 + graphLine = m_knockSpectrum2 + liveGraph = knock_controller_6_Graph, "Graph", South + graphLine = m_knockSpectrum3 + graphLine = m_knockSpectrum4 + graphLine = m_knockSpectrum5 + graphLine = m_knockSpectrum6 + liveGraph = knock_controller_7_Graph, "Graph", South + graphLine = m_knockSpectrum7 + graphLine = m_knockSpectrum8 + graphLine = m_knockSpectrum9 + graphLine = m_knockSpectrum10 + liveGraph = knock_controller_8_Graph, "Graph", South + graphLine = m_knockSpectrum11 + graphLine = m_knockSpectrum12 + graphLine = m_knockSpectrum13 + graphLine = m_knockSpectrum14 + liveGraph = knock_controller_9_Graph, "Graph", South + graphLine = m_knockSpectrum15 + graphLine = m_knockSpectrum16 + graphLine = m_knockSpectrumChannelCyl + graphLine = m_knockFrequencyStart + liveGraph = knock_controller_10_Graph, "Graph", South + graphLine = m_knockFrequencyStep + graphLine = m_knockFuelTrimMultiplier indicatorPanel = tcu_controllerIndicatorPanel, 2 indicator = {isShifting}, "isShifting No", "isShifting Yes" @@ -8585,9 +8683,13 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockCfg, "Sense" field = "Enable", enableSoftwareKnock field = "Cylinder Bore", cylinderBore, {enableSoftwareKnock} + field = "Estimated Knock Frequency",knockFrequency, {enableSoftwareKnock} field = "Detection mode", knockDetectionUseDoubleFrequency field = "Detection Window Start",knockDetectionWindowStart, {enableSoftwareKnock} field = "Sampling Duration", knockSamplingDuration, {enableSoftwareKnock} + field = "Enable Knock Spectrogram", enableKnockSpectrogram, {enableSoftwareKnock} + field = "Enable Knock Spectrogram Filter", enableKnockSpectrogramFilter, {enableKnockSpectrogram} + field = "Knock Spectrum Sensitivity", knockSpectrumSensitivity, {enableKnockSpectrogram} field = "" field = "Select the nearest sensor for each cylinder" @@ -8607,6 +8709,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockResponseCfg, "Response" field = knockRetardAggression, knockRetardAggression field = knockRetardReapplyRate, knockRetardReapplyRate + field = knockFuelTrimAggression, knockFuelTrimAggression + field = knockFuelTrimReapplyRate, knockFuelTrimReapplyRate + field = knockFuelTrim, knockFuelTrim + field = knockSuppressMinTps, knockSuppressMinTps dialog = softwareKnockLeft, "" panel = softwareKnockCfg diff --git a/firmware/tunerstudio/generated/rusefi_hellen154hyundai.ini b/firmware/tunerstudio/generated/rusefi_hellen154hyundai.ini index fd52d8fd64..3a2fa8199b 100644 --- a/firmware/tunerstudio/generated/rusefi_hellen154hyundai.ini +++ b/firmware/tunerstudio/generated/rusefi_hellen154hyundai.ini @@ -38,12 +38,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.10.21.hellen154hyundai.2696209283" + signature = "rusEFI master.2024.10.21.hellen154hyundai.2090645884" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.10.21.hellen154hyundai.2696209283" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.10.21.hellen154hyundai.2090645884" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -774,6 +774,7 @@ devBit7 = bits, U32, 1492, [27:27], "false", "true" unusedSkipWasHere = bits, U32, 1492, [28:28], "false", "true" invertExhaustCamVVTSignal = bits, U32, 1492, [29:29], "Rising", "Falling" enableKnockSpectrogram = bits, U32, 1492, [30:30], "false", "true" +enableKnockSpectrogramFilter = bits, U32, 1492, [31:31], "false", "true" afterCrankingIACtaperDuration = scalar, S16, 1496, "cycles", 1, 0, 0, 5000, 0 iacByTpsTaper = scalar, S16, 1498, "percent", 1, 0, 0, 500, 0 unusedAuxSeria = bits, U16, 1500, [0:8], $gpio_list @@ -1394,7 +1395,13 @@ auxLinear4_v1 = scalar, F32, 3880, "volts", 1, 0, 0, 10, 2 auxLinear4_value1 = scalar, F32, 3884, "", 1, 0, -100000, 1000000, 2 auxLinear4_v2 = scalar, F32, 3888, "volts", 1, 0, 0, 10, 2 auxLinear4_value2 = scalar, F32, 3892, "", 1, 0, -100000, 1000000, 2 -unusedOftenChangesDuringFirmwareUpdate = array, U08, 3896, [128], "units", 1, 0, 0, 1, 0 +knockSuppressMinTps = scalar, U08, 3896, "%", 1, 0, 0, 100, 1 +knockFuelTrimAggression = scalar, U08, 3897, "%", 0.1, 0, 0, 20, 1 +knockFuelTrimReapplyRate = scalar, U08, 3898, "deg/s", 0.1, 0, 0, 10, 1 +knockFuelTrim = scalar, U08, 3899, "%", 1, 0, 0, 30, 1 +knockSpectrumSensitivity = scalar, F32, 3900, "sense", 1, 0, 0, 1, 2 +knockFrequency = scalar, F32, 3904, "Hz", 1, 0, 0, 20000, 2 +unusedOftenChangesDuringFirmwareUpdate = array, U08, 3908, [116], "units", 1, 0, 0, 1, 0 postCrankingFactor = array, F32, 4024, [6x6], "mult", 1, 0, 1, 3, 2 postCrankingDurationBins = array, F32, 4168, [6], "count", 1, 0, 0, 1000, 0 postCrankingCLTBins = array, S16, 4192, [6], "C", 1, 0, -100, 125, 0 @@ -2448,6 +2455,11 @@ minimumOilPressureValues = array, U08, 22960, [8], "kPa", 10.0, 0, 0, 1000, 0 minAcPressure = "value of A/C pressure in kPa before that compressor is disengaged" maxAcPressure = "value of A/C pressure in kPa after that compressor is disengaged" minimumOilPressureTimeout = "Delay before cutting fuel due to low oil pressure. Use this to ignore short pressure blips and sensor noise." + knockSuppressMinTps = "Below TPS value all knock suppression will be disabled." + knockFuelTrimAggression = "Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump)," + knockFuelTrimReapplyRate = "After a knock event, reapply fuel at this rate." + knockFuelTrim = "Fuel trim when knock, max 30%" + knockFrequency = "Estimated knock frequency, ignore cylinderBore if this one > 0" etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, open loop component of PID closed loop control" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2560,7 +2572,7 @@ minimumOilPressureValues = array, U08, 22960, [8], "kPa", 10.0, 0, 0, 1000, 0 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1752 + ochBlockSize = 1828 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3101,370 +3113,390 @@ m_knockThreshold = scalar, F32, 960, "", 1, 0 m_knockCount = scalar, U32, 964, "", 1, 0 m_maximumRetard = scalar, F32, 968, "", 1, 0 m_knockFrequency = scalar, U32, 972, "Hz", 1, 0 -; total TS size = 976 -tcuCurrentGear = scalar, S08, 976, "gear", 1, 0 -tcRatio = scalar, U16, 978, "value", 0.01, 0 -lastShiftTime = scalar, F32, 980, "", 1, 0 -tcu_currentRange = scalar, U08, 984, "", 1, 0 -pressureControlDuty = scalar, S08, 985, "%", 1,0 -torqueConverterDuty = scalar, S08, 986, "%", 1,0 -isShifting = bits, U32, 988, [0:0] -; total TS size = 992 -throttleUseWotModel = bits, U32, 992, [0:0] -throttleModelCrossoverAngle = scalar, S16, 996, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1000, "g/s", 1, 0 -; total TS size = 1004 -m_requested_pump = scalar, F32, 1004, "", 1, 0 -fuel_requested_percent = scalar, F32, 1008, "", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1012, "", 1, 0 -noValve = bits, U32, 1016, [0:0] -angleAboveMin = bits, U32, 1016, [1:1] -isHpfpInactive = bits, U32, 1016, [2:2] -m_pressureTarget_kPa = scalar, F32, 1020, "", 1, 0 -nextLobe = scalar, F32, 1024, "", 1, 0 -di_nextStart = scalar, F32, 1028, "v", 1, 0 -; total TS size = 1032 -m_deadtime = scalar, F32, 1032, "ms", 1, 0 -pressureDelta = scalar, F32, 1036, "kPa", 1, 0 -pressureRatio = scalar, F32, 1040, "", 1, 0 -; total TS size = 1044 -retardThresholdRpm = scalar, S32, 1044, "", 1, 0 -launchActivatePinState = bits, U32, 1048, [0:0] -isPreLaunchCondition = bits, U32, 1048, [1:1] -isLaunchCondition = bits, U32, 1048, [2:2] -isSwitchActivated = bits, U32, 1048, [3:3] -isClutchActivated = bits, U32, 1048, [4:4] -isBrakePedalActivated = bits, U32, 1048, [5:5] -isValidInputPin = bits, U32, 1048, [6:6] -activateSwitchCondition = bits, U32, 1048, [7:7] -rpmLaunchCondition = bits, U32, 1048, [8:8] -rpmPreLaunchCondition = bits, U32, 1048, [9:9] -speedCondition = bits, U32, 1048, [10:10] -tpsCondition = bits, U32, 1048, [11:11] +m_knockSpectrum1 = scalar, U32, 976, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 980, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 984, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 988, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1040, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1042, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1044, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1048, "multiplier", 1, 0 ; total TS size = 1052 -isTorqueReductionTriggerPinValid = bits, U32, 1052, [0:0] -torqueReductionTriggerPinState = bits, U32, 1052, [1:1] -isTimeConditionSatisfied = bits, U32, 1052, [2:2] -isRpmConditionSatisfied = bits, U32, 1052, [3:3] -isAppConditionSatisfied = bits, U32, 1052, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1052, [5:5] -; total TS size = 1056 -isAntilagCondition = bits, U32, 1056, [0:0] -ALSMinRPMCondition = bits, U32, 1056, [1:1] -ALSMaxRPMCondition = bits, U32, 1056, [2:2] -ALSMinCLTCondition = bits, U32, 1056, [3:3] -ALSMaxCLTCondition = bits, U32, 1056, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1056, [5:5] -isALSSwitchActivated = bits, U32, 1056, [6:6] -ALSActivatePinState = bits, U32, 1056, [7:7] -ALSSwitchCondition = bits, U32, 1056, [8:8] -ALSTimerCondition = bits, U32, 1056, [9:9] -fuelALSCorrection = scalar, F32, 1060, "", 1, 0 -timingALSCorrection = scalar, S16, 1064, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1066, "deg", 0.01, 0 +tcuCurrentGear = scalar, S08, 1052, "gear", 1, 0 +tcRatio = scalar, U16, 1054, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1056, "", 1, 0 +tcu_currentRange = scalar, U08, 1060, "", 1, 0 +pressureControlDuty = scalar, S08, 1061, "%", 1,0 +torqueConverterDuty = scalar, S08, 1062, "%", 1,0 +isShifting = bits, U32, 1064, [0:0] ; total TS size = 1068 -isTpsInvalid = bits, U32, 1068, [0:0] -m_shouldResetPid = bits, U32, 1068, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1068, [2:2] -isNotClosedLoop = bits, U32, 1068, [3:3] -isZeroRpm = bits, U32, 1068, [4:4] -hasInitBoost = bits, U32, 1068, [5:5] -rpmTooLow = bits, U32, 1068, [6:6] -tpsTooLow = bits, U32, 1068, [7:7] -mapTooLow = bits, U32, 1068, [8:8] -isPlantValid = bits, U32, 1068, [9:9] -isBoostControlled = bits, U32, 1068, [10:10] -luaTargetAdd = scalar, S16, 1072, "v", 0.5,0 -boostOutput = scalar, S16, 1074, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1076, "v", 1,0 -openLoopPart = scalar, F32, 1080, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1084, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1088, "%", 0.5,0 -boostControlTarget = scalar, S16, 1090, "kPa", 0.03333333333333333,0 -; total TS size = 1092 -acButtonState = scalar, S08, 1092, "", 1, 0 -m_acEnabled = bits, U32, 1096, [0:0] -engineTooSlow = bits, U32, 1096, [1:1] -engineTooFast = bits, U32, 1096, [2:2] -noClt = bits, U32, 1096, [3:3] -engineTooHot = bits, U32, 1096, [4:4] -tpsTooHigh = bits, U32, 1096, [5:5] -isDisabledByLua = bits, U32, 1096, [6:6] -acCompressorState = bits, U32, 1096, [7:7] -acPressureTooLow = bits, U32, 1096, [8:8] -acPressureTooHigh = bits, U32, 1096, [9:9] -; total TS size = 1100 -cranking0 = bits, U32, 1100, [0:0] -notRunning0 = bits, U32, 1100, [1:1] -disabledWhileEngineStopped0 = bits, U32, 1100, [2:2] -brokenClt0 = bits, U32, 1100, [3:3] -enabledForAc0 = bits, U32, 1100, [4:4] -hot0 = bits, U32, 1100, [5:5] -cold0 = bits, U32, 1100, [6:6] -disabledBySpeed0 = bits, U32, 1100, [7:7] -radiatorFanStatus0 = scalar, U08, 1104, "", 1, 0 +throttleUseWotModel = bits, U32, 1068, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1072, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1076, "g/s", 1, 0 +; total TS size = 1080 +m_requested_pump = scalar, F32, 1080, "", 1, 0 +fuel_requested_percent = scalar, F32, 1084, "", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1088, "", 1, 0 +noValve = bits, U32, 1092, [0:0] +angleAboveMin = bits, U32, 1092, [1:1] +isHpfpInactive = bits, U32, 1092, [2:2] +m_pressureTarget_kPa = scalar, F32, 1096, "", 1, 0 +nextLobe = scalar, F32, 1100, "", 1, 0 +di_nextStart = scalar, F32, 1104, "v", 1, 0 ; total TS size = 1108 -cranking1 = bits, U32, 1108, [0:0] -notRunning1 = bits, U32, 1108, [1:1] -disabledWhileEngineStopped1 = bits, U32, 1108, [2:2] -brokenClt1 = bits, U32, 1108, [3:3] -enabledForAc1 = bits, U32, 1108, [4:4] -hot1 = bits, U32, 1108, [5:5] -cold1 = bits, U32, 1108, [6:6] -disabledBySpeed1 = bits, U32, 1108, [7:7] -radiatorFanStatus1 = scalar, U08, 1112, "", 1, 0 -; total TS size = 1116 -isPrime = bits, U32, 1116, [0:0] -engineTurnedRecently = bits, U32, 1116, [1:1] -isFuelPumpOn = bits, U32, 1116, [2:2] -ignitionOn = bits, U32, 1116, [3:3] +m_deadtime = scalar, F32, 1108, "ms", 1, 0 +pressureDelta = scalar, F32, 1112, "kPa", 1, 0 +pressureRatio = scalar, F32, 1116, "", 1, 0 ; total TS size = 1120 -isBenchTest = bits, U32, 1120, [0:0] -hasIgnitionVoltage = bits, U32, 1120, [1:1] -mainRelayState = bits, U32, 1120, [2:2] -delayedShutoffRequested = bits, U32, 1120, [3:3] -; total TS size = 1124 -lua_fuelAdd = scalar, F32, 1124, "g", 1, 0 -lua_fuelMult = scalar, F32, 1128, "", 1, 0 -lua_clutchUpState = bits, U32, 1132, [0:0] -lua_brakePedalState = bits, U32, 1132, [1:1] -lua_acRequestState = bits, U32, 1132, [2:2] -lua_luaDisableEtb = bits, U32, 1132, [3:3] -lua_luaIgnCut = bits, U32, 1132, [4:4] -lua_luaFuelCut = bits, U32, 1132, [5:5] -lua_clutchDownState = bits, U32, 1132, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1132, [7:7] -sd_tCharge = scalar, S16, 1136, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1140, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1144, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1148, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1152, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1156, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1160, "", 1, 0 -hellenBoardId = scalar, S16, 1164, "id", 1, 0 -clutchUpState = scalar, S08, 1166, "", 1, 0 -clutchDownState = scalar, S08, 1167, "", 1, 0 -brakePedalState = scalar, S08, 1168, "", 1, 0 -startStopState = scalar, S08, 1169, "", 1, 0 -smartChipState = scalar, S08, 1170, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1171, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1172, "", 1, 0 -startStopPhysicalState = bits, U32, 1176, [0:0] -acrActive = bits, U32, 1176, [1:1] -acrEngineMovedRecently = bits, U32, 1176, [2:2] -heaterControlEnabled = bits, U32, 1176, [3:3] -luaDigitalState0 = bits, U32, 1176, [4:4] -luaDigitalState1 = bits, U32, 1176, [5:5] -luaDigitalState2 = bits, U32, 1176, [6:6] -luaDigitalState3 = bits, U32, 1176, [7:7] -startStopStateToggleCounter = scalar, U32, 1180, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1184, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1188, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1192, "", 1, 0 -desiredRpmLimit = scalar, S16, 1196, "rpm", 1, 0 -fuelInjectionCounter = scalar, U32, 1200, "", 1, 0 -globalSparkCounter = scalar, U32, 1204, "", 1, 0 -fuelingLoad = scalar, F32, 1208, "", 1, 0 -ignitionLoad = scalar, F32, 1212, "", 1, 0 -veTableYAxis = scalar, U16, 1216, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1218, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1219, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1220, "", 1, 0 -; total TS size = 1224 -tpsFrom = scalar, F32, 1224 -tpsTo = scalar, F32, 1228 -deltaTps = scalar, F32, 1232 -extraFuel = scalar, F32, 1236, "", 1, 0 -valueFromTable = scalar, F32, 1240, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1244, [0:0] -isBelowDecelThreshold = bits, U32, 1244, [1:1] -isTimeToResetAccumulator = bits, U32, 1244, [2:2] -isFractionalEnrichment = bits, U32, 1244, [3:3] -belowEpsilon = bits, U32, 1244, [4:4] -tooShort = bits, U32, 1244, [5:5] -fractionalInjFuel = scalar, F32, 1248, "", 1, 0 -accumulatedValue = scalar, F32, 1252, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1256, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1260, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1264, "", 1, 0 -cycleCnt = scalar, S32, 1268, "", 1, 0 -; total TS size = 1272 -hwEventCounters1 = scalar, U32, 1272, "", 1, 0 -hwEventCounters2 = scalar, U32, 1276, "", 1, 0 -hwEventCounters3 = scalar, U32, 1280, "", 1, 0 -hwEventCounters4 = scalar, U32, 1284, "", 1, 0 -hwEventCounters5 = scalar, U32, 1288, "", 1, 0 -hwEventCounters6 = scalar, U32, 1292, "", 1, 0 -vvtCamCounter = scalar, U32, 1296, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1300, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1304, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1308, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1309, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1312, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1316, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1320, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1324, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1328, [0:0] -triggerElapsedUs = scalar, U32, 1332, "", 1, 0 -; total TS size = 1336 -crankSynchronizationCounter0 = scalar, U32, 1336, "", 1, 0 -vvtSyncGapRatio0 = scalar, F32, 1340, "", 1, 0 -vvtToothDurations00 = scalar, U32, 1344, "us", 1, 0 -vvtCurrentPosition0 = scalar, F32, 1348, "sync: Primary Cam Position", 1, 0 -vvtToothPosition10 = scalar, F32, 1352, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition20 = scalar, F32, 1356, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition30 = scalar, F32, 1360, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition40 = scalar, F32, 1364, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio0 = scalar, F32, 1368, "", 1, 0 -triggerStateIndex0 = scalar, U08, 1372, "", 1, 0 -vvtStateIndex0 = scalar, U08, 1373, "", 1, 0 -; total TS size = 1376 -crankSynchronizationCounter1 = scalar, U32, 1376, "", 1, 0 -vvtSyncGapRatio1 = scalar, F32, 1380, "", 1, 0 -vvtToothDurations01 = scalar, U32, 1384, "us", 1, 0 -vvtCurrentPosition1 = scalar, F32, 1388, "sync: Primary Cam Position", 1, 0 -vvtToothPosition11 = scalar, F32, 1392, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition21 = scalar, F32, 1396, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition31 = scalar, F32, 1400, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition41 = scalar, F32, 1404, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio1 = scalar, F32, 1408, "", 1, 0 -triggerStateIndex1 = scalar, U08, 1412, "", 1, 0 -vvtStateIndex1 = scalar, U08, 1413, "", 1, 0 -; total TS size = 1416 -crankSynchronizationCounter2 = scalar, U32, 1416, "", 1, 0 -vvtSyncGapRatio2 = scalar, F32, 1420, "", 1, 0 -vvtToothDurations02 = scalar, U32, 1424, "us", 1, 0 -vvtCurrentPosition2 = scalar, F32, 1428, "sync: Primary Cam Position", 1, 0 -vvtToothPosition12 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition22 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition32 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition42 = scalar, F32, 1444, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio2 = scalar, F32, 1448, "", 1, 0 -triggerStateIndex2 = scalar, U08, 1452, "", 1, 0 -vvtStateIndex2 = scalar, U08, 1453, "", 1, 0 -; total TS size = 1456 -crankSynchronizationCounter3 = scalar, U32, 1456, "", 1, 0 -vvtSyncGapRatio3 = scalar, F32, 1460, "", 1, 0 -vvtToothDurations03 = scalar, U32, 1464, "us", 1, 0 -vvtCurrentPosition3 = scalar, F32, 1468, "sync: Primary Cam Position", 1, 0 -vvtToothPosition13 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition23 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition33 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition43 = scalar, F32, 1484, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio3 = scalar, F32, 1488, "", 1, 0 -triggerStateIndex3 = scalar, U08, 1492, "", 1, 0 -vvtStateIndex3 = scalar, U08, 1493, "", 1, 0 -; total TS size = 1496 -crankSynchronizationCounter4 = scalar, U32, 1496, "", 1, 0 -vvtSyncGapRatio4 = scalar, F32, 1500, "", 1, 0 -vvtToothDurations04 = scalar, U32, 1504, "us", 1, 0 -vvtCurrentPosition4 = scalar, F32, 1508, "sync: Primary Cam Position", 1, 0 -vvtToothPosition14 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition24 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition34 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition44 = scalar, F32, 1524, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio4 = scalar, F32, 1528, "", 1, 0 -triggerStateIndex4 = scalar, U08, 1532, "", 1, 0 -vvtStateIndex4 = scalar, U08, 1533, "", 1, 0 -; total TS size = 1536 -camResyncCounter = scalar, U08, 1536, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1540, [0:0] -; total TS size = 1544 -wallFuelCorrection = scalar, F32, 1544, "", 1, 0 -wallFuel = scalar, F32, 1548, "", 1, 0 -; total TS size = 1552 -idleState = bits, S32, 1552, [0:2], "not important" -currentIdlePosition = scalar, F32, 1556 -baseIdlePosition = scalar, F32, 1560 -idleClosedLoop = scalar, F32, 1564 -iacByTpsTaper = scalar, F32, 1568 -throttlePedalUpState = scalar, S32, 1572, "", 1, 0 -mightResetPid = bits, U32, 1576, [0:0] -shouldResetPid = bits, U32, 1576, [1:1] -wasResetPid = bits, U32, 1576, [2:2] -mustResetPid = bits, U32, 1576, [3:3] -isCranking = bits, U32, 1576, [4:4] -isIacTableForCoasting = bits, U32, 1576, [5:5] -notIdling = bits, U32, 1576, [6:6] -needReset = bits, U32, 1576, [7:7] -isInDeadZone = bits, U32, 1576, [8:8] -isBlipping = bits, U32, 1576, [9:9] -useClosedLoop = bits, U32, 1576, [10:10] -badTps = bits, U32, 1576, [11:11] -looksLikeRunning = bits, U32, 1576, [12:12] -looksLikeCoasting = bits, U32, 1576, [13:13] -looksLikeCrankToIdle = bits, U32, 1576, [14:14] -isIdleCoasting = bits, U32, 1576, [15:15] -isIdleClosedLoop = bits, U32, 1576, [16:16] -idleTarget = scalar, S32, 1580, "", 1, 0 -targetRpmByClt = scalar, S32, 1584, "", 1, 0 -targetRpmAc = scalar, S32, 1588, "", 1, 0 -iacByRpmTaper = scalar, F32, 1592 -luaAdd = scalar, F32, 1596 -; total TS size = 1600 -targetWithIdlePosition0 = scalar, F32, 1600, "per", 1,0 -trim0 = scalar, F32, 1604, "", 1, 0 -luaAdjustment0 = scalar, F32, 1608, "per", 1,0 -m_wastegatePosition0 = scalar, F32, 1612, "per", 1,0 -etbFeedForward0 = scalar, F32, 1616 -etbIntegralError0 = scalar, F32, 1620, "", 1, 0 -etbCurrentTarget0 = scalar, F32, 1624, "%", 1, 0 -etbCurrentAdjustedTarget0 = scalar, F32, 1628, "%", 1, 0 -etbRevLimitActive0 = bits, U32, 1632, [0:0] -jamDetected0 = bits, U32, 1632, [1:1] -etbTpsErrorCounter0 = scalar, U16, 1636, "count", 1,0 -etbPpsErrorCounter0 = scalar, U16, 1638, "count", 1,0 -etbErrorCode0 = scalar, S08, 1640, "", 1, 0 -tcEtbDrop0 = scalar, S08, 1641, "%", 1, 0 -jamTimer0 = scalar, U16, 1642, "sec", 0.01, 0 -adjustedEtbTarget0 = scalar, S08, 1644, "%", 1, 0 -; total TS size = 1648 -targetWithIdlePosition1 = scalar, F32, 1648, "per", 1,0 -trim1 = scalar, F32, 1652, "", 1, 0 -luaAdjustment1 = scalar, F32, 1656, "per", 1,0 -m_wastegatePosition1 = scalar, F32, 1660, "per", 1,0 -etbFeedForward1 = scalar, F32, 1664 -etbIntegralError1 = scalar, F32, 1668, "", 1, 0 -etbCurrentTarget1 = scalar, F32, 1672, "%", 1, 0 -etbCurrentAdjustedTarget1 = scalar, F32, 1676, "%", 1, 0 -etbRevLimitActive1 = bits, U32, 1680, [0:0] -jamDetected1 = bits, U32, 1680, [1:1] -etbTpsErrorCounter1 = scalar, U16, 1684, "count", 1,0 -etbPpsErrorCounter1 = scalar, U16, 1686, "count", 1,0 -etbErrorCode1 = scalar, S08, 1688, "", 1, 0 -tcEtbDrop1 = scalar, S08, 1689, "%", 1, 0 -jamTimer1 = scalar, U16, 1690, "sec", 0.01, 0 -adjustedEtbTarget1 = scalar, S08, 1692, "%", 1, 0 -; total TS size = 1696 -faultCode0 = scalar, U08, 1696, "", 1, 0 -heaterDuty0 = scalar, U08, 1697, "%", 1, 0 -pumpDuty0 = scalar, U08, 1698, "%", 1, 0 -tempC0 = scalar, U16, 1700, "C", 1, 0 -nernstVoltage0 = scalar, U16, 1702, "V", 0.001, 0 -esr0 = scalar, U16, 1704, "ohm", 1, 0 -; total TS size = 1708 -faultCode1 = scalar, U08, 1708, "", 1, 0 -heaterDuty1 = scalar, U08, 1709, "%", 1, 0 -pumpDuty1 = scalar, U08, 1710, "%", 1, 0 -tempC1 = scalar, U16, 1712, "C", 1, 0 -nernstVoltage1 = scalar, U16, 1714, "V", 0.001, 0 -esr1 = scalar, U16, 1716, "ohm", 1, 0 -; total TS size = 1720 -dcOutput0 = scalar, F32, 1720, "per", 1,0 -isEnabled0_int = scalar, U08, 1724, "per", 1,0 -isEnabled0 = bits, U32, 1728, [0:0] -; total TS size = 1732 -value0 = scalar, U16, 1732, "value", 1,0 -value1 = scalar, U16, 1734, "value", 1,0 -errorRate = scalar, F32, 1736, "ratio", 1,0 -; total TS size = 1740 -vvtTarget = scalar, U16, 1740, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1742, "%", 0.5, 0 -; total TS size = 1744 -lambdaCurrentlyGood = bits, U32, 1744, [0:0] -lambdaMonitorCut = bits, U32, 1744, [1:1] -lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 -; total TS size = 1752 +retardThresholdRpm = scalar, S32, 1120, "", 1, 0 +launchActivatePinState = bits, U32, 1124, [0:0] +isPreLaunchCondition = bits, U32, 1124, [1:1] +isLaunchCondition = bits, U32, 1124, [2:2] +isSwitchActivated = bits, U32, 1124, [3:3] +isClutchActivated = bits, U32, 1124, [4:4] +isBrakePedalActivated = bits, U32, 1124, [5:5] +isValidInputPin = bits, U32, 1124, [6:6] +activateSwitchCondition = bits, U32, 1124, [7:7] +rpmLaunchCondition = bits, U32, 1124, [8:8] +rpmPreLaunchCondition = bits, U32, 1124, [9:9] +speedCondition = bits, U32, 1124, [10:10] +tpsCondition = bits, U32, 1124, [11:11] +; total TS size = 1128 +isTorqueReductionTriggerPinValid = bits, U32, 1128, [0:0] +torqueReductionTriggerPinState = bits, U32, 1128, [1:1] +isTimeConditionSatisfied = bits, U32, 1128, [2:2] +isRpmConditionSatisfied = bits, U32, 1128, [3:3] +isAppConditionSatisfied = bits, U32, 1128, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1128, [5:5] +; total TS size = 1132 +isAntilagCondition = bits, U32, 1132, [0:0] +ALSMinRPMCondition = bits, U32, 1132, [1:1] +ALSMaxRPMCondition = bits, U32, 1132, [2:2] +ALSMinCLTCondition = bits, U32, 1132, [3:3] +ALSMaxCLTCondition = bits, U32, 1132, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1132, [5:5] +isALSSwitchActivated = bits, U32, 1132, [6:6] +ALSActivatePinState = bits, U32, 1132, [7:7] +ALSSwitchCondition = bits, U32, 1132, [8:8] +ALSTimerCondition = bits, U32, 1132, [9:9] +fuelALSCorrection = scalar, F32, 1136, "", 1, 0 +timingALSCorrection = scalar, S16, 1140, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1142, "deg", 0.01, 0 +; total TS size = 1144 +isTpsInvalid = bits, U32, 1144, [0:0] +m_shouldResetPid = bits, U32, 1144, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1144, [2:2] +isNotClosedLoop = bits, U32, 1144, [3:3] +isZeroRpm = bits, U32, 1144, [4:4] +hasInitBoost = bits, U32, 1144, [5:5] +rpmTooLow = bits, U32, 1144, [6:6] +tpsTooLow = bits, U32, 1144, [7:7] +mapTooLow = bits, U32, 1144, [8:8] +isPlantValid = bits, U32, 1144, [9:9] +isBoostControlled = bits, U32, 1144, [10:10] +luaTargetAdd = scalar, S16, 1148, "v", 0.5,0 +boostOutput = scalar, S16, 1150, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1152, "v", 1,0 +openLoopPart = scalar, F32, 1156, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1160, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1164, "%", 0.5,0 +boostControlTarget = scalar, S16, 1166, "kPa", 0.03333333333333333,0 +; total TS size = 1168 +acButtonState = scalar, S08, 1168, "", 1, 0 +m_acEnabled = bits, U32, 1172, [0:0] +engineTooSlow = bits, U32, 1172, [1:1] +engineTooFast = bits, U32, 1172, [2:2] +noClt = bits, U32, 1172, [3:3] +engineTooHot = bits, U32, 1172, [4:4] +tpsTooHigh = bits, U32, 1172, [5:5] +isDisabledByLua = bits, U32, 1172, [6:6] +acCompressorState = bits, U32, 1172, [7:7] +acPressureTooLow = bits, U32, 1172, [8:8] +acPressureTooHigh = bits, U32, 1172, [9:9] +; total TS size = 1176 +cranking0 = bits, U32, 1176, [0:0] +notRunning0 = bits, U32, 1176, [1:1] +disabledWhileEngineStopped0 = bits, U32, 1176, [2:2] +brokenClt0 = bits, U32, 1176, [3:3] +enabledForAc0 = bits, U32, 1176, [4:4] +hot0 = bits, U32, 1176, [5:5] +cold0 = bits, U32, 1176, [6:6] +disabledBySpeed0 = bits, U32, 1176, [7:7] +radiatorFanStatus0 = scalar, U08, 1180, "", 1, 0 +; total TS size = 1184 +cranking1 = bits, U32, 1184, [0:0] +notRunning1 = bits, U32, 1184, [1:1] +disabledWhileEngineStopped1 = bits, U32, 1184, [2:2] +brokenClt1 = bits, U32, 1184, [3:3] +enabledForAc1 = bits, U32, 1184, [4:4] +hot1 = bits, U32, 1184, [5:5] +cold1 = bits, U32, 1184, [6:6] +disabledBySpeed1 = bits, U32, 1184, [7:7] +radiatorFanStatus1 = scalar, U08, 1188, "", 1, 0 +; total TS size = 1192 +isPrime = bits, U32, 1192, [0:0] +engineTurnedRecently = bits, U32, 1192, [1:1] +isFuelPumpOn = bits, U32, 1192, [2:2] +ignitionOn = bits, U32, 1192, [3:3] +; total TS size = 1196 +isBenchTest = bits, U32, 1196, [0:0] +hasIgnitionVoltage = bits, U32, 1196, [1:1] +mainRelayState = bits, U32, 1196, [2:2] +delayedShutoffRequested = bits, U32, 1196, [3:3] +; total TS size = 1200 +lua_fuelAdd = scalar, F32, 1200, "g", 1, 0 +lua_fuelMult = scalar, F32, 1204, "", 1, 0 +lua_clutchUpState = bits, U32, 1208, [0:0] +lua_brakePedalState = bits, U32, 1208, [1:1] +lua_acRequestState = bits, U32, 1208, [2:2] +lua_luaDisableEtb = bits, U32, 1208, [3:3] +lua_luaIgnCut = bits, U32, 1208, [4:4] +lua_luaFuelCut = bits, U32, 1208, [5:5] +lua_clutchDownState = bits, U32, 1208, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1208, [7:7] +sd_tCharge = scalar, S16, 1212, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1216, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1220, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1224, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1228, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1232, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1236, "", 1, 0 +hellenBoardId = scalar, S16, 1240, "id", 1, 0 +clutchUpState = scalar, S08, 1242, "", 1, 0 +clutchDownState = scalar, S08, 1243, "", 1, 0 +brakePedalState = scalar, S08, 1244, "", 1, 0 +startStopState = scalar, S08, 1245, "", 1, 0 +smartChipState = scalar, S08, 1246, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1247, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1248, "", 1, 0 +startStopPhysicalState = bits, U32, 1252, [0:0] +acrActive = bits, U32, 1252, [1:1] +acrEngineMovedRecently = bits, U32, 1252, [2:2] +heaterControlEnabled = bits, U32, 1252, [3:3] +luaDigitalState0 = bits, U32, 1252, [4:4] +luaDigitalState1 = bits, U32, 1252, [5:5] +luaDigitalState2 = bits, U32, 1252, [6:6] +luaDigitalState3 = bits, U32, 1252, [7:7] +startStopStateToggleCounter = scalar, U32, 1256, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1260, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1264, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1268, "", 1, 0 +desiredRpmLimit = scalar, S16, 1272, "rpm", 1, 0 +fuelInjectionCounter = scalar, U32, 1276, "", 1, 0 +globalSparkCounter = scalar, U32, 1280, "", 1, 0 +fuelingLoad = scalar, F32, 1284, "", 1, 0 +ignitionLoad = scalar, F32, 1288, "", 1, 0 +veTableYAxis = scalar, U16, 1292, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1294, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1295, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1296, "", 1, 0 +; total TS size = 1300 +tpsFrom = scalar, F32, 1300 +tpsTo = scalar, F32, 1304 +deltaTps = scalar, F32, 1308 +extraFuel = scalar, F32, 1312, "", 1, 0 +valueFromTable = scalar, F32, 1316, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1320, [0:0] +isBelowDecelThreshold = bits, U32, 1320, [1:1] +isTimeToResetAccumulator = bits, U32, 1320, [2:2] +isFractionalEnrichment = bits, U32, 1320, [3:3] +belowEpsilon = bits, U32, 1320, [4:4] +tooShort = bits, U32, 1320, [5:5] +fractionalInjFuel = scalar, F32, 1324, "", 1, 0 +accumulatedValue = scalar, F32, 1328, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1332, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1336, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1340, "", 1, 0 +cycleCnt = scalar, S32, 1344, "", 1, 0 +; total TS size = 1348 +hwEventCounters1 = scalar, U32, 1348, "", 1, 0 +hwEventCounters2 = scalar, U32, 1352, "", 1, 0 +hwEventCounters3 = scalar, U32, 1356, "", 1, 0 +hwEventCounters4 = scalar, U32, 1360, "", 1, 0 +hwEventCounters5 = scalar, U32, 1364, "", 1, 0 +hwEventCounters6 = scalar, U32, 1368, "", 1, 0 +vvtCamCounter = scalar, U32, 1372, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1376, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1380, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1384, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1385, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1388, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1392, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1396, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1400, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1404, [0:0] +triggerElapsedUs = scalar, U32, 1408, "", 1, 0 +; total TS size = 1412 +crankSynchronizationCounter0 = scalar, U32, 1412, "", 1, 0 +vvtSyncGapRatio0 = scalar, F32, 1416, "", 1, 0 +vvtToothDurations00 = scalar, U32, 1420, "us", 1, 0 +vvtCurrentPosition0 = scalar, F32, 1424, "sync: Primary Cam Position", 1, 0 +vvtToothPosition10 = scalar, F32, 1428, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition20 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition30 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition40 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio0 = scalar, F32, 1444, "", 1, 0 +triggerStateIndex0 = scalar, U08, 1448, "", 1, 0 +vvtStateIndex0 = scalar, U08, 1449, "", 1, 0 +; total TS size = 1452 +crankSynchronizationCounter1 = scalar, U32, 1452, "", 1, 0 +vvtSyncGapRatio1 = scalar, F32, 1456, "", 1, 0 +vvtToothDurations01 = scalar, U32, 1460, "us", 1, 0 +vvtCurrentPosition1 = scalar, F32, 1464, "sync: Primary Cam Position", 1, 0 +vvtToothPosition11 = scalar, F32, 1468, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition21 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition31 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition41 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio1 = scalar, F32, 1484, "", 1, 0 +triggerStateIndex1 = scalar, U08, 1488, "", 1, 0 +vvtStateIndex1 = scalar, U08, 1489, "", 1, 0 +; total TS size = 1492 +crankSynchronizationCounter2 = scalar, U32, 1492, "", 1, 0 +vvtSyncGapRatio2 = scalar, F32, 1496, "", 1, 0 +vvtToothDurations02 = scalar, U32, 1500, "us", 1, 0 +vvtCurrentPosition2 = scalar, F32, 1504, "sync: Primary Cam Position", 1, 0 +vvtToothPosition12 = scalar, F32, 1508, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition22 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition32 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition42 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio2 = scalar, F32, 1524, "", 1, 0 +triggerStateIndex2 = scalar, U08, 1528, "", 1, 0 +vvtStateIndex2 = scalar, U08, 1529, "", 1, 0 +; total TS size = 1532 +crankSynchronizationCounter3 = scalar, U32, 1532, "", 1, 0 +vvtSyncGapRatio3 = scalar, F32, 1536, "", 1, 0 +vvtToothDurations03 = scalar, U32, 1540, "us", 1, 0 +vvtCurrentPosition3 = scalar, F32, 1544, "sync: Primary Cam Position", 1, 0 +vvtToothPosition13 = scalar, F32, 1548, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition23 = scalar, F32, 1552, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition33 = scalar, F32, 1556, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition43 = scalar, F32, 1560, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio3 = scalar, F32, 1564, "", 1, 0 +triggerStateIndex3 = scalar, U08, 1568, "", 1, 0 +vvtStateIndex3 = scalar, U08, 1569, "", 1, 0 +; total TS size = 1572 +crankSynchronizationCounter4 = scalar, U32, 1572, "", 1, 0 +vvtSyncGapRatio4 = scalar, F32, 1576, "", 1, 0 +vvtToothDurations04 = scalar, U32, 1580, "us", 1, 0 +vvtCurrentPosition4 = scalar, F32, 1584, "sync: Primary Cam Position", 1, 0 +vvtToothPosition14 = scalar, F32, 1588, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition24 = scalar, F32, 1592, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition34 = scalar, F32, 1596, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition44 = scalar, F32, 1600, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio4 = scalar, F32, 1604, "", 1, 0 +triggerStateIndex4 = scalar, U08, 1608, "", 1, 0 +vvtStateIndex4 = scalar, U08, 1609, "", 1, 0 +; total TS size = 1612 +camResyncCounter = scalar, U08, 1612, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1616, [0:0] +; total TS size = 1620 +wallFuelCorrection = scalar, F32, 1620, "", 1, 0 +wallFuel = scalar, F32, 1624, "", 1, 0 +; total TS size = 1628 +idleState = bits, S32, 1628, [0:2], "not important" +currentIdlePosition = scalar, F32, 1632 +baseIdlePosition = scalar, F32, 1636 +idleClosedLoop = scalar, F32, 1640 +iacByTpsTaper = scalar, F32, 1644 +throttlePedalUpState = scalar, S32, 1648, "", 1, 0 +mightResetPid = bits, U32, 1652, [0:0] +shouldResetPid = bits, U32, 1652, [1:1] +wasResetPid = bits, U32, 1652, [2:2] +mustResetPid = bits, U32, 1652, [3:3] +isCranking = bits, U32, 1652, [4:4] +isIacTableForCoasting = bits, U32, 1652, [5:5] +notIdling = bits, U32, 1652, [6:6] +needReset = bits, U32, 1652, [7:7] +isInDeadZone = bits, U32, 1652, [8:8] +isBlipping = bits, U32, 1652, [9:9] +useClosedLoop = bits, U32, 1652, [10:10] +badTps = bits, U32, 1652, [11:11] +looksLikeRunning = bits, U32, 1652, [12:12] +looksLikeCoasting = bits, U32, 1652, [13:13] +looksLikeCrankToIdle = bits, U32, 1652, [14:14] +isIdleCoasting = bits, U32, 1652, [15:15] +isIdleClosedLoop = bits, U32, 1652, [16:16] +idleTarget = scalar, S32, 1656, "", 1, 0 +targetRpmByClt = scalar, S32, 1660, "", 1, 0 +targetRpmAc = scalar, S32, 1664, "", 1, 0 +iacByRpmTaper = scalar, F32, 1668 +luaAdd = scalar, F32, 1672 +; total TS size = 1676 +targetWithIdlePosition0 = scalar, F32, 1676, "per", 1,0 +trim0 = scalar, F32, 1680, "", 1, 0 +luaAdjustment0 = scalar, F32, 1684, "per", 1,0 +m_wastegatePosition0 = scalar, F32, 1688, "per", 1,0 +etbFeedForward0 = scalar, F32, 1692 +etbIntegralError0 = scalar, F32, 1696, "", 1, 0 +etbCurrentTarget0 = scalar, F32, 1700, "%", 1, 0 +etbCurrentAdjustedTarget0 = scalar, F32, 1704, "%", 1, 0 +etbRevLimitActive0 = bits, U32, 1708, [0:0] +jamDetected0 = bits, U32, 1708, [1:1] +etbTpsErrorCounter0 = scalar, U16, 1712, "count", 1,0 +etbPpsErrorCounter0 = scalar, U16, 1714, "count", 1,0 +etbErrorCode0 = scalar, S08, 1716, "", 1, 0 +tcEtbDrop0 = scalar, S08, 1717, "%", 1, 0 +jamTimer0 = scalar, U16, 1718, "sec", 0.01, 0 +adjustedEtbTarget0 = scalar, S08, 1720, "%", 1, 0 +; total TS size = 1724 +targetWithIdlePosition1 = scalar, F32, 1724, "per", 1,0 +trim1 = scalar, F32, 1728, "", 1, 0 +luaAdjustment1 = scalar, F32, 1732, "per", 1,0 +m_wastegatePosition1 = scalar, F32, 1736, "per", 1,0 +etbFeedForward1 = scalar, F32, 1740 +etbIntegralError1 = scalar, F32, 1744, "", 1, 0 +etbCurrentTarget1 = scalar, F32, 1748, "%", 1, 0 +etbCurrentAdjustedTarget1 = scalar, F32, 1752, "%", 1, 0 +etbRevLimitActive1 = bits, U32, 1756, [0:0] +jamDetected1 = bits, U32, 1756, [1:1] +etbTpsErrorCounter1 = scalar, U16, 1760, "count", 1,0 +etbPpsErrorCounter1 = scalar, U16, 1762, "count", 1,0 +etbErrorCode1 = scalar, S08, 1764, "", 1, 0 +tcEtbDrop1 = scalar, S08, 1765, "%", 1, 0 +jamTimer1 = scalar, U16, 1766, "sec", 0.01, 0 +adjustedEtbTarget1 = scalar, S08, 1768, "%", 1, 0 +; total TS size = 1772 +faultCode0 = scalar, U08, 1772, "", 1, 0 +heaterDuty0 = scalar, U08, 1773, "%", 1, 0 +pumpDuty0 = scalar, U08, 1774, "%", 1, 0 +tempC0 = scalar, U16, 1776, "C", 1, 0 +nernstVoltage0 = scalar, U16, 1778, "V", 0.001, 0 +esr0 = scalar, U16, 1780, "ohm", 1, 0 +; total TS size = 1784 +faultCode1 = scalar, U08, 1784, "", 1, 0 +heaterDuty1 = scalar, U08, 1785, "%", 1, 0 +pumpDuty1 = scalar, U08, 1786, "%", 1, 0 +tempC1 = scalar, U16, 1788, "C", 1, 0 +nernstVoltage1 = scalar, U16, 1790, "V", 0.001, 0 +esr1 = scalar, U16, 1792, "ohm", 1, 0 +; total TS size = 1796 +dcOutput0 = scalar, F32, 1796, "per", 1,0 +isEnabled0_int = scalar, U08, 1800, "per", 1,0 +isEnabled0 = bits, U32, 1804, [0:0] +; total TS size = 1808 +value0 = scalar, U16, 1808, "value", 1,0 +value1 = scalar, U16, 1810, "value", 1,0 +errorRate = scalar, F32, 1812, "ratio", 1,0 +; total TS size = 1816 +vvtTarget = scalar, U16, 1816, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1818, "%", 0.5, 0 +; total TS size = 1820 +lambdaCurrentlyGood = bits, U32, 1820, [0:0] +lambdaMonitorCut = bits, U32, 1820, [1:1] +lambdaTimeSinceGood = scalar, U16, 1824, "sec", 0.01, 0 +; total TS size = 1828 time = { timeNow } @@ -3616,6 +3648,7 @@ lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs8 requiresPowerCycle = cylinderBore + requiresPowerCycle = knockFrequency readOnly = warning_message readOnly = device_uid1 @@ -5029,6 +5062,26 @@ gaugeCategory = Knock knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knockSpectrumChannelCylGauge = m_knockSpectrumChannelCyl, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStartGauge = m_knockFrequencyStart, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStepGauge = m_knockFrequencyStep, "Knock Frequency Step", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFuelTrimMultiplier = m_knockFuelTrimMultiplier, "Knock Fuel Trim", "mult", 0, 0, 0, 0, 0, 30, 1, 1 + knockSpectrum1 = m_knockSpectrum1, "Knock Spectrum1", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum2 = m_knockSpectrum2, "knockSpectrum2", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum3 = m_knockSpectrum3, "knockSpectrum3", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum4 = m_knockSpectrum4, "knockSpectrum4", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum5 = m_knockSpectrum5, "knockSpectrum5", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum6 = m_knockSpectrum6, "knockSpectrum6", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum7 = m_knockSpectrum7, "knockSpectrum7", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum8 = m_knockSpectrum8, "knockSpectrum8", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum9 = m_knockSpectrum9, "knockSpectrum9", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum10 = m_knockSpectrum10, "knockSpectrum10", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum11 = m_knockSpectrum11, "knockSpectrum11", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum12 = m_knockSpectrum12, "knockSpectrum12", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum13 = m_knockSpectrum13, "knockSpectrum13", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum14 = m_knockSpectrum14, "knockSpectrum14", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum15 = m_knockSpectrum15, "knockSpectrum15", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum16 = m_knockSpectrum16, "knockSpectrum16", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -5626,6 +5679,26 @@ entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" entry = m_knockCount, "Knock: Count", int, "%d" entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_knockFrequency, "knock: frequency", int, "%d" +entry = m_knockSpectrum1, "Knock: SpectrumData 1", int, "%d" +entry = m_knockSpectrum2, "Knock: SpectrumData 2", int, "%d" +entry = m_knockSpectrum3, "Knock: SpectrumData 3", int, "%d" +entry = m_knockSpectrum4, "Knock: SpectrumData 4", int, "%d" +entry = m_knockSpectrum5, "Knock: SpectrumData 5", int, "%d" +entry = m_knockSpectrum6, "Knock: SpectrumData 6", int, "%d" +entry = m_knockSpectrum7, "Knock: SpectrumData 7", int, "%d" +entry = m_knockSpectrum8, "Knock: SpectrumData 8", int, "%d" +entry = m_knockSpectrum9, "Knock: SpectrumData 9", int, "%d" +entry = m_knockSpectrum10, "Knock: SpectrumData 10", int, "%d" +entry = m_knockSpectrum11, "Knock: SpectrumData 11", int, "%d" +entry = m_knockSpectrum12, "Knock: SpectrumData 12", int, "%d" +entry = m_knockSpectrum13, "Knock: SpectrumData 13", int, "%d" +entry = m_knockSpectrum14, "Knock: SpectrumData 14", int, "%d" +entry = m_knockSpectrum15, "Knock: SpectrumData 15", int, "%d" +entry = m_knockSpectrum16, "Knock: SpectrumData 16", int, "%d" +entry = m_knockSpectrumChannelCyl, "Knock: ChannelAndCylNumber", int, "%d" +entry = m_knockFrequencyStart, "Knock: Start Freq", int, "%d" +entry = m_knockFrequencyStep, "Knock: Step Freq", float, "%.3f" +entry = m_knockFuelTrimMultiplier, "Knock: Fuel trim when knock", float, "%.3f" entry = tcuCurrentGear, "TCU: Current Gear", int, "%d" entry = tcRatio, "TCU: Torque Converter Ratio", float, "%.3f" entry = lastShiftTime, "lastShiftTime", float, "%.3f" @@ -6509,6 +6582,31 @@ dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard graphLine = m_knockFrequency + graphLine = m_knockSpectrum1 + graphLine = m_knockSpectrum2 + liveGraph = knock_controller_6_Graph, "Graph", South + graphLine = m_knockSpectrum3 + graphLine = m_knockSpectrum4 + graphLine = m_knockSpectrum5 + graphLine = m_knockSpectrum6 + liveGraph = knock_controller_7_Graph, "Graph", South + graphLine = m_knockSpectrum7 + graphLine = m_knockSpectrum8 + graphLine = m_knockSpectrum9 + graphLine = m_knockSpectrum10 + liveGraph = knock_controller_8_Graph, "Graph", South + graphLine = m_knockSpectrum11 + graphLine = m_knockSpectrum12 + graphLine = m_knockSpectrum13 + graphLine = m_knockSpectrum14 + liveGraph = knock_controller_9_Graph, "Graph", South + graphLine = m_knockSpectrum15 + graphLine = m_knockSpectrum16 + graphLine = m_knockSpectrumChannelCyl + graphLine = m_knockFrequencyStart + liveGraph = knock_controller_10_Graph, "Graph", South + graphLine = m_knockFrequencyStep + graphLine = m_knockFuelTrimMultiplier indicatorPanel = tcu_controllerIndicatorPanel, 2 indicator = {isShifting}, "isShifting No", "isShifting Yes" @@ -8511,9 +8609,13 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockCfg, "Sense" field = "Enable", enableSoftwareKnock field = "Cylinder Bore", cylinderBore, {enableSoftwareKnock} + field = "Estimated Knock Frequency",knockFrequency, {enableSoftwareKnock} field = "Detection mode", knockDetectionUseDoubleFrequency field = "Detection Window Start",knockDetectionWindowStart, {enableSoftwareKnock} field = "Sampling Duration", knockSamplingDuration, {enableSoftwareKnock} + field = "Enable Knock Spectrogram", enableKnockSpectrogram, {enableSoftwareKnock} + field = "Enable Knock Spectrogram Filter", enableKnockSpectrogramFilter, {enableKnockSpectrogram} + field = "Knock Spectrum Sensitivity", knockSpectrumSensitivity, {enableKnockSpectrogram} field = "" field = "Select the nearest sensor for each cylinder" @@ -8529,6 +8631,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockResponseCfg, "Response" field = knockRetardAggression, knockRetardAggression field = knockRetardReapplyRate, knockRetardReapplyRate + field = knockFuelTrimAggression, knockFuelTrimAggression + field = knockFuelTrimReapplyRate, knockFuelTrimReapplyRate + field = knockFuelTrim, knockFuelTrim + field = knockSuppressMinTps, knockSuppressMinTps dialog = softwareKnockLeft, "" panel = softwareKnockCfg diff --git a/firmware/tunerstudio/generated/rusefi_hellen154hyundai_f7.ini b/firmware/tunerstudio/generated/rusefi_hellen154hyundai_f7.ini index 26692c7553..ff100445e3 100644 --- a/firmware/tunerstudio/generated/rusefi_hellen154hyundai_f7.ini +++ b/firmware/tunerstudio/generated/rusefi_hellen154hyundai_f7.ini @@ -38,12 +38,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.10.21.hellen154hyundai_f7.4005727744" + signature = "rusEFI master.2024.10.21.hellen154hyundai_f7.854250751" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.10.21.hellen154hyundai_f7.4005727744" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.10.21.hellen154hyundai_f7.854250751" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -774,6 +774,7 @@ devBit7 = bits, U32, 1492, [27:27], "false", "true" unusedSkipWasHere = bits, U32, 1492, [28:28], "false", "true" invertExhaustCamVVTSignal = bits, U32, 1492, [29:29], "Rising", "Falling" enableKnockSpectrogram = bits, U32, 1492, [30:30], "false", "true" +enableKnockSpectrogramFilter = bits, U32, 1492, [31:31], "false", "true" afterCrankingIACtaperDuration = scalar, S16, 1496, "cycles", 1, 0, 0, 5000, 0 iacByTpsTaper = scalar, S16, 1498, "percent", 1, 0, 0, 500, 0 unusedAuxSeria = bits, U16, 1500, [0:8], $gpio_list @@ -1394,7 +1395,13 @@ auxLinear4_v1 = scalar, F32, 3880, "volts", 1, 0, 0, 10, 2 auxLinear4_value1 = scalar, F32, 3884, "", 1, 0, -100000, 1000000, 2 auxLinear4_v2 = scalar, F32, 3888, "volts", 1, 0, 0, 10, 2 auxLinear4_value2 = scalar, F32, 3892, "", 1, 0, -100000, 1000000, 2 -unusedOftenChangesDuringFirmwareUpdate = array, U08, 3896, [128], "units", 1, 0, 0, 1, 0 +knockSuppressMinTps = scalar, U08, 3896, "%", 1, 0, 0, 100, 1 +knockFuelTrimAggression = scalar, U08, 3897, "%", 0.1, 0, 0, 20, 1 +knockFuelTrimReapplyRate = scalar, U08, 3898, "deg/s", 0.1, 0, 0, 10, 1 +knockFuelTrim = scalar, U08, 3899, "%", 1, 0, 0, 30, 1 +knockSpectrumSensitivity = scalar, F32, 3900, "sense", 1, 0, 0, 1, 2 +knockFrequency = scalar, F32, 3904, "Hz", 1, 0, 0, 20000, 2 +unusedOftenChangesDuringFirmwareUpdate = array, U08, 3908, [116], "units", 1, 0, 0, 1, 0 postCrankingFactor = array, F32, 4024, [6x6], "mult", 1, 0, 1, 3, 2 postCrankingDurationBins = array, F32, 4168, [6], "count", 1, 0, 0, 1000, 0 postCrankingCLTBins = array, S16, 4192, [6], "C", 1, 0, -100, 125, 0 @@ -2448,6 +2455,11 @@ minimumOilPressureValues = array, U08, 22960, [8], "kPa", 10.0, 0, 0, 1000, 0 minAcPressure = "value of A/C pressure in kPa before that compressor is disengaged" maxAcPressure = "value of A/C pressure in kPa after that compressor is disengaged" minimumOilPressureTimeout = "Delay before cutting fuel due to low oil pressure. Use this to ignore short pressure blips and sensor noise." + knockSuppressMinTps = "Below TPS value all knock suppression will be disabled." + knockFuelTrimAggression = "Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump)," + knockFuelTrimReapplyRate = "After a knock event, reapply fuel at this rate." + knockFuelTrim = "Fuel trim when knock, max 30%" + knockFrequency = "Estimated knock frequency, ignore cylinderBore if this one > 0" etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, open loop component of PID closed loop control" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2560,7 +2572,7 @@ minimumOilPressureValues = array, U08, 22960, [8], "kPa", 10.0, 0, 0, 1000, 0 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1752 + ochBlockSize = 1828 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3101,370 +3113,390 @@ m_knockThreshold = scalar, F32, 960, "", 1, 0 m_knockCount = scalar, U32, 964, "", 1, 0 m_maximumRetard = scalar, F32, 968, "", 1, 0 m_knockFrequency = scalar, U32, 972, "Hz", 1, 0 -; total TS size = 976 -tcuCurrentGear = scalar, S08, 976, "gear", 1, 0 -tcRatio = scalar, U16, 978, "value", 0.01, 0 -lastShiftTime = scalar, F32, 980, "", 1, 0 -tcu_currentRange = scalar, U08, 984, "", 1, 0 -pressureControlDuty = scalar, S08, 985, "%", 1,0 -torqueConverterDuty = scalar, S08, 986, "%", 1,0 -isShifting = bits, U32, 988, [0:0] -; total TS size = 992 -throttleUseWotModel = bits, U32, 992, [0:0] -throttleModelCrossoverAngle = scalar, S16, 996, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1000, "g/s", 1, 0 -; total TS size = 1004 -m_requested_pump = scalar, F32, 1004, "", 1, 0 -fuel_requested_percent = scalar, F32, 1008, "", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1012, "", 1, 0 -noValve = bits, U32, 1016, [0:0] -angleAboveMin = bits, U32, 1016, [1:1] -isHpfpInactive = bits, U32, 1016, [2:2] -m_pressureTarget_kPa = scalar, F32, 1020, "", 1, 0 -nextLobe = scalar, F32, 1024, "", 1, 0 -di_nextStart = scalar, F32, 1028, "v", 1, 0 -; total TS size = 1032 -m_deadtime = scalar, F32, 1032, "ms", 1, 0 -pressureDelta = scalar, F32, 1036, "kPa", 1, 0 -pressureRatio = scalar, F32, 1040, "", 1, 0 -; total TS size = 1044 -retardThresholdRpm = scalar, S32, 1044, "", 1, 0 -launchActivatePinState = bits, U32, 1048, [0:0] -isPreLaunchCondition = bits, U32, 1048, [1:1] -isLaunchCondition = bits, U32, 1048, [2:2] -isSwitchActivated = bits, U32, 1048, [3:3] -isClutchActivated = bits, U32, 1048, [4:4] -isBrakePedalActivated = bits, U32, 1048, [5:5] -isValidInputPin = bits, U32, 1048, [6:6] -activateSwitchCondition = bits, U32, 1048, [7:7] -rpmLaunchCondition = bits, U32, 1048, [8:8] -rpmPreLaunchCondition = bits, U32, 1048, [9:9] -speedCondition = bits, U32, 1048, [10:10] -tpsCondition = bits, U32, 1048, [11:11] +m_knockSpectrum1 = scalar, U32, 976, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 980, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 984, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 988, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1040, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1042, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1044, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1048, "multiplier", 1, 0 ; total TS size = 1052 -isTorqueReductionTriggerPinValid = bits, U32, 1052, [0:0] -torqueReductionTriggerPinState = bits, U32, 1052, [1:1] -isTimeConditionSatisfied = bits, U32, 1052, [2:2] -isRpmConditionSatisfied = bits, U32, 1052, [3:3] -isAppConditionSatisfied = bits, U32, 1052, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1052, [5:5] -; total TS size = 1056 -isAntilagCondition = bits, U32, 1056, [0:0] -ALSMinRPMCondition = bits, U32, 1056, [1:1] -ALSMaxRPMCondition = bits, U32, 1056, [2:2] -ALSMinCLTCondition = bits, U32, 1056, [3:3] -ALSMaxCLTCondition = bits, U32, 1056, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1056, [5:5] -isALSSwitchActivated = bits, U32, 1056, [6:6] -ALSActivatePinState = bits, U32, 1056, [7:7] -ALSSwitchCondition = bits, U32, 1056, [8:8] -ALSTimerCondition = bits, U32, 1056, [9:9] -fuelALSCorrection = scalar, F32, 1060, "", 1, 0 -timingALSCorrection = scalar, S16, 1064, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1066, "deg", 0.01, 0 +tcuCurrentGear = scalar, S08, 1052, "gear", 1, 0 +tcRatio = scalar, U16, 1054, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1056, "", 1, 0 +tcu_currentRange = scalar, U08, 1060, "", 1, 0 +pressureControlDuty = scalar, S08, 1061, "%", 1,0 +torqueConverterDuty = scalar, S08, 1062, "%", 1,0 +isShifting = bits, U32, 1064, [0:0] ; total TS size = 1068 -isTpsInvalid = bits, U32, 1068, [0:0] -m_shouldResetPid = bits, U32, 1068, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1068, [2:2] -isNotClosedLoop = bits, U32, 1068, [3:3] -isZeroRpm = bits, U32, 1068, [4:4] -hasInitBoost = bits, U32, 1068, [5:5] -rpmTooLow = bits, U32, 1068, [6:6] -tpsTooLow = bits, U32, 1068, [7:7] -mapTooLow = bits, U32, 1068, [8:8] -isPlantValid = bits, U32, 1068, [9:9] -isBoostControlled = bits, U32, 1068, [10:10] -luaTargetAdd = scalar, S16, 1072, "v", 0.5,0 -boostOutput = scalar, S16, 1074, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1076, "v", 1,0 -openLoopPart = scalar, F32, 1080, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1084, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1088, "%", 0.5,0 -boostControlTarget = scalar, S16, 1090, "kPa", 0.03333333333333333,0 -; total TS size = 1092 -acButtonState = scalar, S08, 1092, "", 1, 0 -m_acEnabled = bits, U32, 1096, [0:0] -engineTooSlow = bits, U32, 1096, [1:1] -engineTooFast = bits, U32, 1096, [2:2] -noClt = bits, U32, 1096, [3:3] -engineTooHot = bits, U32, 1096, [4:4] -tpsTooHigh = bits, U32, 1096, [5:5] -isDisabledByLua = bits, U32, 1096, [6:6] -acCompressorState = bits, U32, 1096, [7:7] -acPressureTooLow = bits, U32, 1096, [8:8] -acPressureTooHigh = bits, U32, 1096, [9:9] -; total TS size = 1100 -cranking0 = bits, U32, 1100, [0:0] -notRunning0 = bits, U32, 1100, [1:1] -disabledWhileEngineStopped0 = bits, U32, 1100, [2:2] -brokenClt0 = bits, U32, 1100, [3:3] -enabledForAc0 = bits, U32, 1100, [4:4] -hot0 = bits, U32, 1100, [5:5] -cold0 = bits, U32, 1100, [6:6] -disabledBySpeed0 = bits, U32, 1100, [7:7] -radiatorFanStatus0 = scalar, U08, 1104, "", 1, 0 +throttleUseWotModel = bits, U32, 1068, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1072, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1076, "g/s", 1, 0 +; total TS size = 1080 +m_requested_pump = scalar, F32, 1080, "", 1, 0 +fuel_requested_percent = scalar, F32, 1084, "", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1088, "", 1, 0 +noValve = bits, U32, 1092, [0:0] +angleAboveMin = bits, U32, 1092, [1:1] +isHpfpInactive = bits, U32, 1092, [2:2] +m_pressureTarget_kPa = scalar, F32, 1096, "", 1, 0 +nextLobe = scalar, F32, 1100, "", 1, 0 +di_nextStart = scalar, F32, 1104, "v", 1, 0 ; total TS size = 1108 -cranking1 = bits, U32, 1108, [0:0] -notRunning1 = bits, U32, 1108, [1:1] -disabledWhileEngineStopped1 = bits, U32, 1108, [2:2] -brokenClt1 = bits, U32, 1108, [3:3] -enabledForAc1 = bits, U32, 1108, [4:4] -hot1 = bits, U32, 1108, [5:5] -cold1 = bits, U32, 1108, [6:6] -disabledBySpeed1 = bits, U32, 1108, [7:7] -radiatorFanStatus1 = scalar, U08, 1112, "", 1, 0 -; total TS size = 1116 -isPrime = bits, U32, 1116, [0:0] -engineTurnedRecently = bits, U32, 1116, [1:1] -isFuelPumpOn = bits, U32, 1116, [2:2] -ignitionOn = bits, U32, 1116, [3:3] +m_deadtime = scalar, F32, 1108, "ms", 1, 0 +pressureDelta = scalar, F32, 1112, "kPa", 1, 0 +pressureRatio = scalar, F32, 1116, "", 1, 0 ; total TS size = 1120 -isBenchTest = bits, U32, 1120, [0:0] -hasIgnitionVoltage = bits, U32, 1120, [1:1] -mainRelayState = bits, U32, 1120, [2:2] -delayedShutoffRequested = bits, U32, 1120, [3:3] -; total TS size = 1124 -lua_fuelAdd = scalar, F32, 1124, "g", 1, 0 -lua_fuelMult = scalar, F32, 1128, "", 1, 0 -lua_clutchUpState = bits, U32, 1132, [0:0] -lua_brakePedalState = bits, U32, 1132, [1:1] -lua_acRequestState = bits, U32, 1132, [2:2] -lua_luaDisableEtb = bits, U32, 1132, [3:3] -lua_luaIgnCut = bits, U32, 1132, [4:4] -lua_luaFuelCut = bits, U32, 1132, [5:5] -lua_clutchDownState = bits, U32, 1132, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1132, [7:7] -sd_tCharge = scalar, S16, 1136, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1140, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1144, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1148, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1152, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1156, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1160, "", 1, 0 -hellenBoardId = scalar, S16, 1164, "id", 1, 0 -clutchUpState = scalar, S08, 1166, "", 1, 0 -clutchDownState = scalar, S08, 1167, "", 1, 0 -brakePedalState = scalar, S08, 1168, "", 1, 0 -startStopState = scalar, S08, 1169, "", 1, 0 -smartChipState = scalar, S08, 1170, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1171, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1172, "", 1, 0 -startStopPhysicalState = bits, U32, 1176, [0:0] -acrActive = bits, U32, 1176, [1:1] -acrEngineMovedRecently = bits, U32, 1176, [2:2] -heaterControlEnabled = bits, U32, 1176, [3:3] -luaDigitalState0 = bits, U32, 1176, [4:4] -luaDigitalState1 = bits, U32, 1176, [5:5] -luaDigitalState2 = bits, U32, 1176, [6:6] -luaDigitalState3 = bits, U32, 1176, [7:7] -startStopStateToggleCounter = scalar, U32, 1180, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1184, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1188, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1192, "", 1, 0 -desiredRpmLimit = scalar, S16, 1196, "rpm", 1, 0 -fuelInjectionCounter = scalar, U32, 1200, "", 1, 0 -globalSparkCounter = scalar, U32, 1204, "", 1, 0 -fuelingLoad = scalar, F32, 1208, "", 1, 0 -ignitionLoad = scalar, F32, 1212, "", 1, 0 -veTableYAxis = scalar, U16, 1216, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1218, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1219, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1220, "", 1, 0 -; total TS size = 1224 -tpsFrom = scalar, F32, 1224 -tpsTo = scalar, F32, 1228 -deltaTps = scalar, F32, 1232 -extraFuel = scalar, F32, 1236, "", 1, 0 -valueFromTable = scalar, F32, 1240, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1244, [0:0] -isBelowDecelThreshold = bits, U32, 1244, [1:1] -isTimeToResetAccumulator = bits, U32, 1244, [2:2] -isFractionalEnrichment = bits, U32, 1244, [3:3] -belowEpsilon = bits, U32, 1244, [4:4] -tooShort = bits, U32, 1244, [5:5] -fractionalInjFuel = scalar, F32, 1248, "", 1, 0 -accumulatedValue = scalar, F32, 1252, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1256, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1260, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1264, "", 1, 0 -cycleCnt = scalar, S32, 1268, "", 1, 0 -; total TS size = 1272 -hwEventCounters1 = scalar, U32, 1272, "", 1, 0 -hwEventCounters2 = scalar, U32, 1276, "", 1, 0 -hwEventCounters3 = scalar, U32, 1280, "", 1, 0 -hwEventCounters4 = scalar, U32, 1284, "", 1, 0 -hwEventCounters5 = scalar, U32, 1288, "", 1, 0 -hwEventCounters6 = scalar, U32, 1292, "", 1, 0 -vvtCamCounter = scalar, U32, 1296, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1300, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1304, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1308, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1309, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1312, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1316, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1320, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1324, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1328, [0:0] -triggerElapsedUs = scalar, U32, 1332, "", 1, 0 -; total TS size = 1336 -crankSynchronizationCounter0 = scalar, U32, 1336, "", 1, 0 -vvtSyncGapRatio0 = scalar, F32, 1340, "", 1, 0 -vvtToothDurations00 = scalar, U32, 1344, "us", 1, 0 -vvtCurrentPosition0 = scalar, F32, 1348, "sync: Primary Cam Position", 1, 0 -vvtToothPosition10 = scalar, F32, 1352, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition20 = scalar, F32, 1356, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition30 = scalar, F32, 1360, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition40 = scalar, F32, 1364, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio0 = scalar, F32, 1368, "", 1, 0 -triggerStateIndex0 = scalar, U08, 1372, "", 1, 0 -vvtStateIndex0 = scalar, U08, 1373, "", 1, 0 -; total TS size = 1376 -crankSynchronizationCounter1 = scalar, U32, 1376, "", 1, 0 -vvtSyncGapRatio1 = scalar, F32, 1380, "", 1, 0 -vvtToothDurations01 = scalar, U32, 1384, "us", 1, 0 -vvtCurrentPosition1 = scalar, F32, 1388, "sync: Primary Cam Position", 1, 0 -vvtToothPosition11 = scalar, F32, 1392, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition21 = scalar, F32, 1396, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition31 = scalar, F32, 1400, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition41 = scalar, F32, 1404, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio1 = scalar, F32, 1408, "", 1, 0 -triggerStateIndex1 = scalar, U08, 1412, "", 1, 0 -vvtStateIndex1 = scalar, U08, 1413, "", 1, 0 -; total TS size = 1416 -crankSynchronizationCounter2 = scalar, U32, 1416, "", 1, 0 -vvtSyncGapRatio2 = scalar, F32, 1420, "", 1, 0 -vvtToothDurations02 = scalar, U32, 1424, "us", 1, 0 -vvtCurrentPosition2 = scalar, F32, 1428, "sync: Primary Cam Position", 1, 0 -vvtToothPosition12 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition22 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition32 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition42 = scalar, F32, 1444, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio2 = scalar, F32, 1448, "", 1, 0 -triggerStateIndex2 = scalar, U08, 1452, "", 1, 0 -vvtStateIndex2 = scalar, U08, 1453, "", 1, 0 -; total TS size = 1456 -crankSynchronizationCounter3 = scalar, U32, 1456, "", 1, 0 -vvtSyncGapRatio3 = scalar, F32, 1460, "", 1, 0 -vvtToothDurations03 = scalar, U32, 1464, "us", 1, 0 -vvtCurrentPosition3 = scalar, F32, 1468, "sync: Primary Cam Position", 1, 0 -vvtToothPosition13 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition23 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition33 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition43 = scalar, F32, 1484, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio3 = scalar, F32, 1488, "", 1, 0 -triggerStateIndex3 = scalar, U08, 1492, "", 1, 0 -vvtStateIndex3 = scalar, U08, 1493, "", 1, 0 -; total TS size = 1496 -crankSynchronizationCounter4 = scalar, U32, 1496, "", 1, 0 -vvtSyncGapRatio4 = scalar, F32, 1500, "", 1, 0 -vvtToothDurations04 = scalar, U32, 1504, "us", 1, 0 -vvtCurrentPosition4 = scalar, F32, 1508, "sync: Primary Cam Position", 1, 0 -vvtToothPosition14 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition24 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition34 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition44 = scalar, F32, 1524, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio4 = scalar, F32, 1528, "", 1, 0 -triggerStateIndex4 = scalar, U08, 1532, "", 1, 0 -vvtStateIndex4 = scalar, U08, 1533, "", 1, 0 -; total TS size = 1536 -camResyncCounter = scalar, U08, 1536, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1540, [0:0] -; total TS size = 1544 -wallFuelCorrection = scalar, F32, 1544, "", 1, 0 -wallFuel = scalar, F32, 1548, "", 1, 0 -; total TS size = 1552 -idleState = bits, S32, 1552, [0:2], "not important" -currentIdlePosition = scalar, F32, 1556 -baseIdlePosition = scalar, F32, 1560 -idleClosedLoop = scalar, F32, 1564 -iacByTpsTaper = scalar, F32, 1568 -throttlePedalUpState = scalar, S32, 1572, "", 1, 0 -mightResetPid = bits, U32, 1576, [0:0] -shouldResetPid = bits, U32, 1576, [1:1] -wasResetPid = bits, U32, 1576, [2:2] -mustResetPid = bits, U32, 1576, [3:3] -isCranking = bits, U32, 1576, [4:4] -isIacTableForCoasting = bits, U32, 1576, [5:5] -notIdling = bits, U32, 1576, [6:6] -needReset = bits, U32, 1576, [7:7] -isInDeadZone = bits, U32, 1576, [8:8] -isBlipping = bits, U32, 1576, [9:9] -useClosedLoop = bits, U32, 1576, [10:10] -badTps = bits, U32, 1576, [11:11] -looksLikeRunning = bits, U32, 1576, [12:12] -looksLikeCoasting = bits, U32, 1576, [13:13] -looksLikeCrankToIdle = bits, U32, 1576, [14:14] -isIdleCoasting = bits, U32, 1576, [15:15] -isIdleClosedLoop = bits, U32, 1576, [16:16] -idleTarget = scalar, S32, 1580, "", 1, 0 -targetRpmByClt = scalar, S32, 1584, "", 1, 0 -targetRpmAc = scalar, S32, 1588, "", 1, 0 -iacByRpmTaper = scalar, F32, 1592 -luaAdd = scalar, F32, 1596 -; total TS size = 1600 -targetWithIdlePosition0 = scalar, F32, 1600, "per", 1,0 -trim0 = scalar, F32, 1604, "", 1, 0 -luaAdjustment0 = scalar, F32, 1608, "per", 1,0 -m_wastegatePosition0 = scalar, F32, 1612, "per", 1,0 -etbFeedForward0 = scalar, F32, 1616 -etbIntegralError0 = scalar, F32, 1620, "", 1, 0 -etbCurrentTarget0 = scalar, F32, 1624, "%", 1, 0 -etbCurrentAdjustedTarget0 = scalar, F32, 1628, "%", 1, 0 -etbRevLimitActive0 = bits, U32, 1632, [0:0] -jamDetected0 = bits, U32, 1632, [1:1] -etbTpsErrorCounter0 = scalar, U16, 1636, "count", 1,0 -etbPpsErrorCounter0 = scalar, U16, 1638, "count", 1,0 -etbErrorCode0 = scalar, S08, 1640, "", 1, 0 -tcEtbDrop0 = scalar, S08, 1641, "%", 1, 0 -jamTimer0 = scalar, U16, 1642, "sec", 0.01, 0 -adjustedEtbTarget0 = scalar, S08, 1644, "%", 1, 0 -; total TS size = 1648 -targetWithIdlePosition1 = scalar, F32, 1648, "per", 1,0 -trim1 = scalar, F32, 1652, "", 1, 0 -luaAdjustment1 = scalar, F32, 1656, "per", 1,0 -m_wastegatePosition1 = scalar, F32, 1660, "per", 1,0 -etbFeedForward1 = scalar, F32, 1664 -etbIntegralError1 = scalar, F32, 1668, "", 1, 0 -etbCurrentTarget1 = scalar, F32, 1672, "%", 1, 0 -etbCurrentAdjustedTarget1 = scalar, F32, 1676, "%", 1, 0 -etbRevLimitActive1 = bits, U32, 1680, [0:0] -jamDetected1 = bits, U32, 1680, [1:1] -etbTpsErrorCounter1 = scalar, U16, 1684, "count", 1,0 -etbPpsErrorCounter1 = scalar, U16, 1686, "count", 1,0 -etbErrorCode1 = scalar, S08, 1688, "", 1, 0 -tcEtbDrop1 = scalar, S08, 1689, "%", 1, 0 -jamTimer1 = scalar, U16, 1690, "sec", 0.01, 0 -adjustedEtbTarget1 = scalar, S08, 1692, "%", 1, 0 -; total TS size = 1696 -faultCode0 = scalar, U08, 1696, "", 1, 0 -heaterDuty0 = scalar, U08, 1697, "%", 1, 0 -pumpDuty0 = scalar, U08, 1698, "%", 1, 0 -tempC0 = scalar, U16, 1700, "C", 1, 0 -nernstVoltage0 = scalar, U16, 1702, "V", 0.001, 0 -esr0 = scalar, U16, 1704, "ohm", 1, 0 -; total TS size = 1708 -faultCode1 = scalar, U08, 1708, "", 1, 0 -heaterDuty1 = scalar, U08, 1709, "%", 1, 0 -pumpDuty1 = scalar, U08, 1710, "%", 1, 0 -tempC1 = scalar, U16, 1712, "C", 1, 0 -nernstVoltage1 = scalar, U16, 1714, "V", 0.001, 0 -esr1 = scalar, U16, 1716, "ohm", 1, 0 -; total TS size = 1720 -dcOutput0 = scalar, F32, 1720, "per", 1,0 -isEnabled0_int = scalar, U08, 1724, "per", 1,0 -isEnabled0 = bits, U32, 1728, [0:0] -; total TS size = 1732 -value0 = scalar, U16, 1732, "value", 1,0 -value1 = scalar, U16, 1734, "value", 1,0 -errorRate = scalar, F32, 1736, "ratio", 1,0 -; total TS size = 1740 -vvtTarget = scalar, U16, 1740, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1742, "%", 0.5, 0 -; total TS size = 1744 -lambdaCurrentlyGood = bits, U32, 1744, [0:0] -lambdaMonitorCut = bits, U32, 1744, [1:1] -lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 -; total TS size = 1752 +retardThresholdRpm = scalar, S32, 1120, "", 1, 0 +launchActivatePinState = bits, U32, 1124, [0:0] +isPreLaunchCondition = bits, U32, 1124, [1:1] +isLaunchCondition = bits, U32, 1124, [2:2] +isSwitchActivated = bits, U32, 1124, [3:3] +isClutchActivated = bits, U32, 1124, [4:4] +isBrakePedalActivated = bits, U32, 1124, [5:5] +isValidInputPin = bits, U32, 1124, [6:6] +activateSwitchCondition = bits, U32, 1124, [7:7] +rpmLaunchCondition = bits, U32, 1124, [8:8] +rpmPreLaunchCondition = bits, U32, 1124, [9:9] +speedCondition = bits, U32, 1124, [10:10] +tpsCondition = bits, U32, 1124, [11:11] +; total TS size = 1128 +isTorqueReductionTriggerPinValid = bits, U32, 1128, [0:0] +torqueReductionTriggerPinState = bits, U32, 1128, [1:1] +isTimeConditionSatisfied = bits, U32, 1128, [2:2] +isRpmConditionSatisfied = bits, U32, 1128, [3:3] +isAppConditionSatisfied = bits, U32, 1128, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1128, [5:5] +; total TS size = 1132 +isAntilagCondition = bits, U32, 1132, [0:0] +ALSMinRPMCondition = bits, U32, 1132, [1:1] +ALSMaxRPMCondition = bits, U32, 1132, [2:2] +ALSMinCLTCondition = bits, U32, 1132, [3:3] +ALSMaxCLTCondition = bits, U32, 1132, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1132, [5:5] +isALSSwitchActivated = bits, U32, 1132, [6:6] +ALSActivatePinState = bits, U32, 1132, [7:7] +ALSSwitchCondition = bits, U32, 1132, [8:8] +ALSTimerCondition = bits, U32, 1132, [9:9] +fuelALSCorrection = scalar, F32, 1136, "", 1, 0 +timingALSCorrection = scalar, S16, 1140, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1142, "deg", 0.01, 0 +; total TS size = 1144 +isTpsInvalid = bits, U32, 1144, [0:0] +m_shouldResetPid = bits, U32, 1144, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1144, [2:2] +isNotClosedLoop = bits, U32, 1144, [3:3] +isZeroRpm = bits, U32, 1144, [4:4] +hasInitBoost = bits, U32, 1144, [5:5] +rpmTooLow = bits, U32, 1144, [6:6] +tpsTooLow = bits, U32, 1144, [7:7] +mapTooLow = bits, U32, 1144, [8:8] +isPlantValid = bits, U32, 1144, [9:9] +isBoostControlled = bits, U32, 1144, [10:10] +luaTargetAdd = scalar, S16, 1148, "v", 0.5,0 +boostOutput = scalar, S16, 1150, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1152, "v", 1,0 +openLoopPart = scalar, F32, 1156, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1160, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1164, "%", 0.5,0 +boostControlTarget = scalar, S16, 1166, "kPa", 0.03333333333333333,0 +; total TS size = 1168 +acButtonState = scalar, S08, 1168, "", 1, 0 +m_acEnabled = bits, U32, 1172, [0:0] +engineTooSlow = bits, U32, 1172, [1:1] +engineTooFast = bits, U32, 1172, [2:2] +noClt = bits, U32, 1172, [3:3] +engineTooHot = bits, U32, 1172, [4:4] +tpsTooHigh = bits, U32, 1172, [5:5] +isDisabledByLua = bits, U32, 1172, [6:6] +acCompressorState = bits, U32, 1172, [7:7] +acPressureTooLow = bits, U32, 1172, [8:8] +acPressureTooHigh = bits, U32, 1172, [9:9] +; total TS size = 1176 +cranking0 = bits, U32, 1176, [0:0] +notRunning0 = bits, U32, 1176, [1:1] +disabledWhileEngineStopped0 = bits, U32, 1176, [2:2] +brokenClt0 = bits, U32, 1176, [3:3] +enabledForAc0 = bits, U32, 1176, [4:4] +hot0 = bits, U32, 1176, [5:5] +cold0 = bits, U32, 1176, [6:6] +disabledBySpeed0 = bits, U32, 1176, [7:7] +radiatorFanStatus0 = scalar, U08, 1180, "", 1, 0 +; total TS size = 1184 +cranking1 = bits, U32, 1184, [0:0] +notRunning1 = bits, U32, 1184, [1:1] +disabledWhileEngineStopped1 = bits, U32, 1184, [2:2] +brokenClt1 = bits, U32, 1184, [3:3] +enabledForAc1 = bits, U32, 1184, [4:4] +hot1 = bits, U32, 1184, [5:5] +cold1 = bits, U32, 1184, [6:6] +disabledBySpeed1 = bits, U32, 1184, [7:7] +radiatorFanStatus1 = scalar, U08, 1188, "", 1, 0 +; total TS size = 1192 +isPrime = bits, U32, 1192, [0:0] +engineTurnedRecently = bits, U32, 1192, [1:1] +isFuelPumpOn = bits, U32, 1192, [2:2] +ignitionOn = bits, U32, 1192, [3:3] +; total TS size = 1196 +isBenchTest = bits, U32, 1196, [0:0] +hasIgnitionVoltage = bits, U32, 1196, [1:1] +mainRelayState = bits, U32, 1196, [2:2] +delayedShutoffRequested = bits, U32, 1196, [3:3] +; total TS size = 1200 +lua_fuelAdd = scalar, F32, 1200, "g", 1, 0 +lua_fuelMult = scalar, F32, 1204, "", 1, 0 +lua_clutchUpState = bits, U32, 1208, [0:0] +lua_brakePedalState = bits, U32, 1208, [1:1] +lua_acRequestState = bits, U32, 1208, [2:2] +lua_luaDisableEtb = bits, U32, 1208, [3:3] +lua_luaIgnCut = bits, U32, 1208, [4:4] +lua_luaFuelCut = bits, U32, 1208, [5:5] +lua_clutchDownState = bits, U32, 1208, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1208, [7:7] +sd_tCharge = scalar, S16, 1212, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1216, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1220, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1224, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1228, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1232, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1236, "", 1, 0 +hellenBoardId = scalar, S16, 1240, "id", 1, 0 +clutchUpState = scalar, S08, 1242, "", 1, 0 +clutchDownState = scalar, S08, 1243, "", 1, 0 +brakePedalState = scalar, S08, 1244, "", 1, 0 +startStopState = scalar, S08, 1245, "", 1, 0 +smartChipState = scalar, S08, 1246, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1247, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1248, "", 1, 0 +startStopPhysicalState = bits, U32, 1252, [0:0] +acrActive = bits, U32, 1252, [1:1] +acrEngineMovedRecently = bits, U32, 1252, [2:2] +heaterControlEnabled = bits, U32, 1252, [3:3] +luaDigitalState0 = bits, U32, 1252, [4:4] +luaDigitalState1 = bits, U32, 1252, [5:5] +luaDigitalState2 = bits, U32, 1252, [6:6] +luaDigitalState3 = bits, U32, 1252, [7:7] +startStopStateToggleCounter = scalar, U32, 1256, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1260, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1264, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1268, "", 1, 0 +desiredRpmLimit = scalar, S16, 1272, "rpm", 1, 0 +fuelInjectionCounter = scalar, U32, 1276, "", 1, 0 +globalSparkCounter = scalar, U32, 1280, "", 1, 0 +fuelingLoad = scalar, F32, 1284, "", 1, 0 +ignitionLoad = scalar, F32, 1288, "", 1, 0 +veTableYAxis = scalar, U16, 1292, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1294, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1295, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1296, "", 1, 0 +; total TS size = 1300 +tpsFrom = scalar, F32, 1300 +tpsTo = scalar, F32, 1304 +deltaTps = scalar, F32, 1308 +extraFuel = scalar, F32, 1312, "", 1, 0 +valueFromTable = scalar, F32, 1316, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1320, [0:0] +isBelowDecelThreshold = bits, U32, 1320, [1:1] +isTimeToResetAccumulator = bits, U32, 1320, [2:2] +isFractionalEnrichment = bits, U32, 1320, [3:3] +belowEpsilon = bits, U32, 1320, [4:4] +tooShort = bits, U32, 1320, [5:5] +fractionalInjFuel = scalar, F32, 1324, "", 1, 0 +accumulatedValue = scalar, F32, 1328, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1332, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1336, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1340, "", 1, 0 +cycleCnt = scalar, S32, 1344, "", 1, 0 +; total TS size = 1348 +hwEventCounters1 = scalar, U32, 1348, "", 1, 0 +hwEventCounters2 = scalar, U32, 1352, "", 1, 0 +hwEventCounters3 = scalar, U32, 1356, "", 1, 0 +hwEventCounters4 = scalar, U32, 1360, "", 1, 0 +hwEventCounters5 = scalar, U32, 1364, "", 1, 0 +hwEventCounters6 = scalar, U32, 1368, "", 1, 0 +vvtCamCounter = scalar, U32, 1372, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1376, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1380, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1384, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1385, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1388, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1392, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1396, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1400, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1404, [0:0] +triggerElapsedUs = scalar, U32, 1408, "", 1, 0 +; total TS size = 1412 +crankSynchronizationCounter0 = scalar, U32, 1412, "", 1, 0 +vvtSyncGapRatio0 = scalar, F32, 1416, "", 1, 0 +vvtToothDurations00 = scalar, U32, 1420, "us", 1, 0 +vvtCurrentPosition0 = scalar, F32, 1424, "sync: Primary Cam Position", 1, 0 +vvtToothPosition10 = scalar, F32, 1428, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition20 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition30 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition40 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio0 = scalar, F32, 1444, "", 1, 0 +triggerStateIndex0 = scalar, U08, 1448, "", 1, 0 +vvtStateIndex0 = scalar, U08, 1449, "", 1, 0 +; total TS size = 1452 +crankSynchronizationCounter1 = scalar, U32, 1452, "", 1, 0 +vvtSyncGapRatio1 = scalar, F32, 1456, "", 1, 0 +vvtToothDurations01 = scalar, U32, 1460, "us", 1, 0 +vvtCurrentPosition1 = scalar, F32, 1464, "sync: Primary Cam Position", 1, 0 +vvtToothPosition11 = scalar, F32, 1468, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition21 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition31 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition41 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio1 = scalar, F32, 1484, "", 1, 0 +triggerStateIndex1 = scalar, U08, 1488, "", 1, 0 +vvtStateIndex1 = scalar, U08, 1489, "", 1, 0 +; total TS size = 1492 +crankSynchronizationCounter2 = scalar, U32, 1492, "", 1, 0 +vvtSyncGapRatio2 = scalar, F32, 1496, "", 1, 0 +vvtToothDurations02 = scalar, U32, 1500, "us", 1, 0 +vvtCurrentPosition2 = scalar, F32, 1504, "sync: Primary Cam Position", 1, 0 +vvtToothPosition12 = scalar, F32, 1508, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition22 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition32 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition42 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio2 = scalar, F32, 1524, "", 1, 0 +triggerStateIndex2 = scalar, U08, 1528, "", 1, 0 +vvtStateIndex2 = scalar, U08, 1529, "", 1, 0 +; total TS size = 1532 +crankSynchronizationCounter3 = scalar, U32, 1532, "", 1, 0 +vvtSyncGapRatio3 = scalar, F32, 1536, "", 1, 0 +vvtToothDurations03 = scalar, U32, 1540, "us", 1, 0 +vvtCurrentPosition3 = scalar, F32, 1544, "sync: Primary Cam Position", 1, 0 +vvtToothPosition13 = scalar, F32, 1548, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition23 = scalar, F32, 1552, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition33 = scalar, F32, 1556, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition43 = scalar, F32, 1560, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio3 = scalar, F32, 1564, "", 1, 0 +triggerStateIndex3 = scalar, U08, 1568, "", 1, 0 +vvtStateIndex3 = scalar, U08, 1569, "", 1, 0 +; total TS size = 1572 +crankSynchronizationCounter4 = scalar, U32, 1572, "", 1, 0 +vvtSyncGapRatio4 = scalar, F32, 1576, "", 1, 0 +vvtToothDurations04 = scalar, U32, 1580, "us", 1, 0 +vvtCurrentPosition4 = scalar, F32, 1584, "sync: Primary Cam Position", 1, 0 +vvtToothPosition14 = scalar, F32, 1588, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition24 = scalar, F32, 1592, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition34 = scalar, F32, 1596, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition44 = scalar, F32, 1600, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio4 = scalar, F32, 1604, "", 1, 0 +triggerStateIndex4 = scalar, U08, 1608, "", 1, 0 +vvtStateIndex4 = scalar, U08, 1609, "", 1, 0 +; total TS size = 1612 +camResyncCounter = scalar, U08, 1612, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1616, [0:0] +; total TS size = 1620 +wallFuelCorrection = scalar, F32, 1620, "", 1, 0 +wallFuel = scalar, F32, 1624, "", 1, 0 +; total TS size = 1628 +idleState = bits, S32, 1628, [0:2], "not important" +currentIdlePosition = scalar, F32, 1632 +baseIdlePosition = scalar, F32, 1636 +idleClosedLoop = scalar, F32, 1640 +iacByTpsTaper = scalar, F32, 1644 +throttlePedalUpState = scalar, S32, 1648, "", 1, 0 +mightResetPid = bits, U32, 1652, [0:0] +shouldResetPid = bits, U32, 1652, [1:1] +wasResetPid = bits, U32, 1652, [2:2] +mustResetPid = bits, U32, 1652, [3:3] +isCranking = bits, U32, 1652, [4:4] +isIacTableForCoasting = bits, U32, 1652, [5:5] +notIdling = bits, U32, 1652, [6:6] +needReset = bits, U32, 1652, [7:7] +isInDeadZone = bits, U32, 1652, [8:8] +isBlipping = bits, U32, 1652, [9:9] +useClosedLoop = bits, U32, 1652, [10:10] +badTps = bits, U32, 1652, [11:11] +looksLikeRunning = bits, U32, 1652, [12:12] +looksLikeCoasting = bits, U32, 1652, [13:13] +looksLikeCrankToIdle = bits, U32, 1652, [14:14] +isIdleCoasting = bits, U32, 1652, [15:15] +isIdleClosedLoop = bits, U32, 1652, [16:16] +idleTarget = scalar, S32, 1656, "", 1, 0 +targetRpmByClt = scalar, S32, 1660, "", 1, 0 +targetRpmAc = scalar, S32, 1664, "", 1, 0 +iacByRpmTaper = scalar, F32, 1668 +luaAdd = scalar, F32, 1672 +; total TS size = 1676 +targetWithIdlePosition0 = scalar, F32, 1676, "per", 1,0 +trim0 = scalar, F32, 1680, "", 1, 0 +luaAdjustment0 = scalar, F32, 1684, "per", 1,0 +m_wastegatePosition0 = scalar, F32, 1688, "per", 1,0 +etbFeedForward0 = scalar, F32, 1692 +etbIntegralError0 = scalar, F32, 1696, "", 1, 0 +etbCurrentTarget0 = scalar, F32, 1700, "%", 1, 0 +etbCurrentAdjustedTarget0 = scalar, F32, 1704, "%", 1, 0 +etbRevLimitActive0 = bits, U32, 1708, [0:0] +jamDetected0 = bits, U32, 1708, [1:1] +etbTpsErrorCounter0 = scalar, U16, 1712, "count", 1,0 +etbPpsErrorCounter0 = scalar, U16, 1714, "count", 1,0 +etbErrorCode0 = scalar, S08, 1716, "", 1, 0 +tcEtbDrop0 = scalar, S08, 1717, "%", 1, 0 +jamTimer0 = scalar, U16, 1718, "sec", 0.01, 0 +adjustedEtbTarget0 = scalar, S08, 1720, "%", 1, 0 +; total TS size = 1724 +targetWithIdlePosition1 = scalar, F32, 1724, "per", 1,0 +trim1 = scalar, F32, 1728, "", 1, 0 +luaAdjustment1 = scalar, F32, 1732, "per", 1,0 +m_wastegatePosition1 = scalar, F32, 1736, "per", 1,0 +etbFeedForward1 = scalar, F32, 1740 +etbIntegralError1 = scalar, F32, 1744, "", 1, 0 +etbCurrentTarget1 = scalar, F32, 1748, "%", 1, 0 +etbCurrentAdjustedTarget1 = scalar, F32, 1752, "%", 1, 0 +etbRevLimitActive1 = bits, U32, 1756, [0:0] +jamDetected1 = bits, U32, 1756, [1:1] +etbTpsErrorCounter1 = scalar, U16, 1760, "count", 1,0 +etbPpsErrorCounter1 = scalar, U16, 1762, "count", 1,0 +etbErrorCode1 = scalar, S08, 1764, "", 1, 0 +tcEtbDrop1 = scalar, S08, 1765, "%", 1, 0 +jamTimer1 = scalar, U16, 1766, "sec", 0.01, 0 +adjustedEtbTarget1 = scalar, S08, 1768, "%", 1, 0 +; total TS size = 1772 +faultCode0 = scalar, U08, 1772, "", 1, 0 +heaterDuty0 = scalar, U08, 1773, "%", 1, 0 +pumpDuty0 = scalar, U08, 1774, "%", 1, 0 +tempC0 = scalar, U16, 1776, "C", 1, 0 +nernstVoltage0 = scalar, U16, 1778, "V", 0.001, 0 +esr0 = scalar, U16, 1780, "ohm", 1, 0 +; total TS size = 1784 +faultCode1 = scalar, U08, 1784, "", 1, 0 +heaterDuty1 = scalar, U08, 1785, "%", 1, 0 +pumpDuty1 = scalar, U08, 1786, "%", 1, 0 +tempC1 = scalar, U16, 1788, "C", 1, 0 +nernstVoltage1 = scalar, U16, 1790, "V", 0.001, 0 +esr1 = scalar, U16, 1792, "ohm", 1, 0 +; total TS size = 1796 +dcOutput0 = scalar, F32, 1796, "per", 1,0 +isEnabled0_int = scalar, U08, 1800, "per", 1,0 +isEnabled0 = bits, U32, 1804, [0:0] +; total TS size = 1808 +value0 = scalar, U16, 1808, "value", 1,0 +value1 = scalar, U16, 1810, "value", 1,0 +errorRate = scalar, F32, 1812, "ratio", 1,0 +; total TS size = 1816 +vvtTarget = scalar, U16, 1816, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1818, "%", 0.5, 0 +; total TS size = 1820 +lambdaCurrentlyGood = bits, U32, 1820, [0:0] +lambdaMonitorCut = bits, U32, 1820, [1:1] +lambdaTimeSinceGood = scalar, U16, 1824, "sec", 0.01, 0 +; total TS size = 1828 time = { timeNow } @@ -3616,6 +3648,7 @@ lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs8 requiresPowerCycle = cylinderBore + requiresPowerCycle = knockFrequency readOnly = warning_message readOnly = device_uid1 @@ -5029,6 +5062,26 @@ gaugeCategory = Knock knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knockSpectrumChannelCylGauge = m_knockSpectrumChannelCyl, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStartGauge = m_knockFrequencyStart, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStepGauge = m_knockFrequencyStep, "Knock Frequency Step", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFuelTrimMultiplier = m_knockFuelTrimMultiplier, "Knock Fuel Trim", "mult", 0, 0, 0, 0, 0, 30, 1, 1 + knockSpectrum1 = m_knockSpectrum1, "Knock Spectrum1", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum2 = m_knockSpectrum2, "knockSpectrum2", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum3 = m_knockSpectrum3, "knockSpectrum3", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum4 = m_knockSpectrum4, "knockSpectrum4", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum5 = m_knockSpectrum5, "knockSpectrum5", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum6 = m_knockSpectrum6, "knockSpectrum6", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum7 = m_knockSpectrum7, "knockSpectrum7", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum8 = m_knockSpectrum8, "knockSpectrum8", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum9 = m_knockSpectrum9, "knockSpectrum9", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum10 = m_knockSpectrum10, "knockSpectrum10", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum11 = m_knockSpectrum11, "knockSpectrum11", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum12 = m_knockSpectrum12, "knockSpectrum12", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum13 = m_knockSpectrum13, "knockSpectrum13", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum14 = m_knockSpectrum14, "knockSpectrum14", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum15 = m_knockSpectrum15, "knockSpectrum15", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum16 = m_knockSpectrum16, "knockSpectrum16", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -5626,6 +5679,26 @@ entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" entry = m_knockCount, "Knock: Count", int, "%d" entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_knockFrequency, "knock: frequency", int, "%d" +entry = m_knockSpectrum1, "Knock: SpectrumData 1", int, "%d" +entry = m_knockSpectrum2, "Knock: SpectrumData 2", int, "%d" +entry = m_knockSpectrum3, "Knock: SpectrumData 3", int, "%d" +entry = m_knockSpectrum4, "Knock: SpectrumData 4", int, "%d" +entry = m_knockSpectrum5, "Knock: SpectrumData 5", int, "%d" +entry = m_knockSpectrum6, "Knock: SpectrumData 6", int, "%d" +entry = m_knockSpectrum7, "Knock: SpectrumData 7", int, "%d" +entry = m_knockSpectrum8, "Knock: SpectrumData 8", int, "%d" +entry = m_knockSpectrum9, "Knock: SpectrumData 9", int, "%d" +entry = m_knockSpectrum10, "Knock: SpectrumData 10", int, "%d" +entry = m_knockSpectrum11, "Knock: SpectrumData 11", int, "%d" +entry = m_knockSpectrum12, "Knock: SpectrumData 12", int, "%d" +entry = m_knockSpectrum13, "Knock: SpectrumData 13", int, "%d" +entry = m_knockSpectrum14, "Knock: SpectrumData 14", int, "%d" +entry = m_knockSpectrum15, "Knock: SpectrumData 15", int, "%d" +entry = m_knockSpectrum16, "Knock: SpectrumData 16", int, "%d" +entry = m_knockSpectrumChannelCyl, "Knock: ChannelAndCylNumber", int, "%d" +entry = m_knockFrequencyStart, "Knock: Start Freq", int, "%d" +entry = m_knockFrequencyStep, "Knock: Step Freq", float, "%.3f" +entry = m_knockFuelTrimMultiplier, "Knock: Fuel trim when knock", float, "%.3f" entry = tcuCurrentGear, "TCU: Current Gear", int, "%d" entry = tcRatio, "TCU: Torque Converter Ratio", float, "%.3f" entry = lastShiftTime, "lastShiftTime", float, "%.3f" @@ -6509,6 +6582,31 @@ dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard graphLine = m_knockFrequency + graphLine = m_knockSpectrum1 + graphLine = m_knockSpectrum2 + liveGraph = knock_controller_6_Graph, "Graph", South + graphLine = m_knockSpectrum3 + graphLine = m_knockSpectrum4 + graphLine = m_knockSpectrum5 + graphLine = m_knockSpectrum6 + liveGraph = knock_controller_7_Graph, "Graph", South + graphLine = m_knockSpectrum7 + graphLine = m_knockSpectrum8 + graphLine = m_knockSpectrum9 + graphLine = m_knockSpectrum10 + liveGraph = knock_controller_8_Graph, "Graph", South + graphLine = m_knockSpectrum11 + graphLine = m_knockSpectrum12 + graphLine = m_knockSpectrum13 + graphLine = m_knockSpectrum14 + liveGraph = knock_controller_9_Graph, "Graph", South + graphLine = m_knockSpectrum15 + graphLine = m_knockSpectrum16 + graphLine = m_knockSpectrumChannelCyl + graphLine = m_knockFrequencyStart + liveGraph = knock_controller_10_Graph, "Graph", South + graphLine = m_knockFrequencyStep + graphLine = m_knockFuelTrimMultiplier indicatorPanel = tcu_controllerIndicatorPanel, 2 indicator = {isShifting}, "isShifting No", "isShifting Yes" @@ -8511,9 +8609,13 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockCfg, "Sense" field = "Enable", enableSoftwareKnock field = "Cylinder Bore", cylinderBore, {enableSoftwareKnock} + field = "Estimated Knock Frequency",knockFrequency, {enableSoftwareKnock} field = "Detection mode", knockDetectionUseDoubleFrequency field = "Detection Window Start",knockDetectionWindowStart, {enableSoftwareKnock} field = "Sampling Duration", knockSamplingDuration, {enableSoftwareKnock} + field = "Enable Knock Spectrogram", enableKnockSpectrogram, {enableSoftwareKnock} + field = "Enable Knock Spectrogram Filter", enableKnockSpectrogramFilter, {enableKnockSpectrogram} + field = "Knock Spectrum Sensitivity", knockSpectrumSensitivity, {enableKnockSpectrogram} field = "" field = "Select the nearest sensor for each cylinder" @@ -8529,6 +8631,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockResponseCfg, "Response" field = knockRetardAggression, knockRetardAggression field = knockRetardReapplyRate, knockRetardReapplyRate + field = knockFuelTrimAggression, knockFuelTrimAggression + field = knockFuelTrimReapplyRate, knockFuelTrimReapplyRate + field = knockFuelTrim, knockFuelTrim + field = knockSuppressMinTps, knockSuppressMinTps dialog = softwareKnockLeft, "" panel = softwareKnockCfg diff --git a/firmware/tunerstudio/generated/rusefi_hellen72.ini b/firmware/tunerstudio/generated/rusefi_hellen72.ini index affb22dc0c..edfb702249 100644 --- a/firmware/tunerstudio/generated/rusefi_hellen72.ini +++ b/firmware/tunerstudio/generated/rusefi_hellen72.ini @@ -38,12 +38,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.10.21.hellen72.2076784591" + signature = "rusEFI master.2024.10.21.hellen72.2816568624" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.10.21.hellen72.2076784591" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.10.21.hellen72.2816568624" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -774,6 +774,7 @@ devBit7 = bits, U32, 1492, [27:27], "false", "true" unusedSkipWasHere = bits, U32, 1492, [28:28], "false", "true" invertExhaustCamVVTSignal = bits, U32, 1492, [29:29], "Rising", "Falling" enableKnockSpectrogram = bits, U32, 1492, [30:30], "false", "true" +enableKnockSpectrogramFilter = bits, U32, 1492, [31:31], "false", "true" afterCrankingIACtaperDuration = scalar, S16, 1496, "cycles", 1, 0, 0, 5000, 0 iacByTpsTaper = scalar, S16, 1498, "percent", 1, 0, 0, 500, 0 unusedAuxSeria = bits, U16, 1500, [0:8], $gpio_list @@ -1394,7 +1395,13 @@ auxLinear4_v1 = scalar, F32, 3880, "volts", 1, 0, 0, 10, 2 auxLinear4_value1 = scalar, F32, 3884, "", 1, 0, -100000, 1000000, 2 auxLinear4_v2 = scalar, F32, 3888, "volts", 1, 0, 0, 10, 2 auxLinear4_value2 = scalar, F32, 3892, "", 1, 0, -100000, 1000000, 2 -unusedOftenChangesDuringFirmwareUpdate = array, U08, 3896, [128], "units", 1, 0, 0, 1, 0 +knockSuppressMinTps = scalar, U08, 3896, "%", 1, 0, 0, 100, 1 +knockFuelTrimAggression = scalar, U08, 3897, "%", 0.1, 0, 0, 20, 1 +knockFuelTrimReapplyRate = scalar, U08, 3898, "deg/s", 0.1, 0, 0, 10, 1 +knockFuelTrim = scalar, U08, 3899, "%", 1, 0, 0, 30, 1 +knockSpectrumSensitivity = scalar, F32, 3900, "sense", 1, 0, 0, 1, 2 +knockFrequency = scalar, F32, 3904, "Hz", 1, 0, 0, 20000, 2 +unusedOftenChangesDuringFirmwareUpdate = array, U08, 3908, [116], "units", 1, 0, 0, 1, 0 postCrankingFactor = array, F32, 4024, [6x6], "mult", 1, 0, 1, 3, 2 postCrankingDurationBins = array, F32, 4168, [6], "count", 1, 0, 0, 1000, 0 postCrankingCLTBins = array, S16, 4192, [6], "C", 1, 0, -100, 250, 0 @@ -2448,6 +2455,11 @@ minimumOilPressureValues = array, U08, 22960, [8], "kPa", 10.0, 0, 0, 1000, 0 minAcPressure = "value of A/C pressure in kPa before that compressor is disengaged" maxAcPressure = "value of A/C pressure in kPa after that compressor is disengaged" minimumOilPressureTimeout = "Delay before cutting fuel due to low oil pressure. Use this to ignore short pressure blips and sensor noise." + knockSuppressMinTps = "Below TPS value all knock suppression will be disabled." + knockFuelTrimAggression = "Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump)," + knockFuelTrimReapplyRate = "After a knock event, reapply fuel at this rate." + knockFuelTrim = "Fuel trim when knock, max 30%" + knockFrequency = "Estimated knock frequency, ignore cylinderBore if this one > 0" etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, open loop component of PID closed loop control" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2560,7 +2572,7 @@ minimumOilPressureValues = array, U08, 22960, [8], "kPa", 10.0, 0, 0, 1000, 0 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1752 + ochBlockSize = 1828 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3101,370 +3113,390 @@ m_knockThreshold = scalar, F32, 960, "", 1, 0 m_knockCount = scalar, U32, 964, "", 1, 0 m_maximumRetard = scalar, F32, 968, "", 1, 0 m_knockFrequency = scalar, U32, 972, "Hz", 1, 0 -; total TS size = 976 -tcuCurrentGear = scalar, S08, 976, "gear", 1, 0 -tcRatio = scalar, U16, 978, "value", 0.01, 0 -lastShiftTime = scalar, F32, 980, "", 1, 0 -tcu_currentRange = scalar, U08, 984, "", 1, 0 -pressureControlDuty = scalar, S08, 985, "%", 1,0 -torqueConverterDuty = scalar, S08, 986, "%", 1,0 -isShifting = bits, U32, 988, [0:0] -; total TS size = 992 -throttleUseWotModel = bits, U32, 992, [0:0] -throttleModelCrossoverAngle = scalar, S16, 996, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1000, "g/s", 1, 0 -; total TS size = 1004 -m_requested_pump = scalar, F32, 1004, "", 1, 0 -fuel_requested_percent = scalar, F32, 1008, "", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1012, "", 1, 0 -noValve = bits, U32, 1016, [0:0] -angleAboveMin = bits, U32, 1016, [1:1] -isHpfpInactive = bits, U32, 1016, [2:2] -m_pressureTarget_kPa = scalar, F32, 1020, "", 1, 0 -nextLobe = scalar, F32, 1024, "", 1, 0 -di_nextStart = scalar, F32, 1028, "v", 1, 0 -; total TS size = 1032 -m_deadtime = scalar, F32, 1032, "ms", 1, 0 -pressureDelta = scalar, F32, 1036, "kPa", 1, 0 -pressureRatio = scalar, F32, 1040, "", 1, 0 -; total TS size = 1044 -retardThresholdRpm = scalar, S32, 1044, "", 1, 0 -launchActivatePinState = bits, U32, 1048, [0:0] -isPreLaunchCondition = bits, U32, 1048, [1:1] -isLaunchCondition = bits, U32, 1048, [2:2] -isSwitchActivated = bits, U32, 1048, [3:3] -isClutchActivated = bits, U32, 1048, [4:4] -isBrakePedalActivated = bits, U32, 1048, [5:5] -isValidInputPin = bits, U32, 1048, [6:6] -activateSwitchCondition = bits, U32, 1048, [7:7] -rpmLaunchCondition = bits, U32, 1048, [8:8] -rpmPreLaunchCondition = bits, U32, 1048, [9:9] -speedCondition = bits, U32, 1048, [10:10] -tpsCondition = bits, U32, 1048, [11:11] +m_knockSpectrum1 = scalar, U32, 976, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 980, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 984, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 988, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1040, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1042, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1044, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1048, "multiplier", 1, 0 ; total TS size = 1052 -isTorqueReductionTriggerPinValid = bits, U32, 1052, [0:0] -torqueReductionTriggerPinState = bits, U32, 1052, [1:1] -isTimeConditionSatisfied = bits, U32, 1052, [2:2] -isRpmConditionSatisfied = bits, U32, 1052, [3:3] -isAppConditionSatisfied = bits, U32, 1052, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1052, [5:5] -; total TS size = 1056 -isAntilagCondition = bits, U32, 1056, [0:0] -ALSMinRPMCondition = bits, U32, 1056, [1:1] -ALSMaxRPMCondition = bits, U32, 1056, [2:2] -ALSMinCLTCondition = bits, U32, 1056, [3:3] -ALSMaxCLTCondition = bits, U32, 1056, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1056, [5:5] -isALSSwitchActivated = bits, U32, 1056, [6:6] -ALSActivatePinState = bits, U32, 1056, [7:7] -ALSSwitchCondition = bits, U32, 1056, [8:8] -ALSTimerCondition = bits, U32, 1056, [9:9] -fuelALSCorrection = scalar, F32, 1060, "", 1, 0 -timingALSCorrection = scalar, S16, 1064, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1066, "deg", 0.01, 0 +tcuCurrentGear = scalar, S08, 1052, "gear", 1, 0 +tcRatio = scalar, U16, 1054, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1056, "", 1, 0 +tcu_currentRange = scalar, U08, 1060, "", 1, 0 +pressureControlDuty = scalar, S08, 1061, "%", 1,0 +torqueConverterDuty = scalar, S08, 1062, "%", 1,0 +isShifting = bits, U32, 1064, [0:0] ; total TS size = 1068 -isTpsInvalid = bits, U32, 1068, [0:0] -m_shouldResetPid = bits, U32, 1068, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1068, [2:2] -isNotClosedLoop = bits, U32, 1068, [3:3] -isZeroRpm = bits, U32, 1068, [4:4] -hasInitBoost = bits, U32, 1068, [5:5] -rpmTooLow = bits, U32, 1068, [6:6] -tpsTooLow = bits, U32, 1068, [7:7] -mapTooLow = bits, U32, 1068, [8:8] -isPlantValid = bits, U32, 1068, [9:9] -isBoostControlled = bits, U32, 1068, [10:10] -luaTargetAdd = scalar, S16, 1072, "v", 0.5,0 -boostOutput = scalar, S16, 1074, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1076, "v", 1,0 -openLoopPart = scalar, F32, 1080, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1084, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1088, "%", 0.5,0 -boostControlTarget = scalar, S16, 1090, "kPa", 0.03333333333333333,0 -; total TS size = 1092 -acButtonState = scalar, S08, 1092, "", 1, 0 -m_acEnabled = bits, U32, 1096, [0:0] -engineTooSlow = bits, U32, 1096, [1:1] -engineTooFast = bits, U32, 1096, [2:2] -noClt = bits, U32, 1096, [3:3] -engineTooHot = bits, U32, 1096, [4:4] -tpsTooHigh = bits, U32, 1096, [5:5] -isDisabledByLua = bits, U32, 1096, [6:6] -acCompressorState = bits, U32, 1096, [7:7] -acPressureTooLow = bits, U32, 1096, [8:8] -acPressureTooHigh = bits, U32, 1096, [9:9] -; total TS size = 1100 -cranking0 = bits, U32, 1100, [0:0] -notRunning0 = bits, U32, 1100, [1:1] -disabledWhileEngineStopped0 = bits, U32, 1100, [2:2] -brokenClt0 = bits, U32, 1100, [3:3] -enabledForAc0 = bits, U32, 1100, [4:4] -hot0 = bits, U32, 1100, [5:5] -cold0 = bits, U32, 1100, [6:6] -disabledBySpeed0 = bits, U32, 1100, [7:7] -radiatorFanStatus0 = scalar, U08, 1104, "", 1, 0 +throttleUseWotModel = bits, U32, 1068, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1072, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1076, "g/s", 1, 0 +; total TS size = 1080 +m_requested_pump = scalar, F32, 1080, "", 1, 0 +fuel_requested_percent = scalar, F32, 1084, "", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1088, "", 1, 0 +noValve = bits, U32, 1092, [0:0] +angleAboveMin = bits, U32, 1092, [1:1] +isHpfpInactive = bits, U32, 1092, [2:2] +m_pressureTarget_kPa = scalar, F32, 1096, "", 1, 0 +nextLobe = scalar, F32, 1100, "", 1, 0 +di_nextStart = scalar, F32, 1104, "v", 1, 0 ; total TS size = 1108 -cranking1 = bits, U32, 1108, [0:0] -notRunning1 = bits, U32, 1108, [1:1] -disabledWhileEngineStopped1 = bits, U32, 1108, [2:2] -brokenClt1 = bits, U32, 1108, [3:3] -enabledForAc1 = bits, U32, 1108, [4:4] -hot1 = bits, U32, 1108, [5:5] -cold1 = bits, U32, 1108, [6:6] -disabledBySpeed1 = bits, U32, 1108, [7:7] -radiatorFanStatus1 = scalar, U08, 1112, "", 1, 0 -; total TS size = 1116 -isPrime = bits, U32, 1116, [0:0] -engineTurnedRecently = bits, U32, 1116, [1:1] -isFuelPumpOn = bits, U32, 1116, [2:2] -ignitionOn = bits, U32, 1116, [3:3] +m_deadtime = scalar, F32, 1108, "ms", 1, 0 +pressureDelta = scalar, F32, 1112, "kPa", 1, 0 +pressureRatio = scalar, F32, 1116, "", 1, 0 ; total TS size = 1120 -isBenchTest = bits, U32, 1120, [0:0] -hasIgnitionVoltage = bits, U32, 1120, [1:1] -mainRelayState = bits, U32, 1120, [2:2] -delayedShutoffRequested = bits, U32, 1120, [3:3] -; total TS size = 1124 -lua_fuelAdd = scalar, F32, 1124, "g", 1, 0 -lua_fuelMult = scalar, F32, 1128, "", 1, 0 -lua_clutchUpState = bits, U32, 1132, [0:0] -lua_brakePedalState = bits, U32, 1132, [1:1] -lua_acRequestState = bits, U32, 1132, [2:2] -lua_luaDisableEtb = bits, U32, 1132, [3:3] -lua_luaIgnCut = bits, U32, 1132, [4:4] -lua_luaFuelCut = bits, U32, 1132, [5:5] -lua_clutchDownState = bits, U32, 1132, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1132, [7:7] -sd_tCharge = scalar, S16, 1136, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1140, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1144, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1148, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1152, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1156, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1160, "", 1, 0 -hellenBoardId = scalar, S16, 1164, "id", 1, 0 -clutchUpState = scalar, S08, 1166, "", 1, 0 -clutchDownState = scalar, S08, 1167, "", 1, 0 -brakePedalState = scalar, S08, 1168, "", 1, 0 -startStopState = scalar, S08, 1169, "", 1, 0 -smartChipState = scalar, S08, 1170, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1171, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1172, "", 1, 0 -startStopPhysicalState = bits, U32, 1176, [0:0] -acrActive = bits, U32, 1176, [1:1] -acrEngineMovedRecently = bits, U32, 1176, [2:2] -heaterControlEnabled = bits, U32, 1176, [3:3] -luaDigitalState0 = bits, U32, 1176, [4:4] -luaDigitalState1 = bits, U32, 1176, [5:5] -luaDigitalState2 = bits, U32, 1176, [6:6] -luaDigitalState3 = bits, U32, 1176, [7:7] -startStopStateToggleCounter = scalar, U32, 1180, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1184, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1188, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1192, "", 1, 0 -desiredRpmLimit = scalar, S16, 1196, "rpm", 1, 0 -fuelInjectionCounter = scalar, U32, 1200, "", 1, 0 -globalSparkCounter = scalar, U32, 1204, "", 1, 0 -fuelingLoad = scalar, F32, 1208, "", 1, 0 -ignitionLoad = scalar, F32, 1212, "", 1, 0 -veTableYAxis = scalar, U16, 1216, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1218, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1219, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1220, "", 1, 0 -; total TS size = 1224 -tpsFrom = scalar, F32, 1224 -tpsTo = scalar, F32, 1228 -deltaTps = scalar, F32, 1232 -extraFuel = scalar, F32, 1236, "", 1, 0 -valueFromTable = scalar, F32, 1240, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1244, [0:0] -isBelowDecelThreshold = bits, U32, 1244, [1:1] -isTimeToResetAccumulator = bits, U32, 1244, [2:2] -isFractionalEnrichment = bits, U32, 1244, [3:3] -belowEpsilon = bits, U32, 1244, [4:4] -tooShort = bits, U32, 1244, [5:5] -fractionalInjFuel = scalar, F32, 1248, "", 1, 0 -accumulatedValue = scalar, F32, 1252, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1256, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1260, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1264, "", 1, 0 -cycleCnt = scalar, S32, 1268, "", 1, 0 -; total TS size = 1272 -hwEventCounters1 = scalar, U32, 1272, "", 1, 0 -hwEventCounters2 = scalar, U32, 1276, "", 1, 0 -hwEventCounters3 = scalar, U32, 1280, "", 1, 0 -hwEventCounters4 = scalar, U32, 1284, "", 1, 0 -hwEventCounters5 = scalar, U32, 1288, "", 1, 0 -hwEventCounters6 = scalar, U32, 1292, "", 1, 0 -vvtCamCounter = scalar, U32, 1296, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1300, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1304, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1308, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1309, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1312, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1316, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1320, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1324, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1328, [0:0] -triggerElapsedUs = scalar, U32, 1332, "", 1, 0 -; total TS size = 1336 -crankSynchronizationCounter0 = scalar, U32, 1336, "", 1, 0 -vvtSyncGapRatio0 = scalar, F32, 1340, "", 1, 0 -vvtToothDurations00 = scalar, U32, 1344, "us", 1, 0 -vvtCurrentPosition0 = scalar, F32, 1348, "sync: Primary Cam Position", 1, 0 -vvtToothPosition10 = scalar, F32, 1352, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition20 = scalar, F32, 1356, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition30 = scalar, F32, 1360, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition40 = scalar, F32, 1364, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio0 = scalar, F32, 1368, "", 1, 0 -triggerStateIndex0 = scalar, U08, 1372, "", 1, 0 -vvtStateIndex0 = scalar, U08, 1373, "", 1, 0 -; total TS size = 1376 -crankSynchronizationCounter1 = scalar, U32, 1376, "", 1, 0 -vvtSyncGapRatio1 = scalar, F32, 1380, "", 1, 0 -vvtToothDurations01 = scalar, U32, 1384, "us", 1, 0 -vvtCurrentPosition1 = scalar, F32, 1388, "sync: Primary Cam Position", 1, 0 -vvtToothPosition11 = scalar, F32, 1392, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition21 = scalar, F32, 1396, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition31 = scalar, F32, 1400, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition41 = scalar, F32, 1404, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio1 = scalar, F32, 1408, "", 1, 0 -triggerStateIndex1 = scalar, U08, 1412, "", 1, 0 -vvtStateIndex1 = scalar, U08, 1413, "", 1, 0 -; total TS size = 1416 -crankSynchronizationCounter2 = scalar, U32, 1416, "", 1, 0 -vvtSyncGapRatio2 = scalar, F32, 1420, "", 1, 0 -vvtToothDurations02 = scalar, U32, 1424, "us", 1, 0 -vvtCurrentPosition2 = scalar, F32, 1428, "sync: Primary Cam Position", 1, 0 -vvtToothPosition12 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition22 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition32 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition42 = scalar, F32, 1444, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio2 = scalar, F32, 1448, "", 1, 0 -triggerStateIndex2 = scalar, U08, 1452, "", 1, 0 -vvtStateIndex2 = scalar, U08, 1453, "", 1, 0 -; total TS size = 1456 -crankSynchronizationCounter3 = scalar, U32, 1456, "", 1, 0 -vvtSyncGapRatio3 = scalar, F32, 1460, "", 1, 0 -vvtToothDurations03 = scalar, U32, 1464, "us", 1, 0 -vvtCurrentPosition3 = scalar, F32, 1468, "sync: Primary Cam Position", 1, 0 -vvtToothPosition13 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition23 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition33 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition43 = scalar, F32, 1484, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio3 = scalar, F32, 1488, "", 1, 0 -triggerStateIndex3 = scalar, U08, 1492, "", 1, 0 -vvtStateIndex3 = scalar, U08, 1493, "", 1, 0 -; total TS size = 1496 -crankSynchronizationCounter4 = scalar, U32, 1496, "", 1, 0 -vvtSyncGapRatio4 = scalar, F32, 1500, "", 1, 0 -vvtToothDurations04 = scalar, U32, 1504, "us", 1, 0 -vvtCurrentPosition4 = scalar, F32, 1508, "sync: Primary Cam Position", 1, 0 -vvtToothPosition14 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition24 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition34 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition44 = scalar, F32, 1524, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio4 = scalar, F32, 1528, "", 1, 0 -triggerStateIndex4 = scalar, U08, 1532, "", 1, 0 -vvtStateIndex4 = scalar, U08, 1533, "", 1, 0 -; total TS size = 1536 -camResyncCounter = scalar, U08, 1536, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1540, [0:0] -; total TS size = 1544 -wallFuelCorrection = scalar, F32, 1544, "", 1, 0 -wallFuel = scalar, F32, 1548, "", 1, 0 -; total TS size = 1552 -idleState = bits, S32, 1552, [0:2], "not important" -currentIdlePosition = scalar, F32, 1556 -baseIdlePosition = scalar, F32, 1560 -idleClosedLoop = scalar, F32, 1564 -iacByTpsTaper = scalar, F32, 1568 -throttlePedalUpState = scalar, S32, 1572, "", 1, 0 -mightResetPid = bits, U32, 1576, [0:0] -shouldResetPid = bits, U32, 1576, [1:1] -wasResetPid = bits, U32, 1576, [2:2] -mustResetPid = bits, U32, 1576, [3:3] -isCranking = bits, U32, 1576, [4:4] -isIacTableForCoasting = bits, U32, 1576, [5:5] -notIdling = bits, U32, 1576, [6:6] -needReset = bits, U32, 1576, [7:7] -isInDeadZone = bits, U32, 1576, [8:8] -isBlipping = bits, U32, 1576, [9:9] -useClosedLoop = bits, U32, 1576, [10:10] -badTps = bits, U32, 1576, [11:11] -looksLikeRunning = bits, U32, 1576, [12:12] -looksLikeCoasting = bits, U32, 1576, [13:13] -looksLikeCrankToIdle = bits, U32, 1576, [14:14] -isIdleCoasting = bits, U32, 1576, [15:15] -isIdleClosedLoop = bits, U32, 1576, [16:16] -idleTarget = scalar, S32, 1580, "", 1, 0 -targetRpmByClt = scalar, S32, 1584, "", 1, 0 -targetRpmAc = scalar, S32, 1588, "", 1, 0 -iacByRpmTaper = scalar, F32, 1592 -luaAdd = scalar, F32, 1596 -; total TS size = 1600 -targetWithIdlePosition0 = scalar, F32, 1600, "per", 1,0 -trim0 = scalar, F32, 1604, "", 1, 0 -luaAdjustment0 = scalar, F32, 1608, "per", 1,0 -m_wastegatePosition0 = scalar, F32, 1612, "per", 1,0 -etbFeedForward0 = scalar, F32, 1616 -etbIntegralError0 = scalar, F32, 1620, "", 1, 0 -etbCurrentTarget0 = scalar, F32, 1624, "%", 1, 0 -etbCurrentAdjustedTarget0 = scalar, F32, 1628, "%", 1, 0 -etbRevLimitActive0 = bits, U32, 1632, [0:0] -jamDetected0 = bits, U32, 1632, [1:1] -etbTpsErrorCounter0 = scalar, U16, 1636, "count", 1,0 -etbPpsErrorCounter0 = scalar, U16, 1638, "count", 1,0 -etbErrorCode0 = scalar, S08, 1640, "", 1, 0 -tcEtbDrop0 = scalar, S08, 1641, "%", 1, 0 -jamTimer0 = scalar, U16, 1642, "sec", 0.01, 0 -adjustedEtbTarget0 = scalar, S08, 1644, "%", 1, 0 -; total TS size = 1648 -targetWithIdlePosition1 = scalar, F32, 1648, "per", 1,0 -trim1 = scalar, F32, 1652, "", 1, 0 -luaAdjustment1 = scalar, F32, 1656, "per", 1,0 -m_wastegatePosition1 = scalar, F32, 1660, "per", 1,0 -etbFeedForward1 = scalar, F32, 1664 -etbIntegralError1 = scalar, F32, 1668, "", 1, 0 -etbCurrentTarget1 = scalar, F32, 1672, "%", 1, 0 -etbCurrentAdjustedTarget1 = scalar, F32, 1676, "%", 1, 0 -etbRevLimitActive1 = bits, U32, 1680, [0:0] -jamDetected1 = bits, U32, 1680, [1:1] -etbTpsErrorCounter1 = scalar, U16, 1684, "count", 1,0 -etbPpsErrorCounter1 = scalar, U16, 1686, "count", 1,0 -etbErrorCode1 = scalar, S08, 1688, "", 1, 0 -tcEtbDrop1 = scalar, S08, 1689, "%", 1, 0 -jamTimer1 = scalar, U16, 1690, "sec", 0.01, 0 -adjustedEtbTarget1 = scalar, S08, 1692, "%", 1, 0 -; total TS size = 1696 -faultCode0 = scalar, U08, 1696, "", 1, 0 -heaterDuty0 = scalar, U08, 1697, "%", 1, 0 -pumpDuty0 = scalar, U08, 1698, "%", 1, 0 -tempC0 = scalar, U16, 1700, "C", 1, 0 -nernstVoltage0 = scalar, U16, 1702, "V", 0.001, 0 -esr0 = scalar, U16, 1704, "ohm", 1, 0 -; total TS size = 1708 -faultCode1 = scalar, U08, 1708, "", 1, 0 -heaterDuty1 = scalar, U08, 1709, "%", 1, 0 -pumpDuty1 = scalar, U08, 1710, "%", 1, 0 -tempC1 = scalar, U16, 1712, "C", 1, 0 -nernstVoltage1 = scalar, U16, 1714, "V", 0.001, 0 -esr1 = scalar, U16, 1716, "ohm", 1, 0 -; total TS size = 1720 -dcOutput0 = scalar, F32, 1720, "per", 1,0 -isEnabled0_int = scalar, U08, 1724, "per", 1,0 -isEnabled0 = bits, U32, 1728, [0:0] -; total TS size = 1732 -value0 = scalar, U16, 1732, "value", 1,0 -value1 = scalar, U16, 1734, "value", 1,0 -errorRate = scalar, F32, 1736, "ratio", 1,0 -; total TS size = 1740 -vvtTarget = scalar, U16, 1740, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1742, "%", 0.5, 0 -; total TS size = 1744 -lambdaCurrentlyGood = bits, U32, 1744, [0:0] -lambdaMonitorCut = bits, U32, 1744, [1:1] -lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 -; total TS size = 1752 +retardThresholdRpm = scalar, S32, 1120, "", 1, 0 +launchActivatePinState = bits, U32, 1124, [0:0] +isPreLaunchCondition = bits, U32, 1124, [1:1] +isLaunchCondition = bits, U32, 1124, [2:2] +isSwitchActivated = bits, U32, 1124, [3:3] +isClutchActivated = bits, U32, 1124, [4:4] +isBrakePedalActivated = bits, U32, 1124, [5:5] +isValidInputPin = bits, U32, 1124, [6:6] +activateSwitchCondition = bits, U32, 1124, [7:7] +rpmLaunchCondition = bits, U32, 1124, [8:8] +rpmPreLaunchCondition = bits, U32, 1124, [9:9] +speedCondition = bits, U32, 1124, [10:10] +tpsCondition = bits, U32, 1124, [11:11] +; total TS size = 1128 +isTorqueReductionTriggerPinValid = bits, U32, 1128, [0:0] +torqueReductionTriggerPinState = bits, U32, 1128, [1:1] +isTimeConditionSatisfied = bits, U32, 1128, [2:2] +isRpmConditionSatisfied = bits, U32, 1128, [3:3] +isAppConditionSatisfied = bits, U32, 1128, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1128, [5:5] +; total TS size = 1132 +isAntilagCondition = bits, U32, 1132, [0:0] +ALSMinRPMCondition = bits, U32, 1132, [1:1] +ALSMaxRPMCondition = bits, U32, 1132, [2:2] +ALSMinCLTCondition = bits, U32, 1132, [3:3] +ALSMaxCLTCondition = bits, U32, 1132, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1132, [5:5] +isALSSwitchActivated = bits, U32, 1132, [6:6] +ALSActivatePinState = bits, U32, 1132, [7:7] +ALSSwitchCondition = bits, U32, 1132, [8:8] +ALSTimerCondition = bits, U32, 1132, [9:9] +fuelALSCorrection = scalar, F32, 1136, "", 1, 0 +timingALSCorrection = scalar, S16, 1140, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1142, "deg", 0.01, 0 +; total TS size = 1144 +isTpsInvalid = bits, U32, 1144, [0:0] +m_shouldResetPid = bits, U32, 1144, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1144, [2:2] +isNotClosedLoop = bits, U32, 1144, [3:3] +isZeroRpm = bits, U32, 1144, [4:4] +hasInitBoost = bits, U32, 1144, [5:5] +rpmTooLow = bits, U32, 1144, [6:6] +tpsTooLow = bits, U32, 1144, [7:7] +mapTooLow = bits, U32, 1144, [8:8] +isPlantValid = bits, U32, 1144, [9:9] +isBoostControlled = bits, U32, 1144, [10:10] +luaTargetAdd = scalar, S16, 1148, "v", 0.5,0 +boostOutput = scalar, S16, 1150, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1152, "v", 1,0 +openLoopPart = scalar, F32, 1156, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1160, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1164, "%", 0.5,0 +boostControlTarget = scalar, S16, 1166, "kPa", 0.03333333333333333,0 +; total TS size = 1168 +acButtonState = scalar, S08, 1168, "", 1, 0 +m_acEnabled = bits, U32, 1172, [0:0] +engineTooSlow = bits, U32, 1172, [1:1] +engineTooFast = bits, U32, 1172, [2:2] +noClt = bits, U32, 1172, [3:3] +engineTooHot = bits, U32, 1172, [4:4] +tpsTooHigh = bits, U32, 1172, [5:5] +isDisabledByLua = bits, U32, 1172, [6:6] +acCompressorState = bits, U32, 1172, [7:7] +acPressureTooLow = bits, U32, 1172, [8:8] +acPressureTooHigh = bits, U32, 1172, [9:9] +; total TS size = 1176 +cranking0 = bits, U32, 1176, [0:0] +notRunning0 = bits, U32, 1176, [1:1] +disabledWhileEngineStopped0 = bits, U32, 1176, [2:2] +brokenClt0 = bits, U32, 1176, [3:3] +enabledForAc0 = bits, U32, 1176, [4:4] +hot0 = bits, U32, 1176, [5:5] +cold0 = bits, U32, 1176, [6:6] +disabledBySpeed0 = bits, U32, 1176, [7:7] +radiatorFanStatus0 = scalar, U08, 1180, "", 1, 0 +; total TS size = 1184 +cranking1 = bits, U32, 1184, [0:0] +notRunning1 = bits, U32, 1184, [1:1] +disabledWhileEngineStopped1 = bits, U32, 1184, [2:2] +brokenClt1 = bits, U32, 1184, [3:3] +enabledForAc1 = bits, U32, 1184, [4:4] +hot1 = bits, U32, 1184, [5:5] +cold1 = bits, U32, 1184, [6:6] +disabledBySpeed1 = bits, U32, 1184, [7:7] +radiatorFanStatus1 = scalar, U08, 1188, "", 1, 0 +; total TS size = 1192 +isPrime = bits, U32, 1192, [0:0] +engineTurnedRecently = bits, U32, 1192, [1:1] +isFuelPumpOn = bits, U32, 1192, [2:2] +ignitionOn = bits, U32, 1192, [3:3] +; total TS size = 1196 +isBenchTest = bits, U32, 1196, [0:0] +hasIgnitionVoltage = bits, U32, 1196, [1:1] +mainRelayState = bits, U32, 1196, [2:2] +delayedShutoffRequested = bits, U32, 1196, [3:3] +; total TS size = 1200 +lua_fuelAdd = scalar, F32, 1200, "g", 1, 0 +lua_fuelMult = scalar, F32, 1204, "", 1, 0 +lua_clutchUpState = bits, U32, 1208, [0:0] +lua_brakePedalState = bits, U32, 1208, [1:1] +lua_acRequestState = bits, U32, 1208, [2:2] +lua_luaDisableEtb = bits, U32, 1208, [3:3] +lua_luaIgnCut = bits, U32, 1208, [4:4] +lua_luaFuelCut = bits, U32, 1208, [5:5] +lua_clutchDownState = bits, U32, 1208, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1208, [7:7] +sd_tCharge = scalar, S16, 1212, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1216, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1220, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1224, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1228, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1232, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1236, "", 1, 0 +hellenBoardId = scalar, S16, 1240, "id", 1, 0 +clutchUpState = scalar, S08, 1242, "", 1, 0 +clutchDownState = scalar, S08, 1243, "", 1, 0 +brakePedalState = scalar, S08, 1244, "", 1, 0 +startStopState = scalar, S08, 1245, "", 1, 0 +smartChipState = scalar, S08, 1246, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1247, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1248, "", 1, 0 +startStopPhysicalState = bits, U32, 1252, [0:0] +acrActive = bits, U32, 1252, [1:1] +acrEngineMovedRecently = bits, U32, 1252, [2:2] +heaterControlEnabled = bits, U32, 1252, [3:3] +luaDigitalState0 = bits, U32, 1252, [4:4] +luaDigitalState1 = bits, U32, 1252, [5:5] +luaDigitalState2 = bits, U32, 1252, [6:6] +luaDigitalState3 = bits, U32, 1252, [7:7] +startStopStateToggleCounter = scalar, U32, 1256, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1260, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1264, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1268, "", 1, 0 +desiredRpmLimit = scalar, S16, 1272, "rpm", 1, 0 +fuelInjectionCounter = scalar, U32, 1276, "", 1, 0 +globalSparkCounter = scalar, U32, 1280, "", 1, 0 +fuelingLoad = scalar, F32, 1284, "", 1, 0 +ignitionLoad = scalar, F32, 1288, "", 1, 0 +veTableYAxis = scalar, U16, 1292, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1294, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1295, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1296, "", 1, 0 +; total TS size = 1300 +tpsFrom = scalar, F32, 1300 +tpsTo = scalar, F32, 1304 +deltaTps = scalar, F32, 1308 +extraFuel = scalar, F32, 1312, "", 1, 0 +valueFromTable = scalar, F32, 1316, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1320, [0:0] +isBelowDecelThreshold = bits, U32, 1320, [1:1] +isTimeToResetAccumulator = bits, U32, 1320, [2:2] +isFractionalEnrichment = bits, U32, 1320, [3:3] +belowEpsilon = bits, U32, 1320, [4:4] +tooShort = bits, U32, 1320, [5:5] +fractionalInjFuel = scalar, F32, 1324, "", 1, 0 +accumulatedValue = scalar, F32, 1328, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1332, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1336, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1340, "", 1, 0 +cycleCnt = scalar, S32, 1344, "", 1, 0 +; total TS size = 1348 +hwEventCounters1 = scalar, U32, 1348, "", 1, 0 +hwEventCounters2 = scalar, U32, 1352, "", 1, 0 +hwEventCounters3 = scalar, U32, 1356, "", 1, 0 +hwEventCounters4 = scalar, U32, 1360, "", 1, 0 +hwEventCounters5 = scalar, U32, 1364, "", 1, 0 +hwEventCounters6 = scalar, U32, 1368, "", 1, 0 +vvtCamCounter = scalar, U32, 1372, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1376, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1380, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1384, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1385, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1388, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1392, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1396, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1400, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1404, [0:0] +triggerElapsedUs = scalar, U32, 1408, "", 1, 0 +; total TS size = 1412 +crankSynchronizationCounter0 = scalar, U32, 1412, "", 1, 0 +vvtSyncGapRatio0 = scalar, F32, 1416, "", 1, 0 +vvtToothDurations00 = scalar, U32, 1420, "us", 1, 0 +vvtCurrentPosition0 = scalar, F32, 1424, "sync: Primary Cam Position", 1, 0 +vvtToothPosition10 = scalar, F32, 1428, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition20 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition30 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition40 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio0 = scalar, F32, 1444, "", 1, 0 +triggerStateIndex0 = scalar, U08, 1448, "", 1, 0 +vvtStateIndex0 = scalar, U08, 1449, "", 1, 0 +; total TS size = 1452 +crankSynchronizationCounter1 = scalar, U32, 1452, "", 1, 0 +vvtSyncGapRatio1 = scalar, F32, 1456, "", 1, 0 +vvtToothDurations01 = scalar, U32, 1460, "us", 1, 0 +vvtCurrentPosition1 = scalar, F32, 1464, "sync: Primary Cam Position", 1, 0 +vvtToothPosition11 = scalar, F32, 1468, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition21 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition31 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition41 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio1 = scalar, F32, 1484, "", 1, 0 +triggerStateIndex1 = scalar, U08, 1488, "", 1, 0 +vvtStateIndex1 = scalar, U08, 1489, "", 1, 0 +; total TS size = 1492 +crankSynchronizationCounter2 = scalar, U32, 1492, "", 1, 0 +vvtSyncGapRatio2 = scalar, F32, 1496, "", 1, 0 +vvtToothDurations02 = scalar, U32, 1500, "us", 1, 0 +vvtCurrentPosition2 = scalar, F32, 1504, "sync: Primary Cam Position", 1, 0 +vvtToothPosition12 = scalar, F32, 1508, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition22 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition32 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition42 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio2 = scalar, F32, 1524, "", 1, 0 +triggerStateIndex2 = scalar, U08, 1528, "", 1, 0 +vvtStateIndex2 = scalar, U08, 1529, "", 1, 0 +; total TS size = 1532 +crankSynchronizationCounter3 = scalar, U32, 1532, "", 1, 0 +vvtSyncGapRatio3 = scalar, F32, 1536, "", 1, 0 +vvtToothDurations03 = scalar, U32, 1540, "us", 1, 0 +vvtCurrentPosition3 = scalar, F32, 1544, "sync: Primary Cam Position", 1, 0 +vvtToothPosition13 = scalar, F32, 1548, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition23 = scalar, F32, 1552, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition33 = scalar, F32, 1556, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition43 = scalar, F32, 1560, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio3 = scalar, F32, 1564, "", 1, 0 +triggerStateIndex3 = scalar, U08, 1568, "", 1, 0 +vvtStateIndex3 = scalar, U08, 1569, "", 1, 0 +; total TS size = 1572 +crankSynchronizationCounter4 = scalar, U32, 1572, "", 1, 0 +vvtSyncGapRatio4 = scalar, F32, 1576, "", 1, 0 +vvtToothDurations04 = scalar, U32, 1580, "us", 1, 0 +vvtCurrentPosition4 = scalar, F32, 1584, "sync: Primary Cam Position", 1, 0 +vvtToothPosition14 = scalar, F32, 1588, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition24 = scalar, F32, 1592, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition34 = scalar, F32, 1596, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition44 = scalar, F32, 1600, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio4 = scalar, F32, 1604, "", 1, 0 +triggerStateIndex4 = scalar, U08, 1608, "", 1, 0 +vvtStateIndex4 = scalar, U08, 1609, "", 1, 0 +; total TS size = 1612 +camResyncCounter = scalar, U08, 1612, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1616, [0:0] +; total TS size = 1620 +wallFuelCorrection = scalar, F32, 1620, "", 1, 0 +wallFuel = scalar, F32, 1624, "", 1, 0 +; total TS size = 1628 +idleState = bits, S32, 1628, [0:2], "not important" +currentIdlePosition = scalar, F32, 1632 +baseIdlePosition = scalar, F32, 1636 +idleClosedLoop = scalar, F32, 1640 +iacByTpsTaper = scalar, F32, 1644 +throttlePedalUpState = scalar, S32, 1648, "", 1, 0 +mightResetPid = bits, U32, 1652, [0:0] +shouldResetPid = bits, U32, 1652, [1:1] +wasResetPid = bits, U32, 1652, [2:2] +mustResetPid = bits, U32, 1652, [3:3] +isCranking = bits, U32, 1652, [4:4] +isIacTableForCoasting = bits, U32, 1652, [5:5] +notIdling = bits, U32, 1652, [6:6] +needReset = bits, U32, 1652, [7:7] +isInDeadZone = bits, U32, 1652, [8:8] +isBlipping = bits, U32, 1652, [9:9] +useClosedLoop = bits, U32, 1652, [10:10] +badTps = bits, U32, 1652, [11:11] +looksLikeRunning = bits, U32, 1652, [12:12] +looksLikeCoasting = bits, U32, 1652, [13:13] +looksLikeCrankToIdle = bits, U32, 1652, [14:14] +isIdleCoasting = bits, U32, 1652, [15:15] +isIdleClosedLoop = bits, U32, 1652, [16:16] +idleTarget = scalar, S32, 1656, "", 1, 0 +targetRpmByClt = scalar, S32, 1660, "", 1, 0 +targetRpmAc = scalar, S32, 1664, "", 1, 0 +iacByRpmTaper = scalar, F32, 1668 +luaAdd = scalar, F32, 1672 +; total TS size = 1676 +targetWithIdlePosition0 = scalar, F32, 1676, "per", 1,0 +trim0 = scalar, F32, 1680, "", 1, 0 +luaAdjustment0 = scalar, F32, 1684, "per", 1,0 +m_wastegatePosition0 = scalar, F32, 1688, "per", 1,0 +etbFeedForward0 = scalar, F32, 1692 +etbIntegralError0 = scalar, F32, 1696, "", 1, 0 +etbCurrentTarget0 = scalar, F32, 1700, "%", 1, 0 +etbCurrentAdjustedTarget0 = scalar, F32, 1704, "%", 1, 0 +etbRevLimitActive0 = bits, U32, 1708, [0:0] +jamDetected0 = bits, U32, 1708, [1:1] +etbTpsErrorCounter0 = scalar, U16, 1712, "count", 1,0 +etbPpsErrorCounter0 = scalar, U16, 1714, "count", 1,0 +etbErrorCode0 = scalar, S08, 1716, "", 1, 0 +tcEtbDrop0 = scalar, S08, 1717, "%", 1, 0 +jamTimer0 = scalar, U16, 1718, "sec", 0.01, 0 +adjustedEtbTarget0 = scalar, S08, 1720, "%", 1, 0 +; total TS size = 1724 +targetWithIdlePosition1 = scalar, F32, 1724, "per", 1,0 +trim1 = scalar, F32, 1728, "", 1, 0 +luaAdjustment1 = scalar, F32, 1732, "per", 1,0 +m_wastegatePosition1 = scalar, F32, 1736, "per", 1,0 +etbFeedForward1 = scalar, F32, 1740 +etbIntegralError1 = scalar, F32, 1744, "", 1, 0 +etbCurrentTarget1 = scalar, F32, 1748, "%", 1, 0 +etbCurrentAdjustedTarget1 = scalar, F32, 1752, "%", 1, 0 +etbRevLimitActive1 = bits, U32, 1756, [0:0] +jamDetected1 = bits, U32, 1756, [1:1] +etbTpsErrorCounter1 = scalar, U16, 1760, "count", 1,0 +etbPpsErrorCounter1 = scalar, U16, 1762, "count", 1,0 +etbErrorCode1 = scalar, S08, 1764, "", 1, 0 +tcEtbDrop1 = scalar, S08, 1765, "%", 1, 0 +jamTimer1 = scalar, U16, 1766, "sec", 0.01, 0 +adjustedEtbTarget1 = scalar, S08, 1768, "%", 1, 0 +; total TS size = 1772 +faultCode0 = scalar, U08, 1772, "", 1, 0 +heaterDuty0 = scalar, U08, 1773, "%", 1, 0 +pumpDuty0 = scalar, U08, 1774, "%", 1, 0 +tempC0 = scalar, U16, 1776, "C", 1, 0 +nernstVoltage0 = scalar, U16, 1778, "V", 0.001, 0 +esr0 = scalar, U16, 1780, "ohm", 1, 0 +; total TS size = 1784 +faultCode1 = scalar, U08, 1784, "", 1, 0 +heaterDuty1 = scalar, U08, 1785, "%", 1, 0 +pumpDuty1 = scalar, U08, 1786, "%", 1, 0 +tempC1 = scalar, U16, 1788, "C", 1, 0 +nernstVoltage1 = scalar, U16, 1790, "V", 0.001, 0 +esr1 = scalar, U16, 1792, "ohm", 1, 0 +; total TS size = 1796 +dcOutput0 = scalar, F32, 1796, "per", 1,0 +isEnabled0_int = scalar, U08, 1800, "per", 1,0 +isEnabled0 = bits, U32, 1804, [0:0] +; total TS size = 1808 +value0 = scalar, U16, 1808, "value", 1,0 +value1 = scalar, U16, 1810, "value", 1,0 +errorRate = scalar, F32, 1812, "ratio", 1,0 +; total TS size = 1816 +vvtTarget = scalar, U16, 1816, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1818, "%", 0.5, 0 +; total TS size = 1820 +lambdaCurrentlyGood = bits, U32, 1820, [0:0] +lambdaMonitorCut = bits, U32, 1820, [1:1] +lambdaTimeSinceGood = scalar, U16, 1824, "sec", 0.01, 0 +; total TS size = 1828 time = { timeNow } @@ -3616,6 +3648,7 @@ lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs8 requiresPowerCycle = cylinderBore + requiresPowerCycle = knockFrequency readOnly = warning_message readOnly = device_uid1 @@ -5033,6 +5066,26 @@ gaugeCategory = Knock knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knockSpectrumChannelCylGauge = m_knockSpectrumChannelCyl, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStartGauge = m_knockFrequencyStart, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStepGauge = m_knockFrequencyStep, "Knock Frequency Step", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFuelTrimMultiplier = m_knockFuelTrimMultiplier, "Knock Fuel Trim", "mult", 0, 0, 0, 0, 0, 30, 1, 1 + knockSpectrum1 = m_knockSpectrum1, "Knock Spectrum1", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum2 = m_knockSpectrum2, "knockSpectrum2", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum3 = m_knockSpectrum3, "knockSpectrum3", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum4 = m_knockSpectrum4, "knockSpectrum4", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum5 = m_knockSpectrum5, "knockSpectrum5", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum6 = m_knockSpectrum6, "knockSpectrum6", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum7 = m_knockSpectrum7, "knockSpectrum7", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum8 = m_knockSpectrum8, "knockSpectrum8", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum9 = m_knockSpectrum9, "knockSpectrum9", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum10 = m_knockSpectrum10, "knockSpectrum10", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum11 = m_knockSpectrum11, "knockSpectrum11", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum12 = m_knockSpectrum12, "knockSpectrum12", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum13 = m_knockSpectrum13, "knockSpectrum13", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum14 = m_knockSpectrum14, "knockSpectrum14", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum15 = m_knockSpectrum15, "knockSpectrum15", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum16 = m_knockSpectrum16, "knockSpectrum16", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -5631,6 +5684,26 @@ entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" entry = m_knockCount, "Knock: Count", int, "%d" entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_knockFrequency, "knock: frequency", int, "%d" +entry = m_knockSpectrum1, "Knock: SpectrumData 1", int, "%d" +entry = m_knockSpectrum2, "Knock: SpectrumData 2", int, "%d" +entry = m_knockSpectrum3, "Knock: SpectrumData 3", int, "%d" +entry = m_knockSpectrum4, "Knock: SpectrumData 4", int, "%d" +entry = m_knockSpectrum5, "Knock: SpectrumData 5", int, "%d" +entry = m_knockSpectrum6, "Knock: SpectrumData 6", int, "%d" +entry = m_knockSpectrum7, "Knock: SpectrumData 7", int, "%d" +entry = m_knockSpectrum8, "Knock: SpectrumData 8", int, "%d" +entry = m_knockSpectrum9, "Knock: SpectrumData 9", int, "%d" +entry = m_knockSpectrum10, "Knock: SpectrumData 10", int, "%d" +entry = m_knockSpectrum11, "Knock: SpectrumData 11", int, "%d" +entry = m_knockSpectrum12, "Knock: SpectrumData 12", int, "%d" +entry = m_knockSpectrum13, "Knock: SpectrumData 13", int, "%d" +entry = m_knockSpectrum14, "Knock: SpectrumData 14", int, "%d" +entry = m_knockSpectrum15, "Knock: SpectrumData 15", int, "%d" +entry = m_knockSpectrum16, "Knock: SpectrumData 16", int, "%d" +entry = m_knockSpectrumChannelCyl, "Knock: ChannelAndCylNumber", int, "%d" +entry = m_knockFrequencyStart, "Knock: Start Freq", int, "%d" +entry = m_knockFrequencyStep, "Knock: Step Freq", float, "%.3f" +entry = m_knockFuelTrimMultiplier, "Knock: Fuel trim when knock", float, "%.3f" entry = tcuCurrentGear, "TCU: Current Gear", int, "%d" entry = tcRatio, "TCU: Torque Converter Ratio", float, "%.3f" entry = lastShiftTime, "lastShiftTime", float, "%.3f" @@ -6528,6 +6601,31 @@ dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard graphLine = m_knockFrequency + graphLine = m_knockSpectrum1 + graphLine = m_knockSpectrum2 + liveGraph = knock_controller_6_Graph, "Graph", South + graphLine = m_knockSpectrum3 + graphLine = m_knockSpectrum4 + graphLine = m_knockSpectrum5 + graphLine = m_knockSpectrum6 + liveGraph = knock_controller_7_Graph, "Graph", South + graphLine = m_knockSpectrum7 + graphLine = m_knockSpectrum8 + graphLine = m_knockSpectrum9 + graphLine = m_knockSpectrum10 + liveGraph = knock_controller_8_Graph, "Graph", South + graphLine = m_knockSpectrum11 + graphLine = m_knockSpectrum12 + graphLine = m_knockSpectrum13 + graphLine = m_knockSpectrum14 + liveGraph = knock_controller_9_Graph, "Graph", South + graphLine = m_knockSpectrum15 + graphLine = m_knockSpectrum16 + graphLine = m_knockSpectrumChannelCyl + graphLine = m_knockFrequencyStart + liveGraph = knock_controller_10_Graph, "Graph", South + graphLine = m_knockFrequencyStep + graphLine = m_knockFuelTrimMultiplier indicatorPanel = tcu_controllerIndicatorPanel, 2 indicator = {isShifting}, "isShifting No", "isShifting Yes" @@ -8586,9 +8684,13 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockCfg, "Sense" field = "Enable", enableSoftwareKnock field = "Cylinder Bore", cylinderBore, {enableSoftwareKnock} + field = "Estimated Knock Frequency",knockFrequency, {enableSoftwareKnock} field = "Detection mode", knockDetectionUseDoubleFrequency field = "Detection Window Start",knockDetectionWindowStart, {enableSoftwareKnock} field = "Sampling Duration", knockSamplingDuration, {enableSoftwareKnock} + field = "Enable Knock Spectrogram", enableKnockSpectrogram, {enableSoftwareKnock} + field = "Enable Knock Spectrogram Filter", enableKnockSpectrogramFilter, {enableKnockSpectrogram} + field = "Knock Spectrum Sensitivity", knockSpectrumSensitivity, {enableKnockSpectrogram} field = "" field = "Select the nearest sensor for each cylinder" @@ -8608,6 +8710,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockResponseCfg, "Response" field = knockRetardAggression, knockRetardAggression field = knockRetardReapplyRate, knockRetardReapplyRate + field = knockFuelTrimAggression, knockFuelTrimAggression + field = knockFuelTrimReapplyRate, knockFuelTrimReapplyRate + field = knockFuelTrim, knockFuelTrim + field = knockSuppressMinTps, knockSuppressMinTps dialog = softwareKnockLeft, "" panel = softwareKnockCfg diff --git a/firmware/tunerstudio/generated/rusefi_hellen81.ini b/firmware/tunerstudio/generated/rusefi_hellen81.ini index a7f45d7520..ab032eaf69 100644 --- a/firmware/tunerstudio/generated/rusefi_hellen81.ini +++ b/firmware/tunerstudio/generated/rusefi_hellen81.ini @@ -38,12 +38,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.10.21.hellen81.3815852799" + signature = "rusEFI master.2024.10.21.hellen81.1062801408" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.10.21.hellen81.3815852799" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.10.21.hellen81.1062801408" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -774,6 +774,7 @@ devBit7 = bits, U32, 1492, [27:27], "false", "true" unusedSkipWasHere = bits, U32, 1492, [28:28], "false", "true" invertExhaustCamVVTSignal = bits, U32, 1492, [29:29], "Rising", "Falling" enableKnockSpectrogram = bits, U32, 1492, [30:30], "false", "true" +enableKnockSpectrogramFilter = bits, U32, 1492, [31:31], "false", "true" afterCrankingIACtaperDuration = scalar, S16, 1496, "cycles", 1, 0, 0, 5000, 0 iacByTpsTaper = scalar, S16, 1498, "percent", 1, 0, 0, 500, 0 unusedAuxSeria = bits, U16, 1500, [0:8], $gpio_list @@ -1394,7 +1395,13 @@ auxLinear4_v1 = scalar, F32, 3880, "volts", 1, 0, 0, 10, 2 auxLinear4_value1 = scalar, F32, 3884, "", 1, 0, -100000, 1000000, 2 auxLinear4_v2 = scalar, F32, 3888, "volts", 1, 0, 0, 10, 2 auxLinear4_value2 = scalar, F32, 3892, "", 1, 0, -100000, 1000000, 2 -unusedOftenChangesDuringFirmwareUpdate = array, U08, 3896, [128], "units", 1, 0, 0, 1, 0 +knockSuppressMinTps = scalar, U08, 3896, "%", 1, 0, 0, 100, 1 +knockFuelTrimAggression = scalar, U08, 3897, "%", 0.1, 0, 0, 20, 1 +knockFuelTrimReapplyRate = scalar, U08, 3898, "deg/s", 0.1, 0, 0, 10, 1 +knockFuelTrim = scalar, U08, 3899, "%", 1, 0, 0, 30, 1 +knockSpectrumSensitivity = scalar, F32, 3900, "sense", 1, 0, 0, 1, 2 +knockFrequency = scalar, F32, 3904, "Hz", 1, 0, 0, 20000, 2 +unusedOftenChangesDuringFirmwareUpdate = array, U08, 3908, [116], "units", 1, 0, 0, 1, 0 postCrankingFactor = array, F32, 4024, [6x6], "mult", 1, 0, 1, 3, 2 postCrankingDurationBins = array, F32, 4168, [6], "count", 1, 0, 0, 1000, 0 postCrankingCLTBins = array, S16, 4192, [6], "C", 1, 0, -100, 250, 0 @@ -2448,6 +2455,11 @@ minimumOilPressureValues = array, U08, 22960, [8], "kPa", 10.0, 0, 0, 1000, 0 minAcPressure = "value of A/C pressure in kPa before that compressor is disengaged" maxAcPressure = "value of A/C pressure in kPa after that compressor is disengaged" minimumOilPressureTimeout = "Delay before cutting fuel due to low oil pressure. Use this to ignore short pressure blips and sensor noise." + knockSuppressMinTps = "Below TPS value all knock suppression will be disabled." + knockFuelTrimAggression = "Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump)," + knockFuelTrimReapplyRate = "After a knock event, reapply fuel at this rate." + knockFuelTrim = "Fuel trim when knock, max 30%" + knockFrequency = "Estimated knock frequency, ignore cylinderBore if this one > 0" etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, open loop component of PID closed loop control" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2560,7 +2572,7 @@ minimumOilPressureValues = array, U08, 22960, [8], "kPa", 10.0, 0, 0, 1000, 0 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1752 + ochBlockSize = 1828 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3101,370 +3113,390 @@ m_knockThreshold = scalar, F32, 960, "", 1, 0 m_knockCount = scalar, U32, 964, "", 1, 0 m_maximumRetard = scalar, F32, 968, "", 1, 0 m_knockFrequency = scalar, U32, 972, "Hz", 1, 0 -; total TS size = 976 -tcuCurrentGear = scalar, S08, 976, "gear", 1, 0 -tcRatio = scalar, U16, 978, "value", 0.01, 0 -lastShiftTime = scalar, F32, 980, "", 1, 0 -tcu_currentRange = scalar, U08, 984, "", 1, 0 -pressureControlDuty = scalar, S08, 985, "%", 1,0 -torqueConverterDuty = scalar, S08, 986, "%", 1,0 -isShifting = bits, U32, 988, [0:0] -; total TS size = 992 -throttleUseWotModel = bits, U32, 992, [0:0] -throttleModelCrossoverAngle = scalar, S16, 996, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1000, "g/s", 1, 0 -; total TS size = 1004 -m_requested_pump = scalar, F32, 1004, "", 1, 0 -fuel_requested_percent = scalar, F32, 1008, "", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1012, "", 1, 0 -noValve = bits, U32, 1016, [0:0] -angleAboveMin = bits, U32, 1016, [1:1] -isHpfpInactive = bits, U32, 1016, [2:2] -m_pressureTarget_kPa = scalar, F32, 1020, "", 1, 0 -nextLobe = scalar, F32, 1024, "", 1, 0 -di_nextStart = scalar, F32, 1028, "v", 1, 0 -; total TS size = 1032 -m_deadtime = scalar, F32, 1032, "ms", 1, 0 -pressureDelta = scalar, F32, 1036, "kPa", 1, 0 -pressureRatio = scalar, F32, 1040, "", 1, 0 -; total TS size = 1044 -retardThresholdRpm = scalar, S32, 1044, "", 1, 0 -launchActivatePinState = bits, U32, 1048, [0:0] -isPreLaunchCondition = bits, U32, 1048, [1:1] -isLaunchCondition = bits, U32, 1048, [2:2] -isSwitchActivated = bits, U32, 1048, [3:3] -isClutchActivated = bits, U32, 1048, [4:4] -isBrakePedalActivated = bits, U32, 1048, [5:5] -isValidInputPin = bits, U32, 1048, [6:6] -activateSwitchCondition = bits, U32, 1048, [7:7] -rpmLaunchCondition = bits, U32, 1048, [8:8] -rpmPreLaunchCondition = bits, U32, 1048, [9:9] -speedCondition = bits, U32, 1048, [10:10] -tpsCondition = bits, U32, 1048, [11:11] +m_knockSpectrum1 = scalar, U32, 976, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 980, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 984, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 988, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1040, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1042, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1044, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1048, "multiplier", 1, 0 ; total TS size = 1052 -isTorqueReductionTriggerPinValid = bits, U32, 1052, [0:0] -torqueReductionTriggerPinState = bits, U32, 1052, [1:1] -isTimeConditionSatisfied = bits, U32, 1052, [2:2] -isRpmConditionSatisfied = bits, U32, 1052, [3:3] -isAppConditionSatisfied = bits, U32, 1052, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1052, [5:5] -; total TS size = 1056 -isAntilagCondition = bits, U32, 1056, [0:0] -ALSMinRPMCondition = bits, U32, 1056, [1:1] -ALSMaxRPMCondition = bits, U32, 1056, [2:2] -ALSMinCLTCondition = bits, U32, 1056, [3:3] -ALSMaxCLTCondition = bits, U32, 1056, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1056, [5:5] -isALSSwitchActivated = bits, U32, 1056, [6:6] -ALSActivatePinState = bits, U32, 1056, [7:7] -ALSSwitchCondition = bits, U32, 1056, [8:8] -ALSTimerCondition = bits, U32, 1056, [9:9] -fuelALSCorrection = scalar, F32, 1060, "", 1, 0 -timingALSCorrection = scalar, S16, 1064, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1066, "deg", 0.01, 0 +tcuCurrentGear = scalar, S08, 1052, "gear", 1, 0 +tcRatio = scalar, U16, 1054, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1056, "", 1, 0 +tcu_currentRange = scalar, U08, 1060, "", 1, 0 +pressureControlDuty = scalar, S08, 1061, "%", 1,0 +torqueConverterDuty = scalar, S08, 1062, "%", 1,0 +isShifting = bits, U32, 1064, [0:0] ; total TS size = 1068 -isTpsInvalid = bits, U32, 1068, [0:0] -m_shouldResetPid = bits, U32, 1068, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1068, [2:2] -isNotClosedLoop = bits, U32, 1068, [3:3] -isZeroRpm = bits, U32, 1068, [4:4] -hasInitBoost = bits, U32, 1068, [5:5] -rpmTooLow = bits, U32, 1068, [6:6] -tpsTooLow = bits, U32, 1068, [7:7] -mapTooLow = bits, U32, 1068, [8:8] -isPlantValid = bits, U32, 1068, [9:9] -isBoostControlled = bits, U32, 1068, [10:10] -luaTargetAdd = scalar, S16, 1072, "v", 0.5,0 -boostOutput = scalar, S16, 1074, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1076, "v", 1,0 -openLoopPart = scalar, F32, 1080, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1084, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1088, "%", 0.5,0 -boostControlTarget = scalar, S16, 1090, "kPa", 0.03333333333333333,0 -; total TS size = 1092 -acButtonState = scalar, S08, 1092, "", 1, 0 -m_acEnabled = bits, U32, 1096, [0:0] -engineTooSlow = bits, U32, 1096, [1:1] -engineTooFast = bits, U32, 1096, [2:2] -noClt = bits, U32, 1096, [3:3] -engineTooHot = bits, U32, 1096, [4:4] -tpsTooHigh = bits, U32, 1096, [5:5] -isDisabledByLua = bits, U32, 1096, [6:6] -acCompressorState = bits, U32, 1096, [7:7] -acPressureTooLow = bits, U32, 1096, [8:8] -acPressureTooHigh = bits, U32, 1096, [9:9] -; total TS size = 1100 -cranking0 = bits, U32, 1100, [0:0] -notRunning0 = bits, U32, 1100, [1:1] -disabledWhileEngineStopped0 = bits, U32, 1100, [2:2] -brokenClt0 = bits, U32, 1100, [3:3] -enabledForAc0 = bits, U32, 1100, [4:4] -hot0 = bits, U32, 1100, [5:5] -cold0 = bits, U32, 1100, [6:6] -disabledBySpeed0 = bits, U32, 1100, [7:7] -radiatorFanStatus0 = scalar, U08, 1104, "", 1, 0 +throttleUseWotModel = bits, U32, 1068, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1072, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1076, "g/s", 1, 0 +; total TS size = 1080 +m_requested_pump = scalar, F32, 1080, "", 1, 0 +fuel_requested_percent = scalar, F32, 1084, "", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1088, "", 1, 0 +noValve = bits, U32, 1092, [0:0] +angleAboveMin = bits, U32, 1092, [1:1] +isHpfpInactive = bits, U32, 1092, [2:2] +m_pressureTarget_kPa = scalar, F32, 1096, "", 1, 0 +nextLobe = scalar, F32, 1100, "", 1, 0 +di_nextStart = scalar, F32, 1104, "v", 1, 0 ; total TS size = 1108 -cranking1 = bits, U32, 1108, [0:0] -notRunning1 = bits, U32, 1108, [1:1] -disabledWhileEngineStopped1 = bits, U32, 1108, [2:2] -brokenClt1 = bits, U32, 1108, [3:3] -enabledForAc1 = bits, U32, 1108, [4:4] -hot1 = bits, U32, 1108, [5:5] -cold1 = bits, U32, 1108, [6:6] -disabledBySpeed1 = bits, U32, 1108, [7:7] -radiatorFanStatus1 = scalar, U08, 1112, "", 1, 0 -; total TS size = 1116 -isPrime = bits, U32, 1116, [0:0] -engineTurnedRecently = bits, U32, 1116, [1:1] -isFuelPumpOn = bits, U32, 1116, [2:2] -ignitionOn = bits, U32, 1116, [3:3] +m_deadtime = scalar, F32, 1108, "ms", 1, 0 +pressureDelta = scalar, F32, 1112, "kPa", 1, 0 +pressureRatio = scalar, F32, 1116, "", 1, 0 ; total TS size = 1120 -isBenchTest = bits, U32, 1120, [0:0] -hasIgnitionVoltage = bits, U32, 1120, [1:1] -mainRelayState = bits, U32, 1120, [2:2] -delayedShutoffRequested = bits, U32, 1120, [3:3] -; total TS size = 1124 -lua_fuelAdd = scalar, F32, 1124, "g", 1, 0 -lua_fuelMult = scalar, F32, 1128, "", 1, 0 -lua_clutchUpState = bits, U32, 1132, [0:0] -lua_brakePedalState = bits, U32, 1132, [1:1] -lua_acRequestState = bits, U32, 1132, [2:2] -lua_luaDisableEtb = bits, U32, 1132, [3:3] -lua_luaIgnCut = bits, U32, 1132, [4:4] -lua_luaFuelCut = bits, U32, 1132, [5:5] -lua_clutchDownState = bits, U32, 1132, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1132, [7:7] -sd_tCharge = scalar, S16, 1136, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1140, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1144, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1148, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1152, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1156, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1160, "", 1, 0 -hellenBoardId = scalar, S16, 1164, "id", 1, 0 -clutchUpState = scalar, S08, 1166, "", 1, 0 -clutchDownState = scalar, S08, 1167, "", 1, 0 -brakePedalState = scalar, S08, 1168, "", 1, 0 -startStopState = scalar, S08, 1169, "", 1, 0 -smartChipState = scalar, S08, 1170, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1171, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1172, "", 1, 0 -startStopPhysicalState = bits, U32, 1176, [0:0] -acrActive = bits, U32, 1176, [1:1] -acrEngineMovedRecently = bits, U32, 1176, [2:2] -heaterControlEnabled = bits, U32, 1176, [3:3] -luaDigitalState0 = bits, U32, 1176, [4:4] -luaDigitalState1 = bits, U32, 1176, [5:5] -luaDigitalState2 = bits, U32, 1176, [6:6] -luaDigitalState3 = bits, U32, 1176, [7:7] -startStopStateToggleCounter = scalar, U32, 1180, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1184, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1188, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1192, "", 1, 0 -desiredRpmLimit = scalar, S16, 1196, "rpm", 1, 0 -fuelInjectionCounter = scalar, U32, 1200, "", 1, 0 -globalSparkCounter = scalar, U32, 1204, "", 1, 0 -fuelingLoad = scalar, F32, 1208, "", 1, 0 -ignitionLoad = scalar, F32, 1212, "", 1, 0 -veTableYAxis = scalar, U16, 1216, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1218, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1219, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1220, "", 1, 0 -; total TS size = 1224 -tpsFrom = scalar, F32, 1224 -tpsTo = scalar, F32, 1228 -deltaTps = scalar, F32, 1232 -extraFuel = scalar, F32, 1236, "", 1, 0 -valueFromTable = scalar, F32, 1240, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1244, [0:0] -isBelowDecelThreshold = bits, U32, 1244, [1:1] -isTimeToResetAccumulator = bits, U32, 1244, [2:2] -isFractionalEnrichment = bits, U32, 1244, [3:3] -belowEpsilon = bits, U32, 1244, [4:4] -tooShort = bits, U32, 1244, [5:5] -fractionalInjFuel = scalar, F32, 1248, "", 1, 0 -accumulatedValue = scalar, F32, 1252, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1256, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1260, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1264, "", 1, 0 -cycleCnt = scalar, S32, 1268, "", 1, 0 -; total TS size = 1272 -hwEventCounters1 = scalar, U32, 1272, "", 1, 0 -hwEventCounters2 = scalar, U32, 1276, "", 1, 0 -hwEventCounters3 = scalar, U32, 1280, "", 1, 0 -hwEventCounters4 = scalar, U32, 1284, "", 1, 0 -hwEventCounters5 = scalar, U32, 1288, "", 1, 0 -hwEventCounters6 = scalar, U32, 1292, "", 1, 0 -vvtCamCounter = scalar, U32, 1296, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1300, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1304, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1308, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1309, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1312, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1316, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1320, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1324, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1328, [0:0] -triggerElapsedUs = scalar, U32, 1332, "", 1, 0 -; total TS size = 1336 -crankSynchronizationCounter0 = scalar, U32, 1336, "", 1, 0 -vvtSyncGapRatio0 = scalar, F32, 1340, "", 1, 0 -vvtToothDurations00 = scalar, U32, 1344, "us", 1, 0 -vvtCurrentPosition0 = scalar, F32, 1348, "sync: Primary Cam Position", 1, 0 -vvtToothPosition10 = scalar, F32, 1352, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition20 = scalar, F32, 1356, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition30 = scalar, F32, 1360, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition40 = scalar, F32, 1364, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio0 = scalar, F32, 1368, "", 1, 0 -triggerStateIndex0 = scalar, U08, 1372, "", 1, 0 -vvtStateIndex0 = scalar, U08, 1373, "", 1, 0 -; total TS size = 1376 -crankSynchronizationCounter1 = scalar, U32, 1376, "", 1, 0 -vvtSyncGapRatio1 = scalar, F32, 1380, "", 1, 0 -vvtToothDurations01 = scalar, U32, 1384, "us", 1, 0 -vvtCurrentPosition1 = scalar, F32, 1388, "sync: Primary Cam Position", 1, 0 -vvtToothPosition11 = scalar, F32, 1392, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition21 = scalar, F32, 1396, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition31 = scalar, F32, 1400, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition41 = scalar, F32, 1404, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio1 = scalar, F32, 1408, "", 1, 0 -triggerStateIndex1 = scalar, U08, 1412, "", 1, 0 -vvtStateIndex1 = scalar, U08, 1413, "", 1, 0 -; total TS size = 1416 -crankSynchronizationCounter2 = scalar, U32, 1416, "", 1, 0 -vvtSyncGapRatio2 = scalar, F32, 1420, "", 1, 0 -vvtToothDurations02 = scalar, U32, 1424, "us", 1, 0 -vvtCurrentPosition2 = scalar, F32, 1428, "sync: Primary Cam Position", 1, 0 -vvtToothPosition12 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition22 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition32 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition42 = scalar, F32, 1444, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio2 = scalar, F32, 1448, "", 1, 0 -triggerStateIndex2 = scalar, U08, 1452, "", 1, 0 -vvtStateIndex2 = scalar, U08, 1453, "", 1, 0 -; total TS size = 1456 -crankSynchronizationCounter3 = scalar, U32, 1456, "", 1, 0 -vvtSyncGapRatio3 = scalar, F32, 1460, "", 1, 0 -vvtToothDurations03 = scalar, U32, 1464, "us", 1, 0 -vvtCurrentPosition3 = scalar, F32, 1468, "sync: Primary Cam Position", 1, 0 -vvtToothPosition13 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition23 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition33 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition43 = scalar, F32, 1484, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio3 = scalar, F32, 1488, "", 1, 0 -triggerStateIndex3 = scalar, U08, 1492, "", 1, 0 -vvtStateIndex3 = scalar, U08, 1493, "", 1, 0 -; total TS size = 1496 -crankSynchronizationCounter4 = scalar, U32, 1496, "", 1, 0 -vvtSyncGapRatio4 = scalar, F32, 1500, "", 1, 0 -vvtToothDurations04 = scalar, U32, 1504, "us", 1, 0 -vvtCurrentPosition4 = scalar, F32, 1508, "sync: Primary Cam Position", 1, 0 -vvtToothPosition14 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition24 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition34 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition44 = scalar, F32, 1524, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio4 = scalar, F32, 1528, "", 1, 0 -triggerStateIndex4 = scalar, U08, 1532, "", 1, 0 -vvtStateIndex4 = scalar, U08, 1533, "", 1, 0 -; total TS size = 1536 -camResyncCounter = scalar, U08, 1536, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1540, [0:0] -; total TS size = 1544 -wallFuelCorrection = scalar, F32, 1544, "", 1, 0 -wallFuel = scalar, F32, 1548, "", 1, 0 -; total TS size = 1552 -idleState = bits, S32, 1552, [0:2], "not important" -currentIdlePosition = scalar, F32, 1556 -baseIdlePosition = scalar, F32, 1560 -idleClosedLoop = scalar, F32, 1564 -iacByTpsTaper = scalar, F32, 1568 -throttlePedalUpState = scalar, S32, 1572, "", 1, 0 -mightResetPid = bits, U32, 1576, [0:0] -shouldResetPid = bits, U32, 1576, [1:1] -wasResetPid = bits, U32, 1576, [2:2] -mustResetPid = bits, U32, 1576, [3:3] -isCranking = bits, U32, 1576, [4:4] -isIacTableForCoasting = bits, U32, 1576, [5:5] -notIdling = bits, U32, 1576, [6:6] -needReset = bits, U32, 1576, [7:7] -isInDeadZone = bits, U32, 1576, [8:8] -isBlipping = bits, U32, 1576, [9:9] -useClosedLoop = bits, U32, 1576, [10:10] -badTps = bits, U32, 1576, [11:11] -looksLikeRunning = bits, U32, 1576, [12:12] -looksLikeCoasting = bits, U32, 1576, [13:13] -looksLikeCrankToIdle = bits, U32, 1576, [14:14] -isIdleCoasting = bits, U32, 1576, [15:15] -isIdleClosedLoop = bits, U32, 1576, [16:16] -idleTarget = scalar, S32, 1580, "", 1, 0 -targetRpmByClt = scalar, S32, 1584, "", 1, 0 -targetRpmAc = scalar, S32, 1588, "", 1, 0 -iacByRpmTaper = scalar, F32, 1592 -luaAdd = scalar, F32, 1596 -; total TS size = 1600 -targetWithIdlePosition0 = scalar, F32, 1600, "per", 1,0 -trim0 = scalar, F32, 1604, "", 1, 0 -luaAdjustment0 = scalar, F32, 1608, "per", 1,0 -m_wastegatePosition0 = scalar, F32, 1612, "per", 1,0 -etbFeedForward0 = scalar, F32, 1616 -etbIntegralError0 = scalar, F32, 1620, "", 1, 0 -etbCurrentTarget0 = scalar, F32, 1624, "%", 1, 0 -etbCurrentAdjustedTarget0 = scalar, F32, 1628, "%", 1, 0 -etbRevLimitActive0 = bits, U32, 1632, [0:0] -jamDetected0 = bits, U32, 1632, [1:1] -etbTpsErrorCounter0 = scalar, U16, 1636, "count", 1,0 -etbPpsErrorCounter0 = scalar, U16, 1638, "count", 1,0 -etbErrorCode0 = scalar, S08, 1640, "", 1, 0 -tcEtbDrop0 = scalar, S08, 1641, "%", 1, 0 -jamTimer0 = scalar, U16, 1642, "sec", 0.01, 0 -adjustedEtbTarget0 = scalar, S08, 1644, "%", 1, 0 -; total TS size = 1648 -targetWithIdlePosition1 = scalar, F32, 1648, "per", 1,0 -trim1 = scalar, F32, 1652, "", 1, 0 -luaAdjustment1 = scalar, F32, 1656, "per", 1,0 -m_wastegatePosition1 = scalar, F32, 1660, "per", 1,0 -etbFeedForward1 = scalar, F32, 1664 -etbIntegralError1 = scalar, F32, 1668, "", 1, 0 -etbCurrentTarget1 = scalar, F32, 1672, "%", 1, 0 -etbCurrentAdjustedTarget1 = scalar, F32, 1676, "%", 1, 0 -etbRevLimitActive1 = bits, U32, 1680, [0:0] -jamDetected1 = bits, U32, 1680, [1:1] -etbTpsErrorCounter1 = scalar, U16, 1684, "count", 1,0 -etbPpsErrorCounter1 = scalar, U16, 1686, "count", 1,0 -etbErrorCode1 = scalar, S08, 1688, "", 1, 0 -tcEtbDrop1 = scalar, S08, 1689, "%", 1, 0 -jamTimer1 = scalar, U16, 1690, "sec", 0.01, 0 -adjustedEtbTarget1 = scalar, S08, 1692, "%", 1, 0 -; total TS size = 1696 -faultCode0 = scalar, U08, 1696, "", 1, 0 -heaterDuty0 = scalar, U08, 1697, "%", 1, 0 -pumpDuty0 = scalar, U08, 1698, "%", 1, 0 -tempC0 = scalar, U16, 1700, "C", 1, 0 -nernstVoltage0 = scalar, U16, 1702, "V", 0.001, 0 -esr0 = scalar, U16, 1704, "ohm", 1, 0 -; total TS size = 1708 -faultCode1 = scalar, U08, 1708, "", 1, 0 -heaterDuty1 = scalar, U08, 1709, "%", 1, 0 -pumpDuty1 = scalar, U08, 1710, "%", 1, 0 -tempC1 = scalar, U16, 1712, "C", 1, 0 -nernstVoltage1 = scalar, U16, 1714, "V", 0.001, 0 -esr1 = scalar, U16, 1716, "ohm", 1, 0 -; total TS size = 1720 -dcOutput0 = scalar, F32, 1720, "per", 1,0 -isEnabled0_int = scalar, U08, 1724, "per", 1,0 -isEnabled0 = bits, U32, 1728, [0:0] -; total TS size = 1732 -value0 = scalar, U16, 1732, "value", 1,0 -value1 = scalar, U16, 1734, "value", 1,0 -errorRate = scalar, F32, 1736, "ratio", 1,0 -; total TS size = 1740 -vvtTarget = scalar, U16, 1740, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1742, "%", 0.5, 0 -; total TS size = 1744 -lambdaCurrentlyGood = bits, U32, 1744, [0:0] -lambdaMonitorCut = bits, U32, 1744, [1:1] -lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 -; total TS size = 1752 +retardThresholdRpm = scalar, S32, 1120, "", 1, 0 +launchActivatePinState = bits, U32, 1124, [0:0] +isPreLaunchCondition = bits, U32, 1124, [1:1] +isLaunchCondition = bits, U32, 1124, [2:2] +isSwitchActivated = bits, U32, 1124, [3:3] +isClutchActivated = bits, U32, 1124, [4:4] +isBrakePedalActivated = bits, U32, 1124, [5:5] +isValidInputPin = bits, U32, 1124, [6:6] +activateSwitchCondition = bits, U32, 1124, [7:7] +rpmLaunchCondition = bits, U32, 1124, [8:8] +rpmPreLaunchCondition = bits, U32, 1124, [9:9] +speedCondition = bits, U32, 1124, [10:10] +tpsCondition = bits, U32, 1124, [11:11] +; total TS size = 1128 +isTorqueReductionTriggerPinValid = bits, U32, 1128, [0:0] +torqueReductionTriggerPinState = bits, U32, 1128, [1:1] +isTimeConditionSatisfied = bits, U32, 1128, [2:2] +isRpmConditionSatisfied = bits, U32, 1128, [3:3] +isAppConditionSatisfied = bits, U32, 1128, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1128, [5:5] +; total TS size = 1132 +isAntilagCondition = bits, U32, 1132, [0:0] +ALSMinRPMCondition = bits, U32, 1132, [1:1] +ALSMaxRPMCondition = bits, U32, 1132, [2:2] +ALSMinCLTCondition = bits, U32, 1132, [3:3] +ALSMaxCLTCondition = bits, U32, 1132, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1132, [5:5] +isALSSwitchActivated = bits, U32, 1132, [6:6] +ALSActivatePinState = bits, U32, 1132, [7:7] +ALSSwitchCondition = bits, U32, 1132, [8:8] +ALSTimerCondition = bits, U32, 1132, [9:9] +fuelALSCorrection = scalar, F32, 1136, "", 1, 0 +timingALSCorrection = scalar, S16, 1140, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1142, "deg", 0.01, 0 +; total TS size = 1144 +isTpsInvalid = bits, U32, 1144, [0:0] +m_shouldResetPid = bits, U32, 1144, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1144, [2:2] +isNotClosedLoop = bits, U32, 1144, [3:3] +isZeroRpm = bits, U32, 1144, [4:4] +hasInitBoost = bits, U32, 1144, [5:5] +rpmTooLow = bits, U32, 1144, [6:6] +tpsTooLow = bits, U32, 1144, [7:7] +mapTooLow = bits, U32, 1144, [8:8] +isPlantValid = bits, U32, 1144, [9:9] +isBoostControlled = bits, U32, 1144, [10:10] +luaTargetAdd = scalar, S16, 1148, "v", 0.5,0 +boostOutput = scalar, S16, 1150, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1152, "v", 1,0 +openLoopPart = scalar, F32, 1156, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1160, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1164, "%", 0.5,0 +boostControlTarget = scalar, S16, 1166, "kPa", 0.03333333333333333,0 +; total TS size = 1168 +acButtonState = scalar, S08, 1168, "", 1, 0 +m_acEnabled = bits, U32, 1172, [0:0] +engineTooSlow = bits, U32, 1172, [1:1] +engineTooFast = bits, U32, 1172, [2:2] +noClt = bits, U32, 1172, [3:3] +engineTooHot = bits, U32, 1172, [4:4] +tpsTooHigh = bits, U32, 1172, [5:5] +isDisabledByLua = bits, U32, 1172, [6:6] +acCompressorState = bits, U32, 1172, [7:7] +acPressureTooLow = bits, U32, 1172, [8:8] +acPressureTooHigh = bits, U32, 1172, [9:9] +; total TS size = 1176 +cranking0 = bits, U32, 1176, [0:0] +notRunning0 = bits, U32, 1176, [1:1] +disabledWhileEngineStopped0 = bits, U32, 1176, [2:2] +brokenClt0 = bits, U32, 1176, [3:3] +enabledForAc0 = bits, U32, 1176, [4:4] +hot0 = bits, U32, 1176, [5:5] +cold0 = bits, U32, 1176, [6:6] +disabledBySpeed0 = bits, U32, 1176, [7:7] +radiatorFanStatus0 = scalar, U08, 1180, "", 1, 0 +; total TS size = 1184 +cranking1 = bits, U32, 1184, [0:0] +notRunning1 = bits, U32, 1184, [1:1] +disabledWhileEngineStopped1 = bits, U32, 1184, [2:2] +brokenClt1 = bits, U32, 1184, [3:3] +enabledForAc1 = bits, U32, 1184, [4:4] +hot1 = bits, U32, 1184, [5:5] +cold1 = bits, U32, 1184, [6:6] +disabledBySpeed1 = bits, U32, 1184, [7:7] +radiatorFanStatus1 = scalar, U08, 1188, "", 1, 0 +; total TS size = 1192 +isPrime = bits, U32, 1192, [0:0] +engineTurnedRecently = bits, U32, 1192, [1:1] +isFuelPumpOn = bits, U32, 1192, [2:2] +ignitionOn = bits, U32, 1192, [3:3] +; total TS size = 1196 +isBenchTest = bits, U32, 1196, [0:0] +hasIgnitionVoltage = bits, U32, 1196, [1:1] +mainRelayState = bits, U32, 1196, [2:2] +delayedShutoffRequested = bits, U32, 1196, [3:3] +; total TS size = 1200 +lua_fuelAdd = scalar, F32, 1200, "g", 1, 0 +lua_fuelMult = scalar, F32, 1204, "", 1, 0 +lua_clutchUpState = bits, U32, 1208, [0:0] +lua_brakePedalState = bits, U32, 1208, [1:1] +lua_acRequestState = bits, U32, 1208, [2:2] +lua_luaDisableEtb = bits, U32, 1208, [3:3] +lua_luaIgnCut = bits, U32, 1208, [4:4] +lua_luaFuelCut = bits, U32, 1208, [5:5] +lua_clutchDownState = bits, U32, 1208, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1208, [7:7] +sd_tCharge = scalar, S16, 1212, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1216, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1220, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1224, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1228, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1232, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1236, "", 1, 0 +hellenBoardId = scalar, S16, 1240, "id", 1, 0 +clutchUpState = scalar, S08, 1242, "", 1, 0 +clutchDownState = scalar, S08, 1243, "", 1, 0 +brakePedalState = scalar, S08, 1244, "", 1, 0 +startStopState = scalar, S08, 1245, "", 1, 0 +smartChipState = scalar, S08, 1246, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1247, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1248, "", 1, 0 +startStopPhysicalState = bits, U32, 1252, [0:0] +acrActive = bits, U32, 1252, [1:1] +acrEngineMovedRecently = bits, U32, 1252, [2:2] +heaterControlEnabled = bits, U32, 1252, [3:3] +luaDigitalState0 = bits, U32, 1252, [4:4] +luaDigitalState1 = bits, U32, 1252, [5:5] +luaDigitalState2 = bits, U32, 1252, [6:6] +luaDigitalState3 = bits, U32, 1252, [7:7] +startStopStateToggleCounter = scalar, U32, 1256, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1260, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1264, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1268, "", 1, 0 +desiredRpmLimit = scalar, S16, 1272, "rpm", 1, 0 +fuelInjectionCounter = scalar, U32, 1276, "", 1, 0 +globalSparkCounter = scalar, U32, 1280, "", 1, 0 +fuelingLoad = scalar, F32, 1284, "", 1, 0 +ignitionLoad = scalar, F32, 1288, "", 1, 0 +veTableYAxis = scalar, U16, 1292, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1294, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1295, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1296, "", 1, 0 +; total TS size = 1300 +tpsFrom = scalar, F32, 1300 +tpsTo = scalar, F32, 1304 +deltaTps = scalar, F32, 1308 +extraFuel = scalar, F32, 1312, "", 1, 0 +valueFromTable = scalar, F32, 1316, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1320, [0:0] +isBelowDecelThreshold = bits, U32, 1320, [1:1] +isTimeToResetAccumulator = bits, U32, 1320, [2:2] +isFractionalEnrichment = bits, U32, 1320, [3:3] +belowEpsilon = bits, U32, 1320, [4:4] +tooShort = bits, U32, 1320, [5:5] +fractionalInjFuel = scalar, F32, 1324, "", 1, 0 +accumulatedValue = scalar, F32, 1328, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1332, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1336, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1340, "", 1, 0 +cycleCnt = scalar, S32, 1344, "", 1, 0 +; total TS size = 1348 +hwEventCounters1 = scalar, U32, 1348, "", 1, 0 +hwEventCounters2 = scalar, U32, 1352, "", 1, 0 +hwEventCounters3 = scalar, U32, 1356, "", 1, 0 +hwEventCounters4 = scalar, U32, 1360, "", 1, 0 +hwEventCounters5 = scalar, U32, 1364, "", 1, 0 +hwEventCounters6 = scalar, U32, 1368, "", 1, 0 +vvtCamCounter = scalar, U32, 1372, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1376, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1380, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1384, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1385, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1388, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1392, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1396, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1400, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1404, [0:0] +triggerElapsedUs = scalar, U32, 1408, "", 1, 0 +; total TS size = 1412 +crankSynchronizationCounter0 = scalar, U32, 1412, "", 1, 0 +vvtSyncGapRatio0 = scalar, F32, 1416, "", 1, 0 +vvtToothDurations00 = scalar, U32, 1420, "us", 1, 0 +vvtCurrentPosition0 = scalar, F32, 1424, "sync: Primary Cam Position", 1, 0 +vvtToothPosition10 = scalar, F32, 1428, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition20 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition30 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition40 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio0 = scalar, F32, 1444, "", 1, 0 +triggerStateIndex0 = scalar, U08, 1448, "", 1, 0 +vvtStateIndex0 = scalar, U08, 1449, "", 1, 0 +; total TS size = 1452 +crankSynchronizationCounter1 = scalar, U32, 1452, "", 1, 0 +vvtSyncGapRatio1 = scalar, F32, 1456, "", 1, 0 +vvtToothDurations01 = scalar, U32, 1460, "us", 1, 0 +vvtCurrentPosition1 = scalar, F32, 1464, "sync: Primary Cam Position", 1, 0 +vvtToothPosition11 = scalar, F32, 1468, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition21 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition31 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition41 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio1 = scalar, F32, 1484, "", 1, 0 +triggerStateIndex1 = scalar, U08, 1488, "", 1, 0 +vvtStateIndex1 = scalar, U08, 1489, "", 1, 0 +; total TS size = 1492 +crankSynchronizationCounter2 = scalar, U32, 1492, "", 1, 0 +vvtSyncGapRatio2 = scalar, F32, 1496, "", 1, 0 +vvtToothDurations02 = scalar, U32, 1500, "us", 1, 0 +vvtCurrentPosition2 = scalar, F32, 1504, "sync: Primary Cam Position", 1, 0 +vvtToothPosition12 = scalar, F32, 1508, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition22 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition32 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition42 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio2 = scalar, F32, 1524, "", 1, 0 +triggerStateIndex2 = scalar, U08, 1528, "", 1, 0 +vvtStateIndex2 = scalar, U08, 1529, "", 1, 0 +; total TS size = 1532 +crankSynchronizationCounter3 = scalar, U32, 1532, "", 1, 0 +vvtSyncGapRatio3 = scalar, F32, 1536, "", 1, 0 +vvtToothDurations03 = scalar, U32, 1540, "us", 1, 0 +vvtCurrentPosition3 = scalar, F32, 1544, "sync: Primary Cam Position", 1, 0 +vvtToothPosition13 = scalar, F32, 1548, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition23 = scalar, F32, 1552, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition33 = scalar, F32, 1556, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition43 = scalar, F32, 1560, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio3 = scalar, F32, 1564, "", 1, 0 +triggerStateIndex3 = scalar, U08, 1568, "", 1, 0 +vvtStateIndex3 = scalar, U08, 1569, "", 1, 0 +; total TS size = 1572 +crankSynchronizationCounter4 = scalar, U32, 1572, "", 1, 0 +vvtSyncGapRatio4 = scalar, F32, 1576, "", 1, 0 +vvtToothDurations04 = scalar, U32, 1580, "us", 1, 0 +vvtCurrentPosition4 = scalar, F32, 1584, "sync: Primary Cam Position", 1, 0 +vvtToothPosition14 = scalar, F32, 1588, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition24 = scalar, F32, 1592, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition34 = scalar, F32, 1596, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition44 = scalar, F32, 1600, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio4 = scalar, F32, 1604, "", 1, 0 +triggerStateIndex4 = scalar, U08, 1608, "", 1, 0 +vvtStateIndex4 = scalar, U08, 1609, "", 1, 0 +; total TS size = 1612 +camResyncCounter = scalar, U08, 1612, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1616, [0:0] +; total TS size = 1620 +wallFuelCorrection = scalar, F32, 1620, "", 1, 0 +wallFuel = scalar, F32, 1624, "", 1, 0 +; total TS size = 1628 +idleState = bits, S32, 1628, [0:2], "not important" +currentIdlePosition = scalar, F32, 1632 +baseIdlePosition = scalar, F32, 1636 +idleClosedLoop = scalar, F32, 1640 +iacByTpsTaper = scalar, F32, 1644 +throttlePedalUpState = scalar, S32, 1648, "", 1, 0 +mightResetPid = bits, U32, 1652, [0:0] +shouldResetPid = bits, U32, 1652, [1:1] +wasResetPid = bits, U32, 1652, [2:2] +mustResetPid = bits, U32, 1652, [3:3] +isCranking = bits, U32, 1652, [4:4] +isIacTableForCoasting = bits, U32, 1652, [5:5] +notIdling = bits, U32, 1652, [6:6] +needReset = bits, U32, 1652, [7:7] +isInDeadZone = bits, U32, 1652, [8:8] +isBlipping = bits, U32, 1652, [9:9] +useClosedLoop = bits, U32, 1652, [10:10] +badTps = bits, U32, 1652, [11:11] +looksLikeRunning = bits, U32, 1652, [12:12] +looksLikeCoasting = bits, U32, 1652, [13:13] +looksLikeCrankToIdle = bits, U32, 1652, [14:14] +isIdleCoasting = bits, U32, 1652, [15:15] +isIdleClosedLoop = bits, U32, 1652, [16:16] +idleTarget = scalar, S32, 1656, "", 1, 0 +targetRpmByClt = scalar, S32, 1660, "", 1, 0 +targetRpmAc = scalar, S32, 1664, "", 1, 0 +iacByRpmTaper = scalar, F32, 1668 +luaAdd = scalar, F32, 1672 +; total TS size = 1676 +targetWithIdlePosition0 = scalar, F32, 1676, "per", 1,0 +trim0 = scalar, F32, 1680, "", 1, 0 +luaAdjustment0 = scalar, F32, 1684, "per", 1,0 +m_wastegatePosition0 = scalar, F32, 1688, "per", 1,0 +etbFeedForward0 = scalar, F32, 1692 +etbIntegralError0 = scalar, F32, 1696, "", 1, 0 +etbCurrentTarget0 = scalar, F32, 1700, "%", 1, 0 +etbCurrentAdjustedTarget0 = scalar, F32, 1704, "%", 1, 0 +etbRevLimitActive0 = bits, U32, 1708, [0:0] +jamDetected0 = bits, U32, 1708, [1:1] +etbTpsErrorCounter0 = scalar, U16, 1712, "count", 1,0 +etbPpsErrorCounter0 = scalar, U16, 1714, "count", 1,0 +etbErrorCode0 = scalar, S08, 1716, "", 1, 0 +tcEtbDrop0 = scalar, S08, 1717, "%", 1, 0 +jamTimer0 = scalar, U16, 1718, "sec", 0.01, 0 +adjustedEtbTarget0 = scalar, S08, 1720, "%", 1, 0 +; total TS size = 1724 +targetWithIdlePosition1 = scalar, F32, 1724, "per", 1,0 +trim1 = scalar, F32, 1728, "", 1, 0 +luaAdjustment1 = scalar, F32, 1732, "per", 1,0 +m_wastegatePosition1 = scalar, F32, 1736, "per", 1,0 +etbFeedForward1 = scalar, F32, 1740 +etbIntegralError1 = scalar, F32, 1744, "", 1, 0 +etbCurrentTarget1 = scalar, F32, 1748, "%", 1, 0 +etbCurrentAdjustedTarget1 = scalar, F32, 1752, "%", 1, 0 +etbRevLimitActive1 = bits, U32, 1756, [0:0] +jamDetected1 = bits, U32, 1756, [1:1] +etbTpsErrorCounter1 = scalar, U16, 1760, "count", 1,0 +etbPpsErrorCounter1 = scalar, U16, 1762, "count", 1,0 +etbErrorCode1 = scalar, S08, 1764, "", 1, 0 +tcEtbDrop1 = scalar, S08, 1765, "%", 1, 0 +jamTimer1 = scalar, U16, 1766, "sec", 0.01, 0 +adjustedEtbTarget1 = scalar, S08, 1768, "%", 1, 0 +; total TS size = 1772 +faultCode0 = scalar, U08, 1772, "", 1, 0 +heaterDuty0 = scalar, U08, 1773, "%", 1, 0 +pumpDuty0 = scalar, U08, 1774, "%", 1, 0 +tempC0 = scalar, U16, 1776, "C", 1, 0 +nernstVoltage0 = scalar, U16, 1778, "V", 0.001, 0 +esr0 = scalar, U16, 1780, "ohm", 1, 0 +; total TS size = 1784 +faultCode1 = scalar, U08, 1784, "", 1, 0 +heaterDuty1 = scalar, U08, 1785, "%", 1, 0 +pumpDuty1 = scalar, U08, 1786, "%", 1, 0 +tempC1 = scalar, U16, 1788, "C", 1, 0 +nernstVoltage1 = scalar, U16, 1790, "V", 0.001, 0 +esr1 = scalar, U16, 1792, "ohm", 1, 0 +; total TS size = 1796 +dcOutput0 = scalar, F32, 1796, "per", 1,0 +isEnabled0_int = scalar, U08, 1800, "per", 1,0 +isEnabled0 = bits, U32, 1804, [0:0] +; total TS size = 1808 +value0 = scalar, U16, 1808, "value", 1,0 +value1 = scalar, U16, 1810, "value", 1,0 +errorRate = scalar, F32, 1812, "ratio", 1,0 +; total TS size = 1816 +vvtTarget = scalar, U16, 1816, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1818, "%", 0.5, 0 +; total TS size = 1820 +lambdaCurrentlyGood = bits, U32, 1820, [0:0] +lambdaMonitorCut = bits, U32, 1820, [1:1] +lambdaTimeSinceGood = scalar, U16, 1824, "sec", 0.01, 0 +; total TS size = 1828 time = { timeNow } @@ -3616,6 +3648,7 @@ lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs8 requiresPowerCycle = cylinderBore + requiresPowerCycle = knockFrequency readOnly = warning_message readOnly = device_uid1 @@ -5033,6 +5066,26 @@ gaugeCategory = Knock knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knockSpectrumChannelCylGauge = m_knockSpectrumChannelCyl, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStartGauge = m_knockFrequencyStart, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStepGauge = m_knockFrequencyStep, "Knock Frequency Step", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFuelTrimMultiplier = m_knockFuelTrimMultiplier, "Knock Fuel Trim", "mult", 0, 0, 0, 0, 0, 30, 1, 1 + knockSpectrum1 = m_knockSpectrum1, "Knock Spectrum1", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum2 = m_knockSpectrum2, "knockSpectrum2", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum3 = m_knockSpectrum3, "knockSpectrum3", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum4 = m_knockSpectrum4, "knockSpectrum4", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum5 = m_knockSpectrum5, "knockSpectrum5", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum6 = m_knockSpectrum6, "knockSpectrum6", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum7 = m_knockSpectrum7, "knockSpectrum7", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum8 = m_knockSpectrum8, "knockSpectrum8", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum9 = m_knockSpectrum9, "knockSpectrum9", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum10 = m_knockSpectrum10, "knockSpectrum10", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum11 = m_knockSpectrum11, "knockSpectrum11", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum12 = m_knockSpectrum12, "knockSpectrum12", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum13 = m_knockSpectrum13, "knockSpectrum13", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum14 = m_knockSpectrum14, "knockSpectrum14", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum15 = m_knockSpectrum15, "knockSpectrum15", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum16 = m_knockSpectrum16, "knockSpectrum16", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -5631,6 +5684,26 @@ entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" entry = m_knockCount, "Knock: Count", int, "%d" entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_knockFrequency, "knock: frequency", int, "%d" +entry = m_knockSpectrum1, "Knock: SpectrumData 1", int, "%d" +entry = m_knockSpectrum2, "Knock: SpectrumData 2", int, "%d" +entry = m_knockSpectrum3, "Knock: SpectrumData 3", int, "%d" +entry = m_knockSpectrum4, "Knock: SpectrumData 4", int, "%d" +entry = m_knockSpectrum5, "Knock: SpectrumData 5", int, "%d" +entry = m_knockSpectrum6, "Knock: SpectrumData 6", int, "%d" +entry = m_knockSpectrum7, "Knock: SpectrumData 7", int, "%d" +entry = m_knockSpectrum8, "Knock: SpectrumData 8", int, "%d" +entry = m_knockSpectrum9, "Knock: SpectrumData 9", int, "%d" +entry = m_knockSpectrum10, "Knock: SpectrumData 10", int, "%d" +entry = m_knockSpectrum11, "Knock: SpectrumData 11", int, "%d" +entry = m_knockSpectrum12, "Knock: SpectrumData 12", int, "%d" +entry = m_knockSpectrum13, "Knock: SpectrumData 13", int, "%d" +entry = m_knockSpectrum14, "Knock: SpectrumData 14", int, "%d" +entry = m_knockSpectrum15, "Knock: SpectrumData 15", int, "%d" +entry = m_knockSpectrum16, "Knock: SpectrumData 16", int, "%d" +entry = m_knockSpectrumChannelCyl, "Knock: ChannelAndCylNumber", int, "%d" +entry = m_knockFrequencyStart, "Knock: Start Freq", int, "%d" +entry = m_knockFrequencyStep, "Knock: Step Freq", float, "%.3f" +entry = m_knockFuelTrimMultiplier, "Knock: Fuel trim when knock", float, "%.3f" entry = tcuCurrentGear, "TCU: Current Gear", int, "%d" entry = tcRatio, "TCU: Torque Converter Ratio", float, "%.3f" entry = lastShiftTime, "lastShiftTime", float, "%.3f" @@ -6526,6 +6599,31 @@ dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard graphLine = m_knockFrequency + graphLine = m_knockSpectrum1 + graphLine = m_knockSpectrum2 + liveGraph = knock_controller_6_Graph, "Graph", South + graphLine = m_knockSpectrum3 + graphLine = m_knockSpectrum4 + graphLine = m_knockSpectrum5 + graphLine = m_knockSpectrum6 + liveGraph = knock_controller_7_Graph, "Graph", South + graphLine = m_knockSpectrum7 + graphLine = m_knockSpectrum8 + graphLine = m_knockSpectrum9 + graphLine = m_knockSpectrum10 + liveGraph = knock_controller_8_Graph, "Graph", South + graphLine = m_knockSpectrum11 + graphLine = m_knockSpectrum12 + graphLine = m_knockSpectrum13 + graphLine = m_knockSpectrum14 + liveGraph = knock_controller_9_Graph, "Graph", South + graphLine = m_knockSpectrum15 + graphLine = m_knockSpectrum16 + graphLine = m_knockSpectrumChannelCyl + graphLine = m_knockFrequencyStart + liveGraph = knock_controller_10_Graph, "Graph", South + graphLine = m_knockFrequencyStep + graphLine = m_knockFuelTrimMultiplier indicatorPanel = tcu_controllerIndicatorPanel, 2 indicator = {isShifting}, "isShifting No", "isShifting Yes" @@ -8584,9 +8682,13 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockCfg, "Sense" field = "Enable", enableSoftwareKnock field = "Cylinder Bore", cylinderBore, {enableSoftwareKnock} + field = "Estimated Knock Frequency",knockFrequency, {enableSoftwareKnock} field = "Detection mode", knockDetectionUseDoubleFrequency field = "Detection Window Start",knockDetectionWindowStart, {enableSoftwareKnock} field = "Sampling Duration", knockSamplingDuration, {enableSoftwareKnock} + field = "Enable Knock Spectrogram", enableKnockSpectrogram, {enableSoftwareKnock} + field = "Enable Knock Spectrogram Filter", enableKnockSpectrogramFilter, {enableKnockSpectrogram} + field = "Knock Spectrum Sensitivity", knockSpectrumSensitivity, {enableKnockSpectrogram} field = "" field = "Select the nearest sensor for each cylinder" @@ -8606,6 +8708,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockResponseCfg, "Response" field = knockRetardAggression, knockRetardAggression field = knockRetardReapplyRate, knockRetardReapplyRate + field = knockFuelTrimAggression, knockFuelTrimAggression + field = knockFuelTrimReapplyRate, knockFuelTrimReapplyRate + field = knockFuelTrim, knockFuelTrim + field = knockSuppressMinTps, knockSuppressMinTps dialog = softwareKnockLeft, "" panel = softwareKnockCfg diff --git a/firmware/tunerstudio/generated/rusefi_hellen88bmw.ini b/firmware/tunerstudio/generated/rusefi_hellen88bmw.ini index ba67f00a83..ecd01c7359 100644 --- a/firmware/tunerstudio/generated/rusefi_hellen88bmw.ini +++ b/firmware/tunerstudio/generated/rusefi_hellen88bmw.ini @@ -38,12 +38,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.10.21.hellen88bmw.4099039164" + signature = "rusEFI master.2024.10.21.hellen88bmw.679085379" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.10.21.hellen88bmw.4099039164" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.10.21.hellen88bmw.679085379" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -774,6 +774,7 @@ devBit7 = bits, U32, 1492, [27:27], "false", "true" unusedSkipWasHere = bits, U32, 1492, [28:28], "false", "true" invertExhaustCamVVTSignal = bits, U32, 1492, [29:29], "Rising", "Falling" enableKnockSpectrogram = bits, U32, 1492, [30:30], "false", "true" +enableKnockSpectrogramFilter = bits, U32, 1492, [31:31], "false", "true" afterCrankingIACtaperDuration = scalar, S16, 1496, "cycles", 1, 0, 0, 5000, 0 iacByTpsTaper = scalar, S16, 1498, "percent", 1, 0, 0, 500, 0 unusedAuxSeria = bits, U16, 1500, [0:8], $gpio_list @@ -1394,7 +1395,13 @@ auxLinear4_v1 = scalar, F32, 3880, "volts", 1, 0, 0, 10, 2 auxLinear4_value1 = scalar, F32, 3884, "", 1, 0, -100000, 1000000, 2 auxLinear4_v2 = scalar, F32, 3888, "volts", 1, 0, 0, 10, 2 auxLinear4_value2 = scalar, F32, 3892, "", 1, 0, -100000, 1000000, 2 -unusedOftenChangesDuringFirmwareUpdate = array, U08, 3896, [128], "units", 1, 0, 0, 1, 0 +knockSuppressMinTps = scalar, U08, 3896, "%", 1, 0, 0, 100, 1 +knockFuelTrimAggression = scalar, U08, 3897, "%", 0.1, 0, 0, 20, 1 +knockFuelTrimReapplyRate = scalar, U08, 3898, "deg/s", 0.1, 0, 0, 10, 1 +knockFuelTrim = scalar, U08, 3899, "%", 1, 0, 0, 30, 1 +knockSpectrumSensitivity = scalar, F32, 3900, "sense", 1, 0, 0, 1, 2 +knockFrequency = scalar, F32, 3904, "Hz", 1, 0, 0, 20000, 2 +unusedOftenChangesDuringFirmwareUpdate = array, U08, 3908, [116], "units", 1, 0, 0, 1, 0 postCrankingFactor = array, F32, 4024, [6x6], "mult", 1, 0, 1, 3, 2 postCrankingDurationBins = array, F32, 4168, [6], "count", 1, 0, 0, 1000, 0 postCrankingCLTBins = array, S16, 4192, [6], "C", 1, 0, -100, 250, 0 @@ -2448,6 +2455,11 @@ minimumOilPressureValues = array, U08, 22960, [8], "kPa", 10.0, 0, 0, 1000, 0 minAcPressure = "value of A/C pressure in kPa before that compressor is disengaged" maxAcPressure = "value of A/C pressure in kPa after that compressor is disengaged" minimumOilPressureTimeout = "Delay before cutting fuel due to low oil pressure. Use this to ignore short pressure blips and sensor noise." + knockSuppressMinTps = "Below TPS value all knock suppression will be disabled." + knockFuelTrimAggression = "Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump)," + knockFuelTrimReapplyRate = "After a knock event, reapply fuel at this rate." + knockFuelTrim = "Fuel trim when knock, max 30%" + knockFrequency = "Estimated knock frequency, ignore cylinderBore if this one > 0" etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, open loop component of PID closed loop control" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2560,7 +2572,7 @@ minimumOilPressureValues = array, U08, 22960, [8], "kPa", 10.0, 0, 0, 1000, 0 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1752 + ochBlockSize = 1828 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3101,370 +3113,390 @@ m_knockThreshold = scalar, F32, 960, "", 1, 0 m_knockCount = scalar, U32, 964, "", 1, 0 m_maximumRetard = scalar, F32, 968, "", 1, 0 m_knockFrequency = scalar, U32, 972, "Hz", 1, 0 -; total TS size = 976 -tcuCurrentGear = scalar, S08, 976, "gear", 1, 0 -tcRatio = scalar, U16, 978, "value", 0.01, 0 -lastShiftTime = scalar, F32, 980, "", 1, 0 -tcu_currentRange = scalar, U08, 984, "", 1, 0 -pressureControlDuty = scalar, S08, 985, "%", 1,0 -torqueConverterDuty = scalar, S08, 986, "%", 1,0 -isShifting = bits, U32, 988, [0:0] -; total TS size = 992 -throttleUseWotModel = bits, U32, 992, [0:0] -throttleModelCrossoverAngle = scalar, S16, 996, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1000, "g/s", 1, 0 -; total TS size = 1004 -m_requested_pump = scalar, F32, 1004, "", 1, 0 -fuel_requested_percent = scalar, F32, 1008, "", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1012, "", 1, 0 -noValve = bits, U32, 1016, [0:0] -angleAboveMin = bits, U32, 1016, [1:1] -isHpfpInactive = bits, U32, 1016, [2:2] -m_pressureTarget_kPa = scalar, F32, 1020, "", 1, 0 -nextLobe = scalar, F32, 1024, "", 1, 0 -di_nextStart = scalar, F32, 1028, "v", 1, 0 -; total TS size = 1032 -m_deadtime = scalar, F32, 1032, "ms", 1, 0 -pressureDelta = scalar, F32, 1036, "kPa", 1, 0 -pressureRatio = scalar, F32, 1040, "", 1, 0 -; total TS size = 1044 -retardThresholdRpm = scalar, S32, 1044, "", 1, 0 -launchActivatePinState = bits, U32, 1048, [0:0] -isPreLaunchCondition = bits, U32, 1048, [1:1] -isLaunchCondition = bits, U32, 1048, [2:2] -isSwitchActivated = bits, U32, 1048, [3:3] -isClutchActivated = bits, U32, 1048, [4:4] -isBrakePedalActivated = bits, U32, 1048, [5:5] -isValidInputPin = bits, U32, 1048, [6:6] -activateSwitchCondition = bits, U32, 1048, [7:7] -rpmLaunchCondition = bits, U32, 1048, [8:8] -rpmPreLaunchCondition = bits, U32, 1048, [9:9] -speedCondition = bits, U32, 1048, [10:10] -tpsCondition = bits, U32, 1048, [11:11] +m_knockSpectrum1 = scalar, U32, 976, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 980, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 984, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 988, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1040, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1042, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1044, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1048, "multiplier", 1, 0 ; total TS size = 1052 -isTorqueReductionTriggerPinValid = bits, U32, 1052, [0:0] -torqueReductionTriggerPinState = bits, U32, 1052, [1:1] -isTimeConditionSatisfied = bits, U32, 1052, [2:2] -isRpmConditionSatisfied = bits, U32, 1052, [3:3] -isAppConditionSatisfied = bits, U32, 1052, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1052, [5:5] -; total TS size = 1056 -isAntilagCondition = bits, U32, 1056, [0:0] -ALSMinRPMCondition = bits, U32, 1056, [1:1] -ALSMaxRPMCondition = bits, U32, 1056, [2:2] -ALSMinCLTCondition = bits, U32, 1056, [3:3] -ALSMaxCLTCondition = bits, U32, 1056, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1056, [5:5] -isALSSwitchActivated = bits, U32, 1056, [6:6] -ALSActivatePinState = bits, U32, 1056, [7:7] -ALSSwitchCondition = bits, U32, 1056, [8:8] -ALSTimerCondition = bits, U32, 1056, [9:9] -fuelALSCorrection = scalar, F32, 1060, "", 1, 0 -timingALSCorrection = scalar, S16, 1064, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1066, "deg", 0.01, 0 +tcuCurrentGear = scalar, S08, 1052, "gear", 1, 0 +tcRatio = scalar, U16, 1054, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1056, "", 1, 0 +tcu_currentRange = scalar, U08, 1060, "", 1, 0 +pressureControlDuty = scalar, S08, 1061, "%", 1,0 +torqueConverterDuty = scalar, S08, 1062, "%", 1,0 +isShifting = bits, U32, 1064, [0:0] ; total TS size = 1068 -isTpsInvalid = bits, U32, 1068, [0:0] -m_shouldResetPid = bits, U32, 1068, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1068, [2:2] -isNotClosedLoop = bits, U32, 1068, [3:3] -isZeroRpm = bits, U32, 1068, [4:4] -hasInitBoost = bits, U32, 1068, [5:5] -rpmTooLow = bits, U32, 1068, [6:6] -tpsTooLow = bits, U32, 1068, [7:7] -mapTooLow = bits, U32, 1068, [8:8] -isPlantValid = bits, U32, 1068, [9:9] -isBoostControlled = bits, U32, 1068, [10:10] -luaTargetAdd = scalar, S16, 1072, "v", 0.5,0 -boostOutput = scalar, S16, 1074, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1076, "v", 1,0 -openLoopPart = scalar, F32, 1080, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1084, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1088, "%", 0.5,0 -boostControlTarget = scalar, S16, 1090, "kPa", 0.03333333333333333,0 -; total TS size = 1092 -acButtonState = scalar, S08, 1092, "", 1, 0 -m_acEnabled = bits, U32, 1096, [0:0] -engineTooSlow = bits, U32, 1096, [1:1] -engineTooFast = bits, U32, 1096, [2:2] -noClt = bits, U32, 1096, [3:3] -engineTooHot = bits, U32, 1096, [4:4] -tpsTooHigh = bits, U32, 1096, [5:5] -isDisabledByLua = bits, U32, 1096, [6:6] -acCompressorState = bits, U32, 1096, [7:7] -acPressureTooLow = bits, U32, 1096, [8:8] -acPressureTooHigh = bits, U32, 1096, [9:9] -; total TS size = 1100 -cranking0 = bits, U32, 1100, [0:0] -notRunning0 = bits, U32, 1100, [1:1] -disabledWhileEngineStopped0 = bits, U32, 1100, [2:2] -brokenClt0 = bits, U32, 1100, [3:3] -enabledForAc0 = bits, U32, 1100, [4:4] -hot0 = bits, U32, 1100, [5:5] -cold0 = bits, U32, 1100, [6:6] -disabledBySpeed0 = bits, U32, 1100, [7:7] -radiatorFanStatus0 = scalar, U08, 1104, "", 1, 0 +throttleUseWotModel = bits, U32, 1068, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1072, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1076, "g/s", 1, 0 +; total TS size = 1080 +m_requested_pump = scalar, F32, 1080, "", 1, 0 +fuel_requested_percent = scalar, F32, 1084, "", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1088, "", 1, 0 +noValve = bits, U32, 1092, [0:0] +angleAboveMin = bits, U32, 1092, [1:1] +isHpfpInactive = bits, U32, 1092, [2:2] +m_pressureTarget_kPa = scalar, F32, 1096, "", 1, 0 +nextLobe = scalar, F32, 1100, "", 1, 0 +di_nextStart = scalar, F32, 1104, "v", 1, 0 ; total TS size = 1108 -cranking1 = bits, U32, 1108, [0:0] -notRunning1 = bits, U32, 1108, [1:1] -disabledWhileEngineStopped1 = bits, U32, 1108, [2:2] -brokenClt1 = bits, U32, 1108, [3:3] -enabledForAc1 = bits, U32, 1108, [4:4] -hot1 = bits, U32, 1108, [5:5] -cold1 = bits, U32, 1108, [6:6] -disabledBySpeed1 = bits, U32, 1108, [7:7] -radiatorFanStatus1 = scalar, U08, 1112, "", 1, 0 -; total TS size = 1116 -isPrime = bits, U32, 1116, [0:0] -engineTurnedRecently = bits, U32, 1116, [1:1] -isFuelPumpOn = bits, U32, 1116, [2:2] -ignitionOn = bits, U32, 1116, [3:3] +m_deadtime = scalar, F32, 1108, "ms", 1, 0 +pressureDelta = scalar, F32, 1112, "kPa", 1, 0 +pressureRatio = scalar, F32, 1116, "", 1, 0 ; total TS size = 1120 -isBenchTest = bits, U32, 1120, [0:0] -hasIgnitionVoltage = bits, U32, 1120, [1:1] -mainRelayState = bits, U32, 1120, [2:2] -delayedShutoffRequested = bits, U32, 1120, [3:3] -; total TS size = 1124 -lua_fuelAdd = scalar, F32, 1124, "g", 1, 0 -lua_fuelMult = scalar, F32, 1128, "", 1, 0 -lua_clutchUpState = bits, U32, 1132, [0:0] -lua_brakePedalState = bits, U32, 1132, [1:1] -lua_acRequestState = bits, U32, 1132, [2:2] -lua_luaDisableEtb = bits, U32, 1132, [3:3] -lua_luaIgnCut = bits, U32, 1132, [4:4] -lua_luaFuelCut = bits, U32, 1132, [5:5] -lua_clutchDownState = bits, U32, 1132, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1132, [7:7] -sd_tCharge = scalar, S16, 1136, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1140, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1144, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1148, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1152, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1156, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1160, "", 1, 0 -hellenBoardId = scalar, S16, 1164, "id", 1, 0 -clutchUpState = scalar, S08, 1166, "", 1, 0 -clutchDownState = scalar, S08, 1167, "", 1, 0 -brakePedalState = scalar, S08, 1168, "", 1, 0 -startStopState = scalar, S08, 1169, "", 1, 0 -smartChipState = scalar, S08, 1170, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1171, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1172, "", 1, 0 -startStopPhysicalState = bits, U32, 1176, [0:0] -acrActive = bits, U32, 1176, [1:1] -acrEngineMovedRecently = bits, U32, 1176, [2:2] -heaterControlEnabled = bits, U32, 1176, [3:3] -luaDigitalState0 = bits, U32, 1176, [4:4] -luaDigitalState1 = bits, U32, 1176, [5:5] -luaDigitalState2 = bits, U32, 1176, [6:6] -luaDigitalState3 = bits, U32, 1176, [7:7] -startStopStateToggleCounter = scalar, U32, 1180, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1184, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1188, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1192, "", 1, 0 -desiredRpmLimit = scalar, S16, 1196, "rpm", 1, 0 -fuelInjectionCounter = scalar, U32, 1200, "", 1, 0 -globalSparkCounter = scalar, U32, 1204, "", 1, 0 -fuelingLoad = scalar, F32, 1208, "", 1, 0 -ignitionLoad = scalar, F32, 1212, "", 1, 0 -veTableYAxis = scalar, U16, 1216, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1218, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1219, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1220, "", 1, 0 -; total TS size = 1224 -tpsFrom = scalar, F32, 1224 -tpsTo = scalar, F32, 1228 -deltaTps = scalar, F32, 1232 -extraFuel = scalar, F32, 1236, "", 1, 0 -valueFromTable = scalar, F32, 1240, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1244, [0:0] -isBelowDecelThreshold = bits, U32, 1244, [1:1] -isTimeToResetAccumulator = bits, U32, 1244, [2:2] -isFractionalEnrichment = bits, U32, 1244, [3:3] -belowEpsilon = bits, U32, 1244, [4:4] -tooShort = bits, U32, 1244, [5:5] -fractionalInjFuel = scalar, F32, 1248, "", 1, 0 -accumulatedValue = scalar, F32, 1252, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1256, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1260, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1264, "", 1, 0 -cycleCnt = scalar, S32, 1268, "", 1, 0 -; total TS size = 1272 -hwEventCounters1 = scalar, U32, 1272, "", 1, 0 -hwEventCounters2 = scalar, U32, 1276, "", 1, 0 -hwEventCounters3 = scalar, U32, 1280, "", 1, 0 -hwEventCounters4 = scalar, U32, 1284, "", 1, 0 -hwEventCounters5 = scalar, U32, 1288, "", 1, 0 -hwEventCounters6 = scalar, U32, 1292, "", 1, 0 -vvtCamCounter = scalar, U32, 1296, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1300, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1304, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1308, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1309, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1312, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1316, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1320, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1324, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1328, [0:0] -triggerElapsedUs = scalar, U32, 1332, "", 1, 0 -; total TS size = 1336 -crankSynchronizationCounter0 = scalar, U32, 1336, "", 1, 0 -vvtSyncGapRatio0 = scalar, F32, 1340, "", 1, 0 -vvtToothDurations00 = scalar, U32, 1344, "us", 1, 0 -vvtCurrentPosition0 = scalar, F32, 1348, "sync: Primary Cam Position", 1, 0 -vvtToothPosition10 = scalar, F32, 1352, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition20 = scalar, F32, 1356, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition30 = scalar, F32, 1360, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition40 = scalar, F32, 1364, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio0 = scalar, F32, 1368, "", 1, 0 -triggerStateIndex0 = scalar, U08, 1372, "", 1, 0 -vvtStateIndex0 = scalar, U08, 1373, "", 1, 0 -; total TS size = 1376 -crankSynchronizationCounter1 = scalar, U32, 1376, "", 1, 0 -vvtSyncGapRatio1 = scalar, F32, 1380, "", 1, 0 -vvtToothDurations01 = scalar, U32, 1384, "us", 1, 0 -vvtCurrentPosition1 = scalar, F32, 1388, "sync: Primary Cam Position", 1, 0 -vvtToothPosition11 = scalar, F32, 1392, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition21 = scalar, F32, 1396, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition31 = scalar, F32, 1400, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition41 = scalar, F32, 1404, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio1 = scalar, F32, 1408, "", 1, 0 -triggerStateIndex1 = scalar, U08, 1412, "", 1, 0 -vvtStateIndex1 = scalar, U08, 1413, "", 1, 0 -; total TS size = 1416 -crankSynchronizationCounter2 = scalar, U32, 1416, "", 1, 0 -vvtSyncGapRatio2 = scalar, F32, 1420, "", 1, 0 -vvtToothDurations02 = scalar, U32, 1424, "us", 1, 0 -vvtCurrentPosition2 = scalar, F32, 1428, "sync: Primary Cam Position", 1, 0 -vvtToothPosition12 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition22 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition32 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition42 = scalar, F32, 1444, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio2 = scalar, F32, 1448, "", 1, 0 -triggerStateIndex2 = scalar, U08, 1452, "", 1, 0 -vvtStateIndex2 = scalar, U08, 1453, "", 1, 0 -; total TS size = 1456 -crankSynchronizationCounter3 = scalar, U32, 1456, "", 1, 0 -vvtSyncGapRatio3 = scalar, F32, 1460, "", 1, 0 -vvtToothDurations03 = scalar, U32, 1464, "us", 1, 0 -vvtCurrentPosition3 = scalar, F32, 1468, "sync: Primary Cam Position", 1, 0 -vvtToothPosition13 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition23 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition33 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition43 = scalar, F32, 1484, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio3 = scalar, F32, 1488, "", 1, 0 -triggerStateIndex3 = scalar, U08, 1492, "", 1, 0 -vvtStateIndex3 = scalar, U08, 1493, "", 1, 0 -; total TS size = 1496 -crankSynchronizationCounter4 = scalar, U32, 1496, "", 1, 0 -vvtSyncGapRatio4 = scalar, F32, 1500, "", 1, 0 -vvtToothDurations04 = scalar, U32, 1504, "us", 1, 0 -vvtCurrentPosition4 = scalar, F32, 1508, "sync: Primary Cam Position", 1, 0 -vvtToothPosition14 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition24 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition34 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition44 = scalar, F32, 1524, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio4 = scalar, F32, 1528, "", 1, 0 -triggerStateIndex4 = scalar, U08, 1532, "", 1, 0 -vvtStateIndex4 = scalar, U08, 1533, "", 1, 0 -; total TS size = 1536 -camResyncCounter = scalar, U08, 1536, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1540, [0:0] -; total TS size = 1544 -wallFuelCorrection = scalar, F32, 1544, "", 1, 0 -wallFuel = scalar, F32, 1548, "", 1, 0 -; total TS size = 1552 -idleState = bits, S32, 1552, [0:2], "not important" -currentIdlePosition = scalar, F32, 1556 -baseIdlePosition = scalar, F32, 1560 -idleClosedLoop = scalar, F32, 1564 -iacByTpsTaper = scalar, F32, 1568 -throttlePedalUpState = scalar, S32, 1572, "", 1, 0 -mightResetPid = bits, U32, 1576, [0:0] -shouldResetPid = bits, U32, 1576, [1:1] -wasResetPid = bits, U32, 1576, [2:2] -mustResetPid = bits, U32, 1576, [3:3] -isCranking = bits, U32, 1576, [4:4] -isIacTableForCoasting = bits, U32, 1576, [5:5] -notIdling = bits, U32, 1576, [6:6] -needReset = bits, U32, 1576, [7:7] -isInDeadZone = bits, U32, 1576, [8:8] -isBlipping = bits, U32, 1576, [9:9] -useClosedLoop = bits, U32, 1576, [10:10] -badTps = bits, U32, 1576, [11:11] -looksLikeRunning = bits, U32, 1576, [12:12] -looksLikeCoasting = bits, U32, 1576, [13:13] -looksLikeCrankToIdle = bits, U32, 1576, [14:14] -isIdleCoasting = bits, U32, 1576, [15:15] -isIdleClosedLoop = bits, U32, 1576, [16:16] -idleTarget = scalar, S32, 1580, "", 1, 0 -targetRpmByClt = scalar, S32, 1584, "", 1, 0 -targetRpmAc = scalar, S32, 1588, "", 1, 0 -iacByRpmTaper = scalar, F32, 1592 -luaAdd = scalar, F32, 1596 -; total TS size = 1600 -targetWithIdlePosition0 = scalar, F32, 1600, "per", 1,0 -trim0 = scalar, F32, 1604, "", 1, 0 -luaAdjustment0 = scalar, F32, 1608, "per", 1,0 -m_wastegatePosition0 = scalar, F32, 1612, "per", 1,0 -etbFeedForward0 = scalar, F32, 1616 -etbIntegralError0 = scalar, F32, 1620, "", 1, 0 -etbCurrentTarget0 = scalar, F32, 1624, "%", 1, 0 -etbCurrentAdjustedTarget0 = scalar, F32, 1628, "%", 1, 0 -etbRevLimitActive0 = bits, U32, 1632, [0:0] -jamDetected0 = bits, U32, 1632, [1:1] -etbTpsErrorCounter0 = scalar, U16, 1636, "count", 1,0 -etbPpsErrorCounter0 = scalar, U16, 1638, "count", 1,0 -etbErrorCode0 = scalar, S08, 1640, "", 1, 0 -tcEtbDrop0 = scalar, S08, 1641, "%", 1, 0 -jamTimer0 = scalar, U16, 1642, "sec", 0.01, 0 -adjustedEtbTarget0 = scalar, S08, 1644, "%", 1, 0 -; total TS size = 1648 -targetWithIdlePosition1 = scalar, F32, 1648, "per", 1,0 -trim1 = scalar, F32, 1652, "", 1, 0 -luaAdjustment1 = scalar, F32, 1656, "per", 1,0 -m_wastegatePosition1 = scalar, F32, 1660, "per", 1,0 -etbFeedForward1 = scalar, F32, 1664 -etbIntegralError1 = scalar, F32, 1668, "", 1, 0 -etbCurrentTarget1 = scalar, F32, 1672, "%", 1, 0 -etbCurrentAdjustedTarget1 = scalar, F32, 1676, "%", 1, 0 -etbRevLimitActive1 = bits, U32, 1680, [0:0] -jamDetected1 = bits, U32, 1680, [1:1] -etbTpsErrorCounter1 = scalar, U16, 1684, "count", 1,0 -etbPpsErrorCounter1 = scalar, U16, 1686, "count", 1,0 -etbErrorCode1 = scalar, S08, 1688, "", 1, 0 -tcEtbDrop1 = scalar, S08, 1689, "%", 1, 0 -jamTimer1 = scalar, U16, 1690, "sec", 0.01, 0 -adjustedEtbTarget1 = scalar, S08, 1692, "%", 1, 0 -; total TS size = 1696 -faultCode0 = scalar, U08, 1696, "", 1, 0 -heaterDuty0 = scalar, U08, 1697, "%", 1, 0 -pumpDuty0 = scalar, U08, 1698, "%", 1, 0 -tempC0 = scalar, U16, 1700, "C", 1, 0 -nernstVoltage0 = scalar, U16, 1702, "V", 0.001, 0 -esr0 = scalar, U16, 1704, "ohm", 1, 0 -; total TS size = 1708 -faultCode1 = scalar, U08, 1708, "", 1, 0 -heaterDuty1 = scalar, U08, 1709, "%", 1, 0 -pumpDuty1 = scalar, U08, 1710, "%", 1, 0 -tempC1 = scalar, U16, 1712, "C", 1, 0 -nernstVoltage1 = scalar, U16, 1714, "V", 0.001, 0 -esr1 = scalar, U16, 1716, "ohm", 1, 0 -; total TS size = 1720 -dcOutput0 = scalar, F32, 1720, "per", 1,0 -isEnabled0_int = scalar, U08, 1724, "per", 1,0 -isEnabled0 = bits, U32, 1728, [0:0] -; total TS size = 1732 -value0 = scalar, U16, 1732, "value", 1,0 -value1 = scalar, U16, 1734, "value", 1,0 -errorRate = scalar, F32, 1736, "ratio", 1,0 -; total TS size = 1740 -vvtTarget = scalar, U16, 1740, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1742, "%", 0.5, 0 -; total TS size = 1744 -lambdaCurrentlyGood = bits, U32, 1744, [0:0] -lambdaMonitorCut = bits, U32, 1744, [1:1] -lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 -; total TS size = 1752 +retardThresholdRpm = scalar, S32, 1120, "", 1, 0 +launchActivatePinState = bits, U32, 1124, [0:0] +isPreLaunchCondition = bits, U32, 1124, [1:1] +isLaunchCondition = bits, U32, 1124, [2:2] +isSwitchActivated = bits, U32, 1124, [3:3] +isClutchActivated = bits, U32, 1124, [4:4] +isBrakePedalActivated = bits, U32, 1124, [5:5] +isValidInputPin = bits, U32, 1124, [6:6] +activateSwitchCondition = bits, U32, 1124, [7:7] +rpmLaunchCondition = bits, U32, 1124, [8:8] +rpmPreLaunchCondition = bits, U32, 1124, [9:9] +speedCondition = bits, U32, 1124, [10:10] +tpsCondition = bits, U32, 1124, [11:11] +; total TS size = 1128 +isTorqueReductionTriggerPinValid = bits, U32, 1128, [0:0] +torqueReductionTriggerPinState = bits, U32, 1128, [1:1] +isTimeConditionSatisfied = bits, U32, 1128, [2:2] +isRpmConditionSatisfied = bits, U32, 1128, [3:3] +isAppConditionSatisfied = bits, U32, 1128, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1128, [5:5] +; total TS size = 1132 +isAntilagCondition = bits, U32, 1132, [0:0] +ALSMinRPMCondition = bits, U32, 1132, [1:1] +ALSMaxRPMCondition = bits, U32, 1132, [2:2] +ALSMinCLTCondition = bits, U32, 1132, [3:3] +ALSMaxCLTCondition = bits, U32, 1132, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1132, [5:5] +isALSSwitchActivated = bits, U32, 1132, [6:6] +ALSActivatePinState = bits, U32, 1132, [7:7] +ALSSwitchCondition = bits, U32, 1132, [8:8] +ALSTimerCondition = bits, U32, 1132, [9:9] +fuelALSCorrection = scalar, F32, 1136, "", 1, 0 +timingALSCorrection = scalar, S16, 1140, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1142, "deg", 0.01, 0 +; total TS size = 1144 +isTpsInvalid = bits, U32, 1144, [0:0] +m_shouldResetPid = bits, U32, 1144, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1144, [2:2] +isNotClosedLoop = bits, U32, 1144, [3:3] +isZeroRpm = bits, U32, 1144, [4:4] +hasInitBoost = bits, U32, 1144, [5:5] +rpmTooLow = bits, U32, 1144, [6:6] +tpsTooLow = bits, U32, 1144, [7:7] +mapTooLow = bits, U32, 1144, [8:8] +isPlantValid = bits, U32, 1144, [9:9] +isBoostControlled = bits, U32, 1144, [10:10] +luaTargetAdd = scalar, S16, 1148, "v", 0.5,0 +boostOutput = scalar, S16, 1150, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1152, "v", 1,0 +openLoopPart = scalar, F32, 1156, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1160, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1164, "%", 0.5,0 +boostControlTarget = scalar, S16, 1166, "kPa", 0.03333333333333333,0 +; total TS size = 1168 +acButtonState = scalar, S08, 1168, "", 1, 0 +m_acEnabled = bits, U32, 1172, [0:0] +engineTooSlow = bits, U32, 1172, [1:1] +engineTooFast = bits, U32, 1172, [2:2] +noClt = bits, U32, 1172, [3:3] +engineTooHot = bits, U32, 1172, [4:4] +tpsTooHigh = bits, U32, 1172, [5:5] +isDisabledByLua = bits, U32, 1172, [6:6] +acCompressorState = bits, U32, 1172, [7:7] +acPressureTooLow = bits, U32, 1172, [8:8] +acPressureTooHigh = bits, U32, 1172, [9:9] +; total TS size = 1176 +cranking0 = bits, U32, 1176, [0:0] +notRunning0 = bits, U32, 1176, [1:1] +disabledWhileEngineStopped0 = bits, U32, 1176, [2:2] +brokenClt0 = bits, U32, 1176, [3:3] +enabledForAc0 = bits, U32, 1176, [4:4] +hot0 = bits, U32, 1176, [5:5] +cold0 = bits, U32, 1176, [6:6] +disabledBySpeed0 = bits, U32, 1176, [7:7] +radiatorFanStatus0 = scalar, U08, 1180, "", 1, 0 +; total TS size = 1184 +cranking1 = bits, U32, 1184, [0:0] +notRunning1 = bits, U32, 1184, [1:1] +disabledWhileEngineStopped1 = bits, U32, 1184, [2:2] +brokenClt1 = bits, U32, 1184, [3:3] +enabledForAc1 = bits, U32, 1184, [4:4] +hot1 = bits, U32, 1184, [5:5] +cold1 = bits, U32, 1184, [6:6] +disabledBySpeed1 = bits, U32, 1184, [7:7] +radiatorFanStatus1 = scalar, U08, 1188, "", 1, 0 +; total TS size = 1192 +isPrime = bits, U32, 1192, [0:0] +engineTurnedRecently = bits, U32, 1192, [1:1] +isFuelPumpOn = bits, U32, 1192, [2:2] +ignitionOn = bits, U32, 1192, [3:3] +; total TS size = 1196 +isBenchTest = bits, U32, 1196, [0:0] +hasIgnitionVoltage = bits, U32, 1196, [1:1] +mainRelayState = bits, U32, 1196, [2:2] +delayedShutoffRequested = bits, U32, 1196, [3:3] +; total TS size = 1200 +lua_fuelAdd = scalar, F32, 1200, "g", 1, 0 +lua_fuelMult = scalar, F32, 1204, "", 1, 0 +lua_clutchUpState = bits, U32, 1208, [0:0] +lua_brakePedalState = bits, U32, 1208, [1:1] +lua_acRequestState = bits, U32, 1208, [2:2] +lua_luaDisableEtb = bits, U32, 1208, [3:3] +lua_luaIgnCut = bits, U32, 1208, [4:4] +lua_luaFuelCut = bits, U32, 1208, [5:5] +lua_clutchDownState = bits, U32, 1208, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1208, [7:7] +sd_tCharge = scalar, S16, 1212, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1216, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1220, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1224, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1228, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1232, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1236, "", 1, 0 +hellenBoardId = scalar, S16, 1240, "id", 1, 0 +clutchUpState = scalar, S08, 1242, "", 1, 0 +clutchDownState = scalar, S08, 1243, "", 1, 0 +brakePedalState = scalar, S08, 1244, "", 1, 0 +startStopState = scalar, S08, 1245, "", 1, 0 +smartChipState = scalar, S08, 1246, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1247, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1248, "", 1, 0 +startStopPhysicalState = bits, U32, 1252, [0:0] +acrActive = bits, U32, 1252, [1:1] +acrEngineMovedRecently = bits, U32, 1252, [2:2] +heaterControlEnabled = bits, U32, 1252, [3:3] +luaDigitalState0 = bits, U32, 1252, [4:4] +luaDigitalState1 = bits, U32, 1252, [5:5] +luaDigitalState2 = bits, U32, 1252, [6:6] +luaDigitalState3 = bits, U32, 1252, [7:7] +startStopStateToggleCounter = scalar, U32, 1256, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1260, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1264, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1268, "", 1, 0 +desiredRpmLimit = scalar, S16, 1272, "rpm", 1, 0 +fuelInjectionCounter = scalar, U32, 1276, "", 1, 0 +globalSparkCounter = scalar, U32, 1280, "", 1, 0 +fuelingLoad = scalar, F32, 1284, "", 1, 0 +ignitionLoad = scalar, F32, 1288, "", 1, 0 +veTableYAxis = scalar, U16, 1292, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1294, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1295, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1296, "", 1, 0 +; total TS size = 1300 +tpsFrom = scalar, F32, 1300 +tpsTo = scalar, F32, 1304 +deltaTps = scalar, F32, 1308 +extraFuel = scalar, F32, 1312, "", 1, 0 +valueFromTable = scalar, F32, 1316, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1320, [0:0] +isBelowDecelThreshold = bits, U32, 1320, [1:1] +isTimeToResetAccumulator = bits, U32, 1320, [2:2] +isFractionalEnrichment = bits, U32, 1320, [3:3] +belowEpsilon = bits, U32, 1320, [4:4] +tooShort = bits, U32, 1320, [5:5] +fractionalInjFuel = scalar, F32, 1324, "", 1, 0 +accumulatedValue = scalar, F32, 1328, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1332, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1336, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1340, "", 1, 0 +cycleCnt = scalar, S32, 1344, "", 1, 0 +; total TS size = 1348 +hwEventCounters1 = scalar, U32, 1348, "", 1, 0 +hwEventCounters2 = scalar, U32, 1352, "", 1, 0 +hwEventCounters3 = scalar, U32, 1356, "", 1, 0 +hwEventCounters4 = scalar, U32, 1360, "", 1, 0 +hwEventCounters5 = scalar, U32, 1364, "", 1, 0 +hwEventCounters6 = scalar, U32, 1368, "", 1, 0 +vvtCamCounter = scalar, U32, 1372, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1376, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1380, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1384, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1385, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1388, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1392, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1396, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1400, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1404, [0:0] +triggerElapsedUs = scalar, U32, 1408, "", 1, 0 +; total TS size = 1412 +crankSynchronizationCounter0 = scalar, U32, 1412, "", 1, 0 +vvtSyncGapRatio0 = scalar, F32, 1416, "", 1, 0 +vvtToothDurations00 = scalar, U32, 1420, "us", 1, 0 +vvtCurrentPosition0 = scalar, F32, 1424, "sync: Primary Cam Position", 1, 0 +vvtToothPosition10 = scalar, F32, 1428, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition20 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition30 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition40 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio0 = scalar, F32, 1444, "", 1, 0 +triggerStateIndex0 = scalar, U08, 1448, "", 1, 0 +vvtStateIndex0 = scalar, U08, 1449, "", 1, 0 +; total TS size = 1452 +crankSynchronizationCounter1 = scalar, U32, 1452, "", 1, 0 +vvtSyncGapRatio1 = scalar, F32, 1456, "", 1, 0 +vvtToothDurations01 = scalar, U32, 1460, "us", 1, 0 +vvtCurrentPosition1 = scalar, F32, 1464, "sync: Primary Cam Position", 1, 0 +vvtToothPosition11 = scalar, F32, 1468, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition21 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition31 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition41 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio1 = scalar, F32, 1484, "", 1, 0 +triggerStateIndex1 = scalar, U08, 1488, "", 1, 0 +vvtStateIndex1 = scalar, U08, 1489, "", 1, 0 +; total TS size = 1492 +crankSynchronizationCounter2 = scalar, U32, 1492, "", 1, 0 +vvtSyncGapRatio2 = scalar, F32, 1496, "", 1, 0 +vvtToothDurations02 = scalar, U32, 1500, "us", 1, 0 +vvtCurrentPosition2 = scalar, F32, 1504, "sync: Primary Cam Position", 1, 0 +vvtToothPosition12 = scalar, F32, 1508, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition22 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition32 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition42 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio2 = scalar, F32, 1524, "", 1, 0 +triggerStateIndex2 = scalar, U08, 1528, "", 1, 0 +vvtStateIndex2 = scalar, U08, 1529, "", 1, 0 +; total TS size = 1532 +crankSynchronizationCounter3 = scalar, U32, 1532, "", 1, 0 +vvtSyncGapRatio3 = scalar, F32, 1536, "", 1, 0 +vvtToothDurations03 = scalar, U32, 1540, "us", 1, 0 +vvtCurrentPosition3 = scalar, F32, 1544, "sync: Primary Cam Position", 1, 0 +vvtToothPosition13 = scalar, F32, 1548, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition23 = scalar, F32, 1552, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition33 = scalar, F32, 1556, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition43 = scalar, F32, 1560, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio3 = scalar, F32, 1564, "", 1, 0 +triggerStateIndex3 = scalar, U08, 1568, "", 1, 0 +vvtStateIndex3 = scalar, U08, 1569, "", 1, 0 +; total TS size = 1572 +crankSynchronizationCounter4 = scalar, U32, 1572, "", 1, 0 +vvtSyncGapRatio4 = scalar, F32, 1576, "", 1, 0 +vvtToothDurations04 = scalar, U32, 1580, "us", 1, 0 +vvtCurrentPosition4 = scalar, F32, 1584, "sync: Primary Cam Position", 1, 0 +vvtToothPosition14 = scalar, F32, 1588, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition24 = scalar, F32, 1592, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition34 = scalar, F32, 1596, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition44 = scalar, F32, 1600, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio4 = scalar, F32, 1604, "", 1, 0 +triggerStateIndex4 = scalar, U08, 1608, "", 1, 0 +vvtStateIndex4 = scalar, U08, 1609, "", 1, 0 +; total TS size = 1612 +camResyncCounter = scalar, U08, 1612, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1616, [0:0] +; total TS size = 1620 +wallFuelCorrection = scalar, F32, 1620, "", 1, 0 +wallFuel = scalar, F32, 1624, "", 1, 0 +; total TS size = 1628 +idleState = bits, S32, 1628, [0:2], "not important" +currentIdlePosition = scalar, F32, 1632 +baseIdlePosition = scalar, F32, 1636 +idleClosedLoop = scalar, F32, 1640 +iacByTpsTaper = scalar, F32, 1644 +throttlePedalUpState = scalar, S32, 1648, "", 1, 0 +mightResetPid = bits, U32, 1652, [0:0] +shouldResetPid = bits, U32, 1652, [1:1] +wasResetPid = bits, U32, 1652, [2:2] +mustResetPid = bits, U32, 1652, [3:3] +isCranking = bits, U32, 1652, [4:4] +isIacTableForCoasting = bits, U32, 1652, [5:5] +notIdling = bits, U32, 1652, [6:6] +needReset = bits, U32, 1652, [7:7] +isInDeadZone = bits, U32, 1652, [8:8] +isBlipping = bits, U32, 1652, [9:9] +useClosedLoop = bits, U32, 1652, [10:10] +badTps = bits, U32, 1652, [11:11] +looksLikeRunning = bits, U32, 1652, [12:12] +looksLikeCoasting = bits, U32, 1652, [13:13] +looksLikeCrankToIdle = bits, U32, 1652, [14:14] +isIdleCoasting = bits, U32, 1652, [15:15] +isIdleClosedLoop = bits, U32, 1652, [16:16] +idleTarget = scalar, S32, 1656, "", 1, 0 +targetRpmByClt = scalar, S32, 1660, "", 1, 0 +targetRpmAc = scalar, S32, 1664, "", 1, 0 +iacByRpmTaper = scalar, F32, 1668 +luaAdd = scalar, F32, 1672 +; total TS size = 1676 +targetWithIdlePosition0 = scalar, F32, 1676, "per", 1,0 +trim0 = scalar, F32, 1680, "", 1, 0 +luaAdjustment0 = scalar, F32, 1684, "per", 1,0 +m_wastegatePosition0 = scalar, F32, 1688, "per", 1,0 +etbFeedForward0 = scalar, F32, 1692 +etbIntegralError0 = scalar, F32, 1696, "", 1, 0 +etbCurrentTarget0 = scalar, F32, 1700, "%", 1, 0 +etbCurrentAdjustedTarget0 = scalar, F32, 1704, "%", 1, 0 +etbRevLimitActive0 = bits, U32, 1708, [0:0] +jamDetected0 = bits, U32, 1708, [1:1] +etbTpsErrorCounter0 = scalar, U16, 1712, "count", 1,0 +etbPpsErrorCounter0 = scalar, U16, 1714, "count", 1,0 +etbErrorCode0 = scalar, S08, 1716, "", 1, 0 +tcEtbDrop0 = scalar, S08, 1717, "%", 1, 0 +jamTimer0 = scalar, U16, 1718, "sec", 0.01, 0 +adjustedEtbTarget0 = scalar, S08, 1720, "%", 1, 0 +; total TS size = 1724 +targetWithIdlePosition1 = scalar, F32, 1724, "per", 1,0 +trim1 = scalar, F32, 1728, "", 1, 0 +luaAdjustment1 = scalar, F32, 1732, "per", 1,0 +m_wastegatePosition1 = scalar, F32, 1736, "per", 1,0 +etbFeedForward1 = scalar, F32, 1740 +etbIntegralError1 = scalar, F32, 1744, "", 1, 0 +etbCurrentTarget1 = scalar, F32, 1748, "%", 1, 0 +etbCurrentAdjustedTarget1 = scalar, F32, 1752, "%", 1, 0 +etbRevLimitActive1 = bits, U32, 1756, [0:0] +jamDetected1 = bits, U32, 1756, [1:1] +etbTpsErrorCounter1 = scalar, U16, 1760, "count", 1,0 +etbPpsErrorCounter1 = scalar, U16, 1762, "count", 1,0 +etbErrorCode1 = scalar, S08, 1764, "", 1, 0 +tcEtbDrop1 = scalar, S08, 1765, "%", 1, 0 +jamTimer1 = scalar, U16, 1766, "sec", 0.01, 0 +adjustedEtbTarget1 = scalar, S08, 1768, "%", 1, 0 +; total TS size = 1772 +faultCode0 = scalar, U08, 1772, "", 1, 0 +heaterDuty0 = scalar, U08, 1773, "%", 1, 0 +pumpDuty0 = scalar, U08, 1774, "%", 1, 0 +tempC0 = scalar, U16, 1776, "C", 1, 0 +nernstVoltage0 = scalar, U16, 1778, "V", 0.001, 0 +esr0 = scalar, U16, 1780, "ohm", 1, 0 +; total TS size = 1784 +faultCode1 = scalar, U08, 1784, "", 1, 0 +heaterDuty1 = scalar, U08, 1785, "%", 1, 0 +pumpDuty1 = scalar, U08, 1786, "%", 1, 0 +tempC1 = scalar, U16, 1788, "C", 1, 0 +nernstVoltage1 = scalar, U16, 1790, "V", 0.001, 0 +esr1 = scalar, U16, 1792, "ohm", 1, 0 +; total TS size = 1796 +dcOutput0 = scalar, F32, 1796, "per", 1,0 +isEnabled0_int = scalar, U08, 1800, "per", 1,0 +isEnabled0 = bits, U32, 1804, [0:0] +; total TS size = 1808 +value0 = scalar, U16, 1808, "value", 1,0 +value1 = scalar, U16, 1810, "value", 1,0 +errorRate = scalar, F32, 1812, "ratio", 1,0 +; total TS size = 1816 +vvtTarget = scalar, U16, 1816, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1818, "%", 0.5, 0 +; total TS size = 1820 +lambdaCurrentlyGood = bits, U32, 1820, [0:0] +lambdaMonitorCut = bits, U32, 1820, [1:1] +lambdaTimeSinceGood = scalar, U16, 1824, "sec", 0.01, 0 +; total TS size = 1828 time = { timeNow } @@ -3616,6 +3648,7 @@ lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs8 requiresPowerCycle = cylinderBore + requiresPowerCycle = knockFrequency readOnly = warning_message readOnly = device_uid1 @@ -5033,6 +5066,26 @@ gaugeCategory = Knock knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knockSpectrumChannelCylGauge = m_knockSpectrumChannelCyl, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStartGauge = m_knockFrequencyStart, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStepGauge = m_knockFrequencyStep, "Knock Frequency Step", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFuelTrimMultiplier = m_knockFuelTrimMultiplier, "Knock Fuel Trim", "mult", 0, 0, 0, 0, 0, 30, 1, 1 + knockSpectrum1 = m_knockSpectrum1, "Knock Spectrum1", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum2 = m_knockSpectrum2, "knockSpectrum2", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum3 = m_knockSpectrum3, "knockSpectrum3", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum4 = m_knockSpectrum4, "knockSpectrum4", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum5 = m_knockSpectrum5, "knockSpectrum5", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum6 = m_knockSpectrum6, "knockSpectrum6", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum7 = m_knockSpectrum7, "knockSpectrum7", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum8 = m_knockSpectrum8, "knockSpectrum8", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum9 = m_knockSpectrum9, "knockSpectrum9", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum10 = m_knockSpectrum10, "knockSpectrum10", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum11 = m_knockSpectrum11, "knockSpectrum11", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum12 = m_knockSpectrum12, "knockSpectrum12", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum13 = m_knockSpectrum13, "knockSpectrum13", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum14 = m_knockSpectrum14, "knockSpectrum14", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum15 = m_knockSpectrum15, "knockSpectrum15", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum16 = m_knockSpectrum16, "knockSpectrum16", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -5631,6 +5684,26 @@ entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" entry = m_knockCount, "Knock: Count", int, "%d" entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_knockFrequency, "knock: frequency", int, "%d" +entry = m_knockSpectrum1, "Knock: SpectrumData 1", int, "%d" +entry = m_knockSpectrum2, "Knock: SpectrumData 2", int, "%d" +entry = m_knockSpectrum3, "Knock: SpectrumData 3", int, "%d" +entry = m_knockSpectrum4, "Knock: SpectrumData 4", int, "%d" +entry = m_knockSpectrum5, "Knock: SpectrumData 5", int, "%d" +entry = m_knockSpectrum6, "Knock: SpectrumData 6", int, "%d" +entry = m_knockSpectrum7, "Knock: SpectrumData 7", int, "%d" +entry = m_knockSpectrum8, "Knock: SpectrumData 8", int, "%d" +entry = m_knockSpectrum9, "Knock: SpectrumData 9", int, "%d" +entry = m_knockSpectrum10, "Knock: SpectrumData 10", int, "%d" +entry = m_knockSpectrum11, "Knock: SpectrumData 11", int, "%d" +entry = m_knockSpectrum12, "Knock: SpectrumData 12", int, "%d" +entry = m_knockSpectrum13, "Knock: SpectrumData 13", int, "%d" +entry = m_knockSpectrum14, "Knock: SpectrumData 14", int, "%d" +entry = m_knockSpectrum15, "Knock: SpectrumData 15", int, "%d" +entry = m_knockSpectrum16, "Knock: SpectrumData 16", int, "%d" +entry = m_knockSpectrumChannelCyl, "Knock: ChannelAndCylNumber", int, "%d" +entry = m_knockFrequencyStart, "Knock: Start Freq", int, "%d" +entry = m_knockFrequencyStep, "Knock: Step Freq", float, "%.3f" +entry = m_knockFuelTrimMultiplier, "Knock: Fuel trim when knock", float, "%.3f" entry = tcuCurrentGear, "TCU: Current Gear", int, "%d" entry = tcRatio, "TCU: Torque Converter Ratio", float, "%.3f" entry = lastShiftTime, "lastShiftTime", float, "%.3f" @@ -6525,6 +6598,31 @@ dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard graphLine = m_knockFrequency + graphLine = m_knockSpectrum1 + graphLine = m_knockSpectrum2 + liveGraph = knock_controller_6_Graph, "Graph", South + graphLine = m_knockSpectrum3 + graphLine = m_knockSpectrum4 + graphLine = m_knockSpectrum5 + graphLine = m_knockSpectrum6 + liveGraph = knock_controller_7_Graph, "Graph", South + graphLine = m_knockSpectrum7 + graphLine = m_knockSpectrum8 + graphLine = m_knockSpectrum9 + graphLine = m_knockSpectrum10 + liveGraph = knock_controller_8_Graph, "Graph", South + graphLine = m_knockSpectrum11 + graphLine = m_knockSpectrum12 + graphLine = m_knockSpectrum13 + graphLine = m_knockSpectrum14 + liveGraph = knock_controller_9_Graph, "Graph", South + graphLine = m_knockSpectrum15 + graphLine = m_knockSpectrum16 + graphLine = m_knockSpectrumChannelCyl + graphLine = m_knockFrequencyStart + liveGraph = knock_controller_10_Graph, "Graph", South + graphLine = m_knockFrequencyStep + graphLine = m_knockFuelTrimMultiplier indicatorPanel = tcu_controllerIndicatorPanel, 2 indicator = {isShifting}, "isShifting No", "isShifting Yes" @@ -8582,9 +8680,13 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockCfg, "Sense" field = "Enable", enableSoftwareKnock field = "Cylinder Bore", cylinderBore, {enableSoftwareKnock} + field = "Estimated Knock Frequency",knockFrequency, {enableSoftwareKnock} field = "Detection mode", knockDetectionUseDoubleFrequency field = "Detection Window Start",knockDetectionWindowStart, {enableSoftwareKnock} field = "Sampling Duration", knockSamplingDuration, {enableSoftwareKnock} + field = "Enable Knock Spectrogram", enableKnockSpectrogram, {enableSoftwareKnock} + field = "Enable Knock Spectrogram Filter", enableKnockSpectrogramFilter, {enableKnockSpectrogram} + field = "Knock Spectrum Sensitivity", knockSpectrumSensitivity, {enableKnockSpectrogram} field = "" field = "Select the nearest sensor for each cylinder" @@ -8604,6 +8706,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockResponseCfg, "Response" field = knockRetardAggression, knockRetardAggression field = knockRetardReapplyRate, knockRetardReapplyRate + field = knockFuelTrimAggression, knockFuelTrimAggression + field = knockFuelTrimReapplyRate, knockFuelTrimReapplyRate + field = knockFuelTrim, knockFuelTrim + field = knockSuppressMinTps, knockSuppressMinTps dialog = softwareKnockLeft, "" panel = softwareKnockCfg diff --git a/firmware/tunerstudio/generated/rusefi_hellenNA6.ini b/firmware/tunerstudio/generated/rusefi_hellenNA6.ini index f82ec0f405..15cbac198d 100644 --- a/firmware/tunerstudio/generated/rusefi_hellenNA6.ini +++ b/firmware/tunerstudio/generated/rusefi_hellenNA6.ini @@ -38,12 +38,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.10.21.hellenNA6.306461177" + signature = "rusEFI master.2024.10.21.hellenNA6.3463209734" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.10.21.hellenNA6.306461177" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.10.21.hellenNA6.3463209734" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -774,6 +774,7 @@ devBit7 = bits, U32, 1492, [27:27], "false", "true" unusedSkipWasHere = bits, U32, 1492, [28:28], "false", "true" invertExhaustCamVVTSignal = bits, U32, 1492, [29:29], "Rising", "Falling" enableKnockSpectrogram = bits, U32, 1492, [30:30], "false", "true" +enableKnockSpectrogramFilter = bits, U32, 1492, [31:31], "false", "true" afterCrankingIACtaperDuration = scalar, S16, 1496, "cycles", 1, 0, 0, 5000, 0 iacByTpsTaper = scalar, S16, 1498, "percent", 1, 0, 0, 500, 0 unusedAuxSeria = bits, U16, 1500, [0:8], $gpio_list @@ -1394,7 +1395,13 @@ auxLinear4_v1 = scalar, F32, 3880, "volts", 1, 0, 0, 10, 2 auxLinear4_value1 = scalar, F32, 3884, "", 1, 0, -100000, 1000000, 2 auxLinear4_v2 = scalar, F32, 3888, "volts", 1, 0, 0, 10, 2 auxLinear4_value2 = scalar, F32, 3892, "", 1, 0, -100000, 1000000, 2 -unusedOftenChangesDuringFirmwareUpdate = array, U08, 3896, [128], "units", 1, 0, 0, 1, 0 +knockSuppressMinTps = scalar, U08, 3896, "%", 1, 0, 0, 100, 1 +knockFuelTrimAggression = scalar, U08, 3897, "%", 0.1, 0, 0, 20, 1 +knockFuelTrimReapplyRate = scalar, U08, 3898, "deg/s", 0.1, 0, 0, 10, 1 +knockFuelTrim = scalar, U08, 3899, "%", 1, 0, 0, 30, 1 +knockSpectrumSensitivity = scalar, F32, 3900, "sense", 1, 0, 0, 1, 2 +knockFrequency = scalar, F32, 3904, "Hz", 1, 0, 0, 20000, 2 +unusedOftenChangesDuringFirmwareUpdate = array, U08, 3908, [116], "units", 1, 0, 0, 1, 0 postCrankingFactor = array, F32, 4024, [6x6], "mult", 1, 0, 1, 3, 2 postCrankingDurationBins = array, F32, 4168, [6], "count", 1, 0, 0, 1000, 0 postCrankingCLTBins = array, S16, 4192, [6], "C", 1, 0, -100, 250, 0 @@ -2448,6 +2455,11 @@ minimumOilPressureValues = array, U08, 22960, [8], "kPa", 10.0, 0, 0, 1000, 0 minAcPressure = "value of A/C pressure in kPa before that compressor is disengaged" maxAcPressure = "value of A/C pressure in kPa after that compressor is disengaged" minimumOilPressureTimeout = "Delay before cutting fuel due to low oil pressure. Use this to ignore short pressure blips and sensor noise." + knockSuppressMinTps = "Below TPS value all knock suppression will be disabled." + knockFuelTrimAggression = "Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump)," + knockFuelTrimReapplyRate = "After a knock event, reapply fuel at this rate." + knockFuelTrim = "Fuel trim when knock, max 30%" + knockFrequency = "Estimated knock frequency, ignore cylinderBore if this one > 0" etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, open loop component of PID closed loop control" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2560,7 +2572,7 @@ minimumOilPressureValues = array, U08, 22960, [8], "kPa", 10.0, 0, 0, 1000, 0 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1752 + ochBlockSize = 1828 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3101,370 +3113,390 @@ m_knockThreshold = scalar, F32, 960, "", 1, 0 m_knockCount = scalar, U32, 964, "", 1, 0 m_maximumRetard = scalar, F32, 968, "", 1, 0 m_knockFrequency = scalar, U32, 972, "Hz", 1, 0 -; total TS size = 976 -tcuCurrentGear = scalar, S08, 976, "gear", 1, 0 -tcRatio = scalar, U16, 978, "value", 0.01, 0 -lastShiftTime = scalar, F32, 980, "", 1, 0 -tcu_currentRange = scalar, U08, 984, "", 1, 0 -pressureControlDuty = scalar, S08, 985, "%", 1,0 -torqueConverterDuty = scalar, S08, 986, "%", 1,0 -isShifting = bits, U32, 988, [0:0] -; total TS size = 992 -throttleUseWotModel = bits, U32, 992, [0:0] -throttleModelCrossoverAngle = scalar, S16, 996, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1000, "g/s", 1, 0 -; total TS size = 1004 -m_requested_pump = scalar, F32, 1004, "", 1, 0 -fuel_requested_percent = scalar, F32, 1008, "", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1012, "", 1, 0 -noValve = bits, U32, 1016, [0:0] -angleAboveMin = bits, U32, 1016, [1:1] -isHpfpInactive = bits, U32, 1016, [2:2] -m_pressureTarget_kPa = scalar, F32, 1020, "", 1, 0 -nextLobe = scalar, F32, 1024, "", 1, 0 -di_nextStart = scalar, F32, 1028, "v", 1, 0 -; total TS size = 1032 -m_deadtime = scalar, F32, 1032, "ms", 1, 0 -pressureDelta = scalar, F32, 1036, "kPa", 1, 0 -pressureRatio = scalar, F32, 1040, "", 1, 0 -; total TS size = 1044 -retardThresholdRpm = scalar, S32, 1044, "", 1, 0 -launchActivatePinState = bits, U32, 1048, [0:0] -isPreLaunchCondition = bits, U32, 1048, [1:1] -isLaunchCondition = bits, U32, 1048, [2:2] -isSwitchActivated = bits, U32, 1048, [3:3] -isClutchActivated = bits, U32, 1048, [4:4] -isBrakePedalActivated = bits, U32, 1048, [5:5] -isValidInputPin = bits, U32, 1048, [6:6] -activateSwitchCondition = bits, U32, 1048, [7:7] -rpmLaunchCondition = bits, U32, 1048, [8:8] -rpmPreLaunchCondition = bits, U32, 1048, [9:9] -speedCondition = bits, U32, 1048, [10:10] -tpsCondition = bits, U32, 1048, [11:11] +m_knockSpectrum1 = scalar, U32, 976, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 980, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 984, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 988, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1040, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1042, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1044, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1048, "multiplier", 1, 0 ; total TS size = 1052 -isTorqueReductionTriggerPinValid = bits, U32, 1052, [0:0] -torqueReductionTriggerPinState = bits, U32, 1052, [1:1] -isTimeConditionSatisfied = bits, U32, 1052, [2:2] -isRpmConditionSatisfied = bits, U32, 1052, [3:3] -isAppConditionSatisfied = bits, U32, 1052, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1052, [5:5] -; total TS size = 1056 -isAntilagCondition = bits, U32, 1056, [0:0] -ALSMinRPMCondition = bits, U32, 1056, [1:1] -ALSMaxRPMCondition = bits, U32, 1056, [2:2] -ALSMinCLTCondition = bits, U32, 1056, [3:3] -ALSMaxCLTCondition = bits, U32, 1056, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1056, [5:5] -isALSSwitchActivated = bits, U32, 1056, [6:6] -ALSActivatePinState = bits, U32, 1056, [7:7] -ALSSwitchCondition = bits, U32, 1056, [8:8] -ALSTimerCondition = bits, U32, 1056, [9:9] -fuelALSCorrection = scalar, F32, 1060, "", 1, 0 -timingALSCorrection = scalar, S16, 1064, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1066, "deg", 0.01, 0 +tcuCurrentGear = scalar, S08, 1052, "gear", 1, 0 +tcRatio = scalar, U16, 1054, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1056, "", 1, 0 +tcu_currentRange = scalar, U08, 1060, "", 1, 0 +pressureControlDuty = scalar, S08, 1061, "%", 1,0 +torqueConverterDuty = scalar, S08, 1062, "%", 1,0 +isShifting = bits, U32, 1064, [0:0] ; total TS size = 1068 -isTpsInvalid = bits, U32, 1068, [0:0] -m_shouldResetPid = bits, U32, 1068, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1068, [2:2] -isNotClosedLoop = bits, U32, 1068, [3:3] -isZeroRpm = bits, U32, 1068, [4:4] -hasInitBoost = bits, U32, 1068, [5:5] -rpmTooLow = bits, U32, 1068, [6:6] -tpsTooLow = bits, U32, 1068, [7:7] -mapTooLow = bits, U32, 1068, [8:8] -isPlantValid = bits, U32, 1068, [9:9] -isBoostControlled = bits, U32, 1068, [10:10] -luaTargetAdd = scalar, S16, 1072, "v", 0.5,0 -boostOutput = scalar, S16, 1074, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1076, "v", 1,0 -openLoopPart = scalar, F32, 1080, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1084, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1088, "%", 0.5,0 -boostControlTarget = scalar, S16, 1090, "kPa", 0.03333333333333333,0 -; total TS size = 1092 -acButtonState = scalar, S08, 1092, "", 1, 0 -m_acEnabled = bits, U32, 1096, [0:0] -engineTooSlow = bits, U32, 1096, [1:1] -engineTooFast = bits, U32, 1096, [2:2] -noClt = bits, U32, 1096, [3:3] -engineTooHot = bits, U32, 1096, [4:4] -tpsTooHigh = bits, U32, 1096, [5:5] -isDisabledByLua = bits, U32, 1096, [6:6] -acCompressorState = bits, U32, 1096, [7:7] -acPressureTooLow = bits, U32, 1096, [8:8] -acPressureTooHigh = bits, U32, 1096, [9:9] -; total TS size = 1100 -cranking0 = bits, U32, 1100, [0:0] -notRunning0 = bits, U32, 1100, [1:1] -disabledWhileEngineStopped0 = bits, U32, 1100, [2:2] -brokenClt0 = bits, U32, 1100, [3:3] -enabledForAc0 = bits, U32, 1100, [4:4] -hot0 = bits, U32, 1100, [5:5] -cold0 = bits, U32, 1100, [6:6] -disabledBySpeed0 = bits, U32, 1100, [7:7] -radiatorFanStatus0 = scalar, U08, 1104, "", 1, 0 +throttleUseWotModel = bits, U32, 1068, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1072, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1076, "g/s", 1, 0 +; total TS size = 1080 +m_requested_pump = scalar, F32, 1080, "", 1, 0 +fuel_requested_percent = scalar, F32, 1084, "", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1088, "", 1, 0 +noValve = bits, U32, 1092, [0:0] +angleAboveMin = bits, U32, 1092, [1:1] +isHpfpInactive = bits, U32, 1092, [2:2] +m_pressureTarget_kPa = scalar, F32, 1096, "", 1, 0 +nextLobe = scalar, F32, 1100, "", 1, 0 +di_nextStart = scalar, F32, 1104, "v", 1, 0 ; total TS size = 1108 -cranking1 = bits, U32, 1108, [0:0] -notRunning1 = bits, U32, 1108, [1:1] -disabledWhileEngineStopped1 = bits, U32, 1108, [2:2] -brokenClt1 = bits, U32, 1108, [3:3] -enabledForAc1 = bits, U32, 1108, [4:4] -hot1 = bits, U32, 1108, [5:5] -cold1 = bits, U32, 1108, [6:6] -disabledBySpeed1 = bits, U32, 1108, [7:7] -radiatorFanStatus1 = scalar, U08, 1112, "", 1, 0 -; total TS size = 1116 -isPrime = bits, U32, 1116, [0:0] -engineTurnedRecently = bits, U32, 1116, [1:1] -isFuelPumpOn = bits, U32, 1116, [2:2] -ignitionOn = bits, U32, 1116, [3:3] +m_deadtime = scalar, F32, 1108, "ms", 1, 0 +pressureDelta = scalar, F32, 1112, "kPa", 1, 0 +pressureRatio = scalar, F32, 1116, "", 1, 0 ; total TS size = 1120 -isBenchTest = bits, U32, 1120, [0:0] -hasIgnitionVoltage = bits, U32, 1120, [1:1] -mainRelayState = bits, U32, 1120, [2:2] -delayedShutoffRequested = bits, U32, 1120, [3:3] -; total TS size = 1124 -lua_fuelAdd = scalar, F32, 1124, "g", 1, 0 -lua_fuelMult = scalar, F32, 1128, "", 1, 0 -lua_clutchUpState = bits, U32, 1132, [0:0] -lua_brakePedalState = bits, U32, 1132, [1:1] -lua_acRequestState = bits, U32, 1132, [2:2] -lua_luaDisableEtb = bits, U32, 1132, [3:3] -lua_luaIgnCut = bits, U32, 1132, [4:4] -lua_luaFuelCut = bits, U32, 1132, [5:5] -lua_clutchDownState = bits, U32, 1132, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1132, [7:7] -sd_tCharge = scalar, S16, 1136, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1140, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1144, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1148, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1152, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1156, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1160, "", 1, 0 -hellenBoardId = scalar, S16, 1164, "id", 1, 0 -clutchUpState = scalar, S08, 1166, "", 1, 0 -clutchDownState = scalar, S08, 1167, "", 1, 0 -brakePedalState = scalar, S08, 1168, "", 1, 0 -startStopState = scalar, S08, 1169, "", 1, 0 -smartChipState = scalar, S08, 1170, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1171, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1172, "", 1, 0 -startStopPhysicalState = bits, U32, 1176, [0:0] -acrActive = bits, U32, 1176, [1:1] -acrEngineMovedRecently = bits, U32, 1176, [2:2] -heaterControlEnabled = bits, U32, 1176, [3:3] -luaDigitalState0 = bits, U32, 1176, [4:4] -luaDigitalState1 = bits, U32, 1176, [5:5] -luaDigitalState2 = bits, U32, 1176, [6:6] -luaDigitalState3 = bits, U32, 1176, [7:7] -startStopStateToggleCounter = scalar, U32, 1180, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1184, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1188, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1192, "", 1, 0 -desiredRpmLimit = scalar, S16, 1196, "rpm", 1, 0 -fuelInjectionCounter = scalar, U32, 1200, "", 1, 0 -globalSparkCounter = scalar, U32, 1204, "", 1, 0 -fuelingLoad = scalar, F32, 1208, "", 1, 0 -ignitionLoad = scalar, F32, 1212, "", 1, 0 -veTableYAxis = scalar, U16, 1216, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1218, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1219, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1220, "", 1, 0 -; total TS size = 1224 -tpsFrom = scalar, F32, 1224 -tpsTo = scalar, F32, 1228 -deltaTps = scalar, F32, 1232 -extraFuel = scalar, F32, 1236, "", 1, 0 -valueFromTable = scalar, F32, 1240, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1244, [0:0] -isBelowDecelThreshold = bits, U32, 1244, [1:1] -isTimeToResetAccumulator = bits, U32, 1244, [2:2] -isFractionalEnrichment = bits, U32, 1244, [3:3] -belowEpsilon = bits, U32, 1244, [4:4] -tooShort = bits, U32, 1244, [5:5] -fractionalInjFuel = scalar, F32, 1248, "", 1, 0 -accumulatedValue = scalar, F32, 1252, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1256, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1260, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1264, "", 1, 0 -cycleCnt = scalar, S32, 1268, "", 1, 0 -; total TS size = 1272 -hwEventCounters1 = scalar, U32, 1272, "", 1, 0 -hwEventCounters2 = scalar, U32, 1276, "", 1, 0 -hwEventCounters3 = scalar, U32, 1280, "", 1, 0 -hwEventCounters4 = scalar, U32, 1284, "", 1, 0 -hwEventCounters5 = scalar, U32, 1288, "", 1, 0 -hwEventCounters6 = scalar, U32, 1292, "", 1, 0 -vvtCamCounter = scalar, U32, 1296, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1300, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1304, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1308, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1309, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1312, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1316, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1320, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1324, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1328, [0:0] -triggerElapsedUs = scalar, U32, 1332, "", 1, 0 -; total TS size = 1336 -crankSynchronizationCounter0 = scalar, U32, 1336, "", 1, 0 -vvtSyncGapRatio0 = scalar, F32, 1340, "", 1, 0 -vvtToothDurations00 = scalar, U32, 1344, "us", 1, 0 -vvtCurrentPosition0 = scalar, F32, 1348, "sync: Primary Cam Position", 1, 0 -vvtToothPosition10 = scalar, F32, 1352, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition20 = scalar, F32, 1356, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition30 = scalar, F32, 1360, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition40 = scalar, F32, 1364, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio0 = scalar, F32, 1368, "", 1, 0 -triggerStateIndex0 = scalar, U08, 1372, "", 1, 0 -vvtStateIndex0 = scalar, U08, 1373, "", 1, 0 -; total TS size = 1376 -crankSynchronizationCounter1 = scalar, U32, 1376, "", 1, 0 -vvtSyncGapRatio1 = scalar, F32, 1380, "", 1, 0 -vvtToothDurations01 = scalar, U32, 1384, "us", 1, 0 -vvtCurrentPosition1 = scalar, F32, 1388, "sync: Primary Cam Position", 1, 0 -vvtToothPosition11 = scalar, F32, 1392, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition21 = scalar, F32, 1396, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition31 = scalar, F32, 1400, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition41 = scalar, F32, 1404, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio1 = scalar, F32, 1408, "", 1, 0 -triggerStateIndex1 = scalar, U08, 1412, "", 1, 0 -vvtStateIndex1 = scalar, U08, 1413, "", 1, 0 -; total TS size = 1416 -crankSynchronizationCounter2 = scalar, U32, 1416, "", 1, 0 -vvtSyncGapRatio2 = scalar, F32, 1420, "", 1, 0 -vvtToothDurations02 = scalar, U32, 1424, "us", 1, 0 -vvtCurrentPosition2 = scalar, F32, 1428, "sync: Primary Cam Position", 1, 0 -vvtToothPosition12 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition22 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition32 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition42 = scalar, F32, 1444, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio2 = scalar, F32, 1448, "", 1, 0 -triggerStateIndex2 = scalar, U08, 1452, "", 1, 0 -vvtStateIndex2 = scalar, U08, 1453, "", 1, 0 -; total TS size = 1456 -crankSynchronizationCounter3 = scalar, U32, 1456, "", 1, 0 -vvtSyncGapRatio3 = scalar, F32, 1460, "", 1, 0 -vvtToothDurations03 = scalar, U32, 1464, "us", 1, 0 -vvtCurrentPosition3 = scalar, F32, 1468, "sync: Primary Cam Position", 1, 0 -vvtToothPosition13 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition23 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition33 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition43 = scalar, F32, 1484, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio3 = scalar, F32, 1488, "", 1, 0 -triggerStateIndex3 = scalar, U08, 1492, "", 1, 0 -vvtStateIndex3 = scalar, U08, 1493, "", 1, 0 -; total TS size = 1496 -crankSynchronizationCounter4 = scalar, U32, 1496, "", 1, 0 -vvtSyncGapRatio4 = scalar, F32, 1500, "", 1, 0 -vvtToothDurations04 = scalar, U32, 1504, "us", 1, 0 -vvtCurrentPosition4 = scalar, F32, 1508, "sync: Primary Cam Position", 1, 0 -vvtToothPosition14 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition24 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition34 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition44 = scalar, F32, 1524, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio4 = scalar, F32, 1528, "", 1, 0 -triggerStateIndex4 = scalar, U08, 1532, "", 1, 0 -vvtStateIndex4 = scalar, U08, 1533, "", 1, 0 -; total TS size = 1536 -camResyncCounter = scalar, U08, 1536, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1540, [0:0] -; total TS size = 1544 -wallFuelCorrection = scalar, F32, 1544, "", 1, 0 -wallFuel = scalar, F32, 1548, "", 1, 0 -; total TS size = 1552 -idleState = bits, S32, 1552, [0:2], "not important" -currentIdlePosition = scalar, F32, 1556 -baseIdlePosition = scalar, F32, 1560 -idleClosedLoop = scalar, F32, 1564 -iacByTpsTaper = scalar, F32, 1568 -throttlePedalUpState = scalar, S32, 1572, "", 1, 0 -mightResetPid = bits, U32, 1576, [0:0] -shouldResetPid = bits, U32, 1576, [1:1] -wasResetPid = bits, U32, 1576, [2:2] -mustResetPid = bits, U32, 1576, [3:3] -isCranking = bits, U32, 1576, [4:4] -isIacTableForCoasting = bits, U32, 1576, [5:5] -notIdling = bits, U32, 1576, [6:6] -needReset = bits, U32, 1576, [7:7] -isInDeadZone = bits, U32, 1576, [8:8] -isBlipping = bits, U32, 1576, [9:9] -useClosedLoop = bits, U32, 1576, [10:10] -badTps = bits, U32, 1576, [11:11] -looksLikeRunning = bits, U32, 1576, [12:12] -looksLikeCoasting = bits, U32, 1576, [13:13] -looksLikeCrankToIdle = bits, U32, 1576, [14:14] -isIdleCoasting = bits, U32, 1576, [15:15] -isIdleClosedLoop = bits, U32, 1576, [16:16] -idleTarget = scalar, S32, 1580, "", 1, 0 -targetRpmByClt = scalar, S32, 1584, "", 1, 0 -targetRpmAc = scalar, S32, 1588, "", 1, 0 -iacByRpmTaper = scalar, F32, 1592 -luaAdd = scalar, F32, 1596 -; total TS size = 1600 -targetWithIdlePosition0 = scalar, F32, 1600, "per", 1,0 -trim0 = scalar, F32, 1604, "", 1, 0 -luaAdjustment0 = scalar, F32, 1608, "per", 1,0 -m_wastegatePosition0 = scalar, F32, 1612, "per", 1,0 -etbFeedForward0 = scalar, F32, 1616 -etbIntegralError0 = scalar, F32, 1620, "", 1, 0 -etbCurrentTarget0 = scalar, F32, 1624, "%", 1, 0 -etbCurrentAdjustedTarget0 = scalar, F32, 1628, "%", 1, 0 -etbRevLimitActive0 = bits, U32, 1632, [0:0] -jamDetected0 = bits, U32, 1632, [1:1] -etbTpsErrorCounter0 = scalar, U16, 1636, "count", 1,0 -etbPpsErrorCounter0 = scalar, U16, 1638, "count", 1,0 -etbErrorCode0 = scalar, S08, 1640, "", 1, 0 -tcEtbDrop0 = scalar, S08, 1641, "%", 1, 0 -jamTimer0 = scalar, U16, 1642, "sec", 0.01, 0 -adjustedEtbTarget0 = scalar, S08, 1644, "%", 1, 0 -; total TS size = 1648 -targetWithIdlePosition1 = scalar, F32, 1648, "per", 1,0 -trim1 = scalar, F32, 1652, "", 1, 0 -luaAdjustment1 = scalar, F32, 1656, "per", 1,0 -m_wastegatePosition1 = scalar, F32, 1660, "per", 1,0 -etbFeedForward1 = scalar, F32, 1664 -etbIntegralError1 = scalar, F32, 1668, "", 1, 0 -etbCurrentTarget1 = scalar, F32, 1672, "%", 1, 0 -etbCurrentAdjustedTarget1 = scalar, F32, 1676, "%", 1, 0 -etbRevLimitActive1 = bits, U32, 1680, [0:0] -jamDetected1 = bits, U32, 1680, [1:1] -etbTpsErrorCounter1 = scalar, U16, 1684, "count", 1,0 -etbPpsErrorCounter1 = scalar, U16, 1686, "count", 1,0 -etbErrorCode1 = scalar, S08, 1688, "", 1, 0 -tcEtbDrop1 = scalar, S08, 1689, "%", 1, 0 -jamTimer1 = scalar, U16, 1690, "sec", 0.01, 0 -adjustedEtbTarget1 = scalar, S08, 1692, "%", 1, 0 -; total TS size = 1696 -faultCode0 = scalar, U08, 1696, "", 1, 0 -heaterDuty0 = scalar, U08, 1697, "%", 1, 0 -pumpDuty0 = scalar, U08, 1698, "%", 1, 0 -tempC0 = scalar, U16, 1700, "C", 1, 0 -nernstVoltage0 = scalar, U16, 1702, "V", 0.001, 0 -esr0 = scalar, U16, 1704, "ohm", 1, 0 -; total TS size = 1708 -faultCode1 = scalar, U08, 1708, "", 1, 0 -heaterDuty1 = scalar, U08, 1709, "%", 1, 0 -pumpDuty1 = scalar, U08, 1710, "%", 1, 0 -tempC1 = scalar, U16, 1712, "C", 1, 0 -nernstVoltage1 = scalar, U16, 1714, "V", 0.001, 0 -esr1 = scalar, U16, 1716, "ohm", 1, 0 -; total TS size = 1720 -dcOutput0 = scalar, F32, 1720, "per", 1,0 -isEnabled0_int = scalar, U08, 1724, "per", 1,0 -isEnabled0 = bits, U32, 1728, [0:0] -; total TS size = 1732 -value0 = scalar, U16, 1732, "value", 1,0 -value1 = scalar, U16, 1734, "value", 1,0 -errorRate = scalar, F32, 1736, "ratio", 1,0 -; total TS size = 1740 -vvtTarget = scalar, U16, 1740, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1742, "%", 0.5, 0 -; total TS size = 1744 -lambdaCurrentlyGood = bits, U32, 1744, [0:0] -lambdaMonitorCut = bits, U32, 1744, [1:1] -lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 -; total TS size = 1752 +retardThresholdRpm = scalar, S32, 1120, "", 1, 0 +launchActivatePinState = bits, U32, 1124, [0:0] +isPreLaunchCondition = bits, U32, 1124, [1:1] +isLaunchCondition = bits, U32, 1124, [2:2] +isSwitchActivated = bits, U32, 1124, [3:3] +isClutchActivated = bits, U32, 1124, [4:4] +isBrakePedalActivated = bits, U32, 1124, [5:5] +isValidInputPin = bits, U32, 1124, [6:6] +activateSwitchCondition = bits, U32, 1124, [7:7] +rpmLaunchCondition = bits, U32, 1124, [8:8] +rpmPreLaunchCondition = bits, U32, 1124, [9:9] +speedCondition = bits, U32, 1124, [10:10] +tpsCondition = bits, U32, 1124, [11:11] +; total TS size = 1128 +isTorqueReductionTriggerPinValid = bits, U32, 1128, [0:0] +torqueReductionTriggerPinState = bits, U32, 1128, [1:1] +isTimeConditionSatisfied = bits, U32, 1128, [2:2] +isRpmConditionSatisfied = bits, U32, 1128, [3:3] +isAppConditionSatisfied = bits, U32, 1128, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1128, [5:5] +; total TS size = 1132 +isAntilagCondition = bits, U32, 1132, [0:0] +ALSMinRPMCondition = bits, U32, 1132, [1:1] +ALSMaxRPMCondition = bits, U32, 1132, [2:2] +ALSMinCLTCondition = bits, U32, 1132, [3:3] +ALSMaxCLTCondition = bits, U32, 1132, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1132, [5:5] +isALSSwitchActivated = bits, U32, 1132, [6:6] +ALSActivatePinState = bits, U32, 1132, [7:7] +ALSSwitchCondition = bits, U32, 1132, [8:8] +ALSTimerCondition = bits, U32, 1132, [9:9] +fuelALSCorrection = scalar, F32, 1136, "", 1, 0 +timingALSCorrection = scalar, S16, 1140, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1142, "deg", 0.01, 0 +; total TS size = 1144 +isTpsInvalid = bits, U32, 1144, [0:0] +m_shouldResetPid = bits, U32, 1144, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1144, [2:2] +isNotClosedLoop = bits, U32, 1144, [3:3] +isZeroRpm = bits, U32, 1144, [4:4] +hasInitBoost = bits, U32, 1144, [5:5] +rpmTooLow = bits, U32, 1144, [6:6] +tpsTooLow = bits, U32, 1144, [7:7] +mapTooLow = bits, U32, 1144, [8:8] +isPlantValid = bits, U32, 1144, [9:9] +isBoostControlled = bits, U32, 1144, [10:10] +luaTargetAdd = scalar, S16, 1148, "v", 0.5,0 +boostOutput = scalar, S16, 1150, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1152, "v", 1,0 +openLoopPart = scalar, F32, 1156, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1160, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1164, "%", 0.5,0 +boostControlTarget = scalar, S16, 1166, "kPa", 0.03333333333333333,0 +; total TS size = 1168 +acButtonState = scalar, S08, 1168, "", 1, 0 +m_acEnabled = bits, U32, 1172, [0:0] +engineTooSlow = bits, U32, 1172, [1:1] +engineTooFast = bits, U32, 1172, [2:2] +noClt = bits, U32, 1172, [3:3] +engineTooHot = bits, U32, 1172, [4:4] +tpsTooHigh = bits, U32, 1172, [5:5] +isDisabledByLua = bits, U32, 1172, [6:6] +acCompressorState = bits, U32, 1172, [7:7] +acPressureTooLow = bits, U32, 1172, [8:8] +acPressureTooHigh = bits, U32, 1172, [9:9] +; total TS size = 1176 +cranking0 = bits, U32, 1176, [0:0] +notRunning0 = bits, U32, 1176, [1:1] +disabledWhileEngineStopped0 = bits, U32, 1176, [2:2] +brokenClt0 = bits, U32, 1176, [3:3] +enabledForAc0 = bits, U32, 1176, [4:4] +hot0 = bits, U32, 1176, [5:5] +cold0 = bits, U32, 1176, [6:6] +disabledBySpeed0 = bits, U32, 1176, [7:7] +radiatorFanStatus0 = scalar, U08, 1180, "", 1, 0 +; total TS size = 1184 +cranking1 = bits, U32, 1184, [0:0] +notRunning1 = bits, U32, 1184, [1:1] +disabledWhileEngineStopped1 = bits, U32, 1184, [2:2] +brokenClt1 = bits, U32, 1184, [3:3] +enabledForAc1 = bits, U32, 1184, [4:4] +hot1 = bits, U32, 1184, [5:5] +cold1 = bits, U32, 1184, [6:6] +disabledBySpeed1 = bits, U32, 1184, [7:7] +radiatorFanStatus1 = scalar, U08, 1188, "", 1, 0 +; total TS size = 1192 +isPrime = bits, U32, 1192, [0:0] +engineTurnedRecently = bits, U32, 1192, [1:1] +isFuelPumpOn = bits, U32, 1192, [2:2] +ignitionOn = bits, U32, 1192, [3:3] +; total TS size = 1196 +isBenchTest = bits, U32, 1196, [0:0] +hasIgnitionVoltage = bits, U32, 1196, [1:1] +mainRelayState = bits, U32, 1196, [2:2] +delayedShutoffRequested = bits, U32, 1196, [3:3] +; total TS size = 1200 +lua_fuelAdd = scalar, F32, 1200, "g", 1, 0 +lua_fuelMult = scalar, F32, 1204, "", 1, 0 +lua_clutchUpState = bits, U32, 1208, [0:0] +lua_brakePedalState = bits, U32, 1208, [1:1] +lua_acRequestState = bits, U32, 1208, [2:2] +lua_luaDisableEtb = bits, U32, 1208, [3:3] +lua_luaIgnCut = bits, U32, 1208, [4:4] +lua_luaFuelCut = bits, U32, 1208, [5:5] +lua_clutchDownState = bits, U32, 1208, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1208, [7:7] +sd_tCharge = scalar, S16, 1212, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1216, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1220, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1224, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1228, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1232, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1236, "", 1, 0 +hellenBoardId = scalar, S16, 1240, "id", 1, 0 +clutchUpState = scalar, S08, 1242, "", 1, 0 +clutchDownState = scalar, S08, 1243, "", 1, 0 +brakePedalState = scalar, S08, 1244, "", 1, 0 +startStopState = scalar, S08, 1245, "", 1, 0 +smartChipState = scalar, S08, 1246, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1247, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1248, "", 1, 0 +startStopPhysicalState = bits, U32, 1252, [0:0] +acrActive = bits, U32, 1252, [1:1] +acrEngineMovedRecently = bits, U32, 1252, [2:2] +heaterControlEnabled = bits, U32, 1252, [3:3] +luaDigitalState0 = bits, U32, 1252, [4:4] +luaDigitalState1 = bits, U32, 1252, [5:5] +luaDigitalState2 = bits, U32, 1252, [6:6] +luaDigitalState3 = bits, U32, 1252, [7:7] +startStopStateToggleCounter = scalar, U32, 1256, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1260, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1264, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1268, "", 1, 0 +desiredRpmLimit = scalar, S16, 1272, "rpm", 1, 0 +fuelInjectionCounter = scalar, U32, 1276, "", 1, 0 +globalSparkCounter = scalar, U32, 1280, "", 1, 0 +fuelingLoad = scalar, F32, 1284, "", 1, 0 +ignitionLoad = scalar, F32, 1288, "", 1, 0 +veTableYAxis = scalar, U16, 1292, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1294, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1295, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1296, "", 1, 0 +; total TS size = 1300 +tpsFrom = scalar, F32, 1300 +tpsTo = scalar, F32, 1304 +deltaTps = scalar, F32, 1308 +extraFuel = scalar, F32, 1312, "", 1, 0 +valueFromTable = scalar, F32, 1316, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1320, [0:0] +isBelowDecelThreshold = bits, U32, 1320, [1:1] +isTimeToResetAccumulator = bits, U32, 1320, [2:2] +isFractionalEnrichment = bits, U32, 1320, [3:3] +belowEpsilon = bits, U32, 1320, [4:4] +tooShort = bits, U32, 1320, [5:5] +fractionalInjFuel = scalar, F32, 1324, "", 1, 0 +accumulatedValue = scalar, F32, 1328, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1332, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1336, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1340, "", 1, 0 +cycleCnt = scalar, S32, 1344, "", 1, 0 +; total TS size = 1348 +hwEventCounters1 = scalar, U32, 1348, "", 1, 0 +hwEventCounters2 = scalar, U32, 1352, "", 1, 0 +hwEventCounters3 = scalar, U32, 1356, "", 1, 0 +hwEventCounters4 = scalar, U32, 1360, "", 1, 0 +hwEventCounters5 = scalar, U32, 1364, "", 1, 0 +hwEventCounters6 = scalar, U32, 1368, "", 1, 0 +vvtCamCounter = scalar, U32, 1372, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1376, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1380, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1384, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1385, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1388, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1392, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1396, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1400, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1404, [0:0] +triggerElapsedUs = scalar, U32, 1408, "", 1, 0 +; total TS size = 1412 +crankSynchronizationCounter0 = scalar, U32, 1412, "", 1, 0 +vvtSyncGapRatio0 = scalar, F32, 1416, "", 1, 0 +vvtToothDurations00 = scalar, U32, 1420, "us", 1, 0 +vvtCurrentPosition0 = scalar, F32, 1424, "sync: Primary Cam Position", 1, 0 +vvtToothPosition10 = scalar, F32, 1428, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition20 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition30 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition40 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio0 = scalar, F32, 1444, "", 1, 0 +triggerStateIndex0 = scalar, U08, 1448, "", 1, 0 +vvtStateIndex0 = scalar, U08, 1449, "", 1, 0 +; total TS size = 1452 +crankSynchronizationCounter1 = scalar, U32, 1452, "", 1, 0 +vvtSyncGapRatio1 = scalar, F32, 1456, "", 1, 0 +vvtToothDurations01 = scalar, U32, 1460, "us", 1, 0 +vvtCurrentPosition1 = scalar, F32, 1464, "sync: Primary Cam Position", 1, 0 +vvtToothPosition11 = scalar, F32, 1468, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition21 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition31 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition41 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio1 = scalar, F32, 1484, "", 1, 0 +triggerStateIndex1 = scalar, U08, 1488, "", 1, 0 +vvtStateIndex1 = scalar, U08, 1489, "", 1, 0 +; total TS size = 1492 +crankSynchronizationCounter2 = scalar, U32, 1492, "", 1, 0 +vvtSyncGapRatio2 = scalar, F32, 1496, "", 1, 0 +vvtToothDurations02 = scalar, U32, 1500, "us", 1, 0 +vvtCurrentPosition2 = scalar, F32, 1504, "sync: Primary Cam Position", 1, 0 +vvtToothPosition12 = scalar, F32, 1508, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition22 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition32 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition42 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio2 = scalar, F32, 1524, "", 1, 0 +triggerStateIndex2 = scalar, U08, 1528, "", 1, 0 +vvtStateIndex2 = scalar, U08, 1529, "", 1, 0 +; total TS size = 1532 +crankSynchronizationCounter3 = scalar, U32, 1532, "", 1, 0 +vvtSyncGapRatio3 = scalar, F32, 1536, "", 1, 0 +vvtToothDurations03 = scalar, U32, 1540, "us", 1, 0 +vvtCurrentPosition3 = scalar, F32, 1544, "sync: Primary Cam Position", 1, 0 +vvtToothPosition13 = scalar, F32, 1548, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition23 = scalar, F32, 1552, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition33 = scalar, F32, 1556, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition43 = scalar, F32, 1560, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio3 = scalar, F32, 1564, "", 1, 0 +triggerStateIndex3 = scalar, U08, 1568, "", 1, 0 +vvtStateIndex3 = scalar, U08, 1569, "", 1, 0 +; total TS size = 1572 +crankSynchronizationCounter4 = scalar, U32, 1572, "", 1, 0 +vvtSyncGapRatio4 = scalar, F32, 1576, "", 1, 0 +vvtToothDurations04 = scalar, U32, 1580, "us", 1, 0 +vvtCurrentPosition4 = scalar, F32, 1584, "sync: Primary Cam Position", 1, 0 +vvtToothPosition14 = scalar, F32, 1588, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition24 = scalar, F32, 1592, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition34 = scalar, F32, 1596, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition44 = scalar, F32, 1600, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio4 = scalar, F32, 1604, "", 1, 0 +triggerStateIndex4 = scalar, U08, 1608, "", 1, 0 +vvtStateIndex4 = scalar, U08, 1609, "", 1, 0 +; total TS size = 1612 +camResyncCounter = scalar, U08, 1612, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1616, [0:0] +; total TS size = 1620 +wallFuelCorrection = scalar, F32, 1620, "", 1, 0 +wallFuel = scalar, F32, 1624, "", 1, 0 +; total TS size = 1628 +idleState = bits, S32, 1628, [0:2], "not important" +currentIdlePosition = scalar, F32, 1632 +baseIdlePosition = scalar, F32, 1636 +idleClosedLoop = scalar, F32, 1640 +iacByTpsTaper = scalar, F32, 1644 +throttlePedalUpState = scalar, S32, 1648, "", 1, 0 +mightResetPid = bits, U32, 1652, [0:0] +shouldResetPid = bits, U32, 1652, [1:1] +wasResetPid = bits, U32, 1652, [2:2] +mustResetPid = bits, U32, 1652, [3:3] +isCranking = bits, U32, 1652, [4:4] +isIacTableForCoasting = bits, U32, 1652, [5:5] +notIdling = bits, U32, 1652, [6:6] +needReset = bits, U32, 1652, [7:7] +isInDeadZone = bits, U32, 1652, [8:8] +isBlipping = bits, U32, 1652, [9:9] +useClosedLoop = bits, U32, 1652, [10:10] +badTps = bits, U32, 1652, [11:11] +looksLikeRunning = bits, U32, 1652, [12:12] +looksLikeCoasting = bits, U32, 1652, [13:13] +looksLikeCrankToIdle = bits, U32, 1652, [14:14] +isIdleCoasting = bits, U32, 1652, [15:15] +isIdleClosedLoop = bits, U32, 1652, [16:16] +idleTarget = scalar, S32, 1656, "", 1, 0 +targetRpmByClt = scalar, S32, 1660, "", 1, 0 +targetRpmAc = scalar, S32, 1664, "", 1, 0 +iacByRpmTaper = scalar, F32, 1668 +luaAdd = scalar, F32, 1672 +; total TS size = 1676 +targetWithIdlePosition0 = scalar, F32, 1676, "per", 1,0 +trim0 = scalar, F32, 1680, "", 1, 0 +luaAdjustment0 = scalar, F32, 1684, "per", 1,0 +m_wastegatePosition0 = scalar, F32, 1688, "per", 1,0 +etbFeedForward0 = scalar, F32, 1692 +etbIntegralError0 = scalar, F32, 1696, "", 1, 0 +etbCurrentTarget0 = scalar, F32, 1700, "%", 1, 0 +etbCurrentAdjustedTarget0 = scalar, F32, 1704, "%", 1, 0 +etbRevLimitActive0 = bits, U32, 1708, [0:0] +jamDetected0 = bits, U32, 1708, [1:1] +etbTpsErrorCounter0 = scalar, U16, 1712, "count", 1,0 +etbPpsErrorCounter0 = scalar, U16, 1714, "count", 1,0 +etbErrorCode0 = scalar, S08, 1716, "", 1, 0 +tcEtbDrop0 = scalar, S08, 1717, "%", 1, 0 +jamTimer0 = scalar, U16, 1718, "sec", 0.01, 0 +adjustedEtbTarget0 = scalar, S08, 1720, "%", 1, 0 +; total TS size = 1724 +targetWithIdlePosition1 = scalar, F32, 1724, "per", 1,0 +trim1 = scalar, F32, 1728, "", 1, 0 +luaAdjustment1 = scalar, F32, 1732, "per", 1,0 +m_wastegatePosition1 = scalar, F32, 1736, "per", 1,0 +etbFeedForward1 = scalar, F32, 1740 +etbIntegralError1 = scalar, F32, 1744, "", 1, 0 +etbCurrentTarget1 = scalar, F32, 1748, "%", 1, 0 +etbCurrentAdjustedTarget1 = scalar, F32, 1752, "%", 1, 0 +etbRevLimitActive1 = bits, U32, 1756, [0:0] +jamDetected1 = bits, U32, 1756, [1:1] +etbTpsErrorCounter1 = scalar, U16, 1760, "count", 1,0 +etbPpsErrorCounter1 = scalar, U16, 1762, "count", 1,0 +etbErrorCode1 = scalar, S08, 1764, "", 1, 0 +tcEtbDrop1 = scalar, S08, 1765, "%", 1, 0 +jamTimer1 = scalar, U16, 1766, "sec", 0.01, 0 +adjustedEtbTarget1 = scalar, S08, 1768, "%", 1, 0 +; total TS size = 1772 +faultCode0 = scalar, U08, 1772, "", 1, 0 +heaterDuty0 = scalar, U08, 1773, "%", 1, 0 +pumpDuty0 = scalar, U08, 1774, "%", 1, 0 +tempC0 = scalar, U16, 1776, "C", 1, 0 +nernstVoltage0 = scalar, U16, 1778, "V", 0.001, 0 +esr0 = scalar, U16, 1780, "ohm", 1, 0 +; total TS size = 1784 +faultCode1 = scalar, U08, 1784, "", 1, 0 +heaterDuty1 = scalar, U08, 1785, "%", 1, 0 +pumpDuty1 = scalar, U08, 1786, "%", 1, 0 +tempC1 = scalar, U16, 1788, "C", 1, 0 +nernstVoltage1 = scalar, U16, 1790, "V", 0.001, 0 +esr1 = scalar, U16, 1792, "ohm", 1, 0 +; total TS size = 1796 +dcOutput0 = scalar, F32, 1796, "per", 1,0 +isEnabled0_int = scalar, U08, 1800, "per", 1,0 +isEnabled0 = bits, U32, 1804, [0:0] +; total TS size = 1808 +value0 = scalar, U16, 1808, "value", 1,0 +value1 = scalar, U16, 1810, "value", 1,0 +errorRate = scalar, F32, 1812, "ratio", 1,0 +; total TS size = 1816 +vvtTarget = scalar, U16, 1816, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1818, "%", 0.5, 0 +; total TS size = 1820 +lambdaCurrentlyGood = bits, U32, 1820, [0:0] +lambdaMonitorCut = bits, U32, 1820, [1:1] +lambdaTimeSinceGood = scalar, U16, 1824, "sec", 0.01, 0 +; total TS size = 1828 time = { timeNow } @@ -3616,6 +3648,7 @@ lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs8 requiresPowerCycle = cylinderBore + requiresPowerCycle = knockFrequency readOnly = warning_message readOnly = device_uid1 @@ -5033,6 +5066,26 @@ gaugeCategory = Knock knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knockSpectrumChannelCylGauge = m_knockSpectrumChannelCyl, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStartGauge = m_knockFrequencyStart, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStepGauge = m_knockFrequencyStep, "Knock Frequency Step", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFuelTrimMultiplier = m_knockFuelTrimMultiplier, "Knock Fuel Trim", "mult", 0, 0, 0, 0, 0, 30, 1, 1 + knockSpectrum1 = m_knockSpectrum1, "Knock Spectrum1", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum2 = m_knockSpectrum2, "knockSpectrum2", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum3 = m_knockSpectrum3, "knockSpectrum3", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum4 = m_knockSpectrum4, "knockSpectrum4", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum5 = m_knockSpectrum5, "knockSpectrum5", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum6 = m_knockSpectrum6, "knockSpectrum6", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum7 = m_knockSpectrum7, "knockSpectrum7", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum8 = m_knockSpectrum8, "knockSpectrum8", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum9 = m_knockSpectrum9, "knockSpectrum9", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum10 = m_knockSpectrum10, "knockSpectrum10", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum11 = m_knockSpectrum11, "knockSpectrum11", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum12 = m_knockSpectrum12, "knockSpectrum12", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum13 = m_knockSpectrum13, "knockSpectrum13", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum14 = m_knockSpectrum14, "knockSpectrum14", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum15 = m_knockSpectrum15, "knockSpectrum15", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum16 = m_knockSpectrum16, "knockSpectrum16", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -5631,6 +5684,26 @@ entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" entry = m_knockCount, "Knock: Count", int, "%d" entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_knockFrequency, "knock: frequency", int, "%d" +entry = m_knockSpectrum1, "Knock: SpectrumData 1", int, "%d" +entry = m_knockSpectrum2, "Knock: SpectrumData 2", int, "%d" +entry = m_knockSpectrum3, "Knock: SpectrumData 3", int, "%d" +entry = m_knockSpectrum4, "Knock: SpectrumData 4", int, "%d" +entry = m_knockSpectrum5, "Knock: SpectrumData 5", int, "%d" +entry = m_knockSpectrum6, "Knock: SpectrumData 6", int, "%d" +entry = m_knockSpectrum7, "Knock: SpectrumData 7", int, "%d" +entry = m_knockSpectrum8, "Knock: SpectrumData 8", int, "%d" +entry = m_knockSpectrum9, "Knock: SpectrumData 9", int, "%d" +entry = m_knockSpectrum10, "Knock: SpectrumData 10", int, "%d" +entry = m_knockSpectrum11, "Knock: SpectrumData 11", int, "%d" +entry = m_knockSpectrum12, "Knock: SpectrumData 12", int, "%d" +entry = m_knockSpectrum13, "Knock: SpectrumData 13", int, "%d" +entry = m_knockSpectrum14, "Knock: SpectrumData 14", int, "%d" +entry = m_knockSpectrum15, "Knock: SpectrumData 15", int, "%d" +entry = m_knockSpectrum16, "Knock: SpectrumData 16", int, "%d" +entry = m_knockSpectrumChannelCyl, "Knock: ChannelAndCylNumber", int, "%d" +entry = m_knockFrequencyStart, "Knock: Start Freq", int, "%d" +entry = m_knockFrequencyStep, "Knock: Step Freq", float, "%.3f" +entry = m_knockFuelTrimMultiplier, "Knock: Fuel trim when knock", float, "%.3f" entry = tcuCurrentGear, "TCU: Current Gear", int, "%d" entry = tcRatio, "TCU: Torque Converter Ratio", float, "%.3f" entry = lastShiftTime, "lastShiftTime", float, "%.3f" @@ -6528,6 +6601,31 @@ dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard graphLine = m_knockFrequency + graphLine = m_knockSpectrum1 + graphLine = m_knockSpectrum2 + liveGraph = knock_controller_6_Graph, "Graph", South + graphLine = m_knockSpectrum3 + graphLine = m_knockSpectrum4 + graphLine = m_knockSpectrum5 + graphLine = m_knockSpectrum6 + liveGraph = knock_controller_7_Graph, "Graph", South + graphLine = m_knockSpectrum7 + graphLine = m_knockSpectrum8 + graphLine = m_knockSpectrum9 + graphLine = m_knockSpectrum10 + liveGraph = knock_controller_8_Graph, "Graph", South + graphLine = m_knockSpectrum11 + graphLine = m_knockSpectrum12 + graphLine = m_knockSpectrum13 + graphLine = m_knockSpectrum14 + liveGraph = knock_controller_9_Graph, "Graph", South + graphLine = m_knockSpectrum15 + graphLine = m_knockSpectrum16 + graphLine = m_knockSpectrumChannelCyl + graphLine = m_knockFrequencyStart + liveGraph = knock_controller_10_Graph, "Graph", South + graphLine = m_knockFrequencyStep + graphLine = m_knockFuelTrimMultiplier indicatorPanel = tcu_controllerIndicatorPanel, 2 indicator = {isShifting}, "isShifting No", "isShifting Yes" @@ -8586,9 +8684,13 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockCfg, "Sense" field = "Enable", enableSoftwareKnock field = "Cylinder Bore", cylinderBore, {enableSoftwareKnock} + field = "Estimated Knock Frequency",knockFrequency, {enableSoftwareKnock} field = "Detection mode", knockDetectionUseDoubleFrequency field = "Detection Window Start",knockDetectionWindowStart, {enableSoftwareKnock} field = "Sampling Duration", knockSamplingDuration, {enableSoftwareKnock} + field = "Enable Knock Spectrogram", enableKnockSpectrogram, {enableSoftwareKnock} + field = "Enable Knock Spectrogram Filter", enableKnockSpectrogramFilter, {enableKnockSpectrogram} + field = "Knock Spectrum Sensitivity", knockSpectrumSensitivity, {enableKnockSpectrogram} field = "" field = "Select the nearest sensor for each cylinder" @@ -8608,6 +8710,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockResponseCfg, "Response" field = knockRetardAggression, knockRetardAggression field = knockRetardReapplyRate, knockRetardReapplyRate + field = knockFuelTrimAggression, knockFuelTrimAggression + field = knockFuelTrimReapplyRate, knockFuelTrimReapplyRate + field = knockFuelTrim, knockFuelTrim + field = knockSuppressMinTps, knockSuppressMinTps dialog = softwareKnockLeft, "" panel = softwareKnockCfg diff --git a/firmware/tunerstudio/generated/rusefi_hellenNA8_96.ini b/firmware/tunerstudio/generated/rusefi_hellenNA8_96.ini index 69ccd72b42..ef3a3c9b70 100644 --- a/firmware/tunerstudio/generated/rusefi_hellenNA8_96.ini +++ b/firmware/tunerstudio/generated/rusefi_hellenNA8_96.ini @@ -38,12 +38,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.10.21.hellenNA8_96.3986586423" + signature = "rusEFI master.2024.10.21.hellenNA8_96.834019784" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.10.21.hellenNA8_96.3986586423" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.10.21.hellenNA8_96.834019784" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -774,6 +774,7 @@ devBit7 = bits, U32, 1492, [27:27], "false", "true" unusedSkipWasHere = bits, U32, 1492, [28:28], "false", "true" invertExhaustCamVVTSignal = bits, U32, 1492, [29:29], "Rising", "Falling" enableKnockSpectrogram = bits, U32, 1492, [30:30], "false", "true" +enableKnockSpectrogramFilter = bits, U32, 1492, [31:31], "false", "true" afterCrankingIACtaperDuration = scalar, S16, 1496, "cycles", 1, 0, 0, 5000, 0 iacByTpsTaper = scalar, S16, 1498, "percent", 1, 0, 0, 500, 0 unusedAuxSeria = bits, U16, 1500, [0:8], $gpio_list @@ -1394,7 +1395,13 @@ auxLinear4_v1 = scalar, F32, 3880, "volts", 1, 0, 0, 10, 2 auxLinear4_value1 = scalar, F32, 3884, "", 1, 0, -100000, 1000000, 2 auxLinear4_v2 = scalar, F32, 3888, "volts", 1, 0, 0, 10, 2 auxLinear4_value2 = scalar, F32, 3892, "", 1, 0, -100000, 1000000, 2 -unusedOftenChangesDuringFirmwareUpdate = array, U08, 3896, [128], "units", 1, 0, 0, 1, 0 +knockSuppressMinTps = scalar, U08, 3896, "%", 1, 0, 0, 100, 1 +knockFuelTrimAggression = scalar, U08, 3897, "%", 0.1, 0, 0, 20, 1 +knockFuelTrimReapplyRate = scalar, U08, 3898, "deg/s", 0.1, 0, 0, 10, 1 +knockFuelTrim = scalar, U08, 3899, "%", 1, 0, 0, 30, 1 +knockSpectrumSensitivity = scalar, F32, 3900, "sense", 1, 0, 0, 1, 2 +knockFrequency = scalar, F32, 3904, "Hz", 1, 0, 0, 20000, 2 +unusedOftenChangesDuringFirmwareUpdate = array, U08, 3908, [116], "units", 1, 0, 0, 1, 0 postCrankingFactor = array, F32, 4024, [6x6], "mult", 1, 0, 1, 3, 2 postCrankingDurationBins = array, F32, 4168, [6], "count", 1, 0, 0, 1000, 0 postCrankingCLTBins = array, S16, 4192, [6], "C", 1, 0, -100, 250, 0 @@ -2448,6 +2455,11 @@ minimumOilPressureValues = array, U08, 22960, [8], "kPa", 10.0, 0, 0, 1000, 0 minAcPressure = "value of A/C pressure in kPa before that compressor is disengaged" maxAcPressure = "value of A/C pressure in kPa after that compressor is disengaged" minimumOilPressureTimeout = "Delay before cutting fuel due to low oil pressure. Use this to ignore short pressure blips and sensor noise." + knockSuppressMinTps = "Below TPS value all knock suppression will be disabled." + knockFuelTrimAggression = "Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump)," + knockFuelTrimReapplyRate = "After a knock event, reapply fuel at this rate." + knockFuelTrim = "Fuel trim when knock, max 30%" + knockFrequency = "Estimated knock frequency, ignore cylinderBore if this one > 0" etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, open loop component of PID closed loop control" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2560,7 +2572,7 @@ minimumOilPressureValues = array, U08, 22960, [8], "kPa", 10.0, 0, 0, 1000, 0 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1752 + ochBlockSize = 1828 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3101,370 +3113,390 @@ m_knockThreshold = scalar, F32, 960, "", 1, 0 m_knockCount = scalar, U32, 964, "", 1, 0 m_maximumRetard = scalar, F32, 968, "", 1, 0 m_knockFrequency = scalar, U32, 972, "Hz", 1, 0 -; total TS size = 976 -tcuCurrentGear = scalar, S08, 976, "gear", 1, 0 -tcRatio = scalar, U16, 978, "value", 0.01, 0 -lastShiftTime = scalar, F32, 980, "", 1, 0 -tcu_currentRange = scalar, U08, 984, "", 1, 0 -pressureControlDuty = scalar, S08, 985, "%", 1,0 -torqueConverterDuty = scalar, S08, 986, "%", 1,0 -isShifting = bits, U32, 988, [0:0] -; total TS size = 992 -throttleUseWotModel = bits, U32, 992, [0:0] -throttleModelCrossoverAngle = scalar, S16, 996, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1000, "g/s", 1, 0 -; total TS size = 1004 -m_requested_pump = scalar, F32, 1004, "", 1, 0 -fuel_requested_percent = scalar, F32, 1008, "", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1012, "", 1, 0 -noValve = bits, U32, 1016, [0:0] -angleAboveMin = bits, U32, 1016, [1:1] -isHpfpInactive = bits, U32, 1016, [2:2] -m_pressureTarget_kPa = scalar, F32, 1020, "", 1, 0 -nextLobe = scalar, F32, 1024, "", 1, 0 -di_nextStart = scalar, F32, 1028, "v", 1, 0 -; total TS size = 1032 -m_deadtime = scalar, F32, 1032, "ms", 1, 0 -pressureDelta = scalar, F32, 1036, "kPa", 1, 0 -pressureRatio = scalar, F32, 1040, "", 1, 0 -; total TS size = 1044 -retardThresholdRpm = scalar, S32, 1044, "", 1, 0 -launchActivatePinState = bits, U32, 1048, [0:0] -isPreLaunchCondition = bits, U32, 1048, [1:1] -isLaunchCondition = bits, U32, 1048, [2:2] -isSwitchActivated = bits, U32, 1048, [3:3] -isClutchActivated = bits, U32, 1048, [4:4] -isBrakePedalActivated = bits, U32, 1048, [5:5] -isValidInputPin = bits, U32, 1048, [6:6] -activateSwitchCondition = bits, U32, 1048, [7:7] -rpmLaunchCondition = bits, U32, 1048, [8:8] -rpmPreLaunchCondition = bits, U32, 1048, [9:9] -speedCondition = bits, U32, 1048, [10:10] -tpsCondition = bits, U32, 1048, [11:11] +m_knockSpectrum1 = scalar, U32, 976, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 980, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 984, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 988, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1040, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1042, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1044, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1048, "multiplier", 1, 0 ; total TS size = 1052 -isTorqueReductionTriggerPinValid = bits, U32, 1052, [0:0] -torqueReductionTriggerPinState = bits, U32, 1052, [1:1] -isTimeConditionSatisfied = bits, U32, 1052, [2:2] -isRpmConditionSatisfied = bits, U32, 1052, [3:3] -isAppConditionSatisfied = bits, U32, 1052, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1052, [5:5] -; total TS size = 1056 -isAntilagCondition = bits, U32, 1056, [0:0] -ALSMinRPMCondition = bits, U32, 1056, [1:1] -ALSMaxRPMCondition = bits, U32, 1056, [2:2] -ALSMinCLTCondition = bits, U32, 1056, [3:3] -ALSMaxCLTCondition = bits, U32, 1056, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1056, [5:5] -isALSSwitchActivated = bits, U32, 1056, [6:6] -ALSActivatePinState = bits, U32, 1056, [7:7] -ALSSwitchCondition = bits, U32, 1056, [8:8] -ALSTimerCondition = bits, U32, 1056, [9:9] -fuelALSCorrection = scalar, F32, 1060, "", 1, 0 -timingALSCorrection = scalar, S16, 1064, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1066, "deg", 0.01, 0 +tcuCurrentGear = scalar, S08, 1052, "gear", 1, 0 +tcRatio = scalar, U16, 1054, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1056, "", 1, 0 +tcu_currentRange = scalar, U08, 1060, "", 1, 0 +pressureControlDuty = scalar, S08, 1061, "%", 1,0 +torqueConverterDuty = scalar, S08, 1062, "%", 1,0 +isShifting = bits, U32, 1064, [0:0] ; total TS size = 1068 -isTpsInvalid = bits, U32, 1068, [0:0] -m_shouldResetPid = bits, U32, 1068, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1068, [2:2] -isNotClosedLoop = bits, U32, 1068, [3:3] -isZeroRpm = bits, U32, 1068, [4:4] -hasInitBoost = bits, U32, 1068, [5:5] -rpmTooLow = bits, U32, 1068, [6:6] -tpsTooLow = bits, U32, 1068, [7:7] -mapTooLow = bits, U32, 1068, [8:8] -isPlantValid = bits, U32, 1068, [9:9] -isBoostControlled = bits, U32, 1068, [10:10] -luaTargetAdd = scalar, S16, 1072, "v", 0.5,0 -boostOutput = scalar, S16, 1074, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1076, "v", 1,0 -openLoopPart = scalar, F32, 1080, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1084, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1088, "%", 0.5,0 -boostControlTarget = scalar, S16, 1090, "kPa", 0.03333333333333333,0 -; total TS size = 1092 -acButtonState = scalar, S08, 1092, "", 1, 0 -m_acEnabled = bits, U32, 1096, [0:0] -engineTooSlow = bits, U32, 1096, [1:1] -engineTooFast = bits, U32, 1096, [2:2] -noClt = bits, U32, 1096, [3:3] -engineTooHot = bits, U32, 1096, [4:4] -tpsTooHigh = bits, U32, 1096, [5:5] -isDisabledByLua = bits, U32, 1096, [6:6] -acCompressorState = bits, U32, 1096, [7:7] -acPressureTooLow = bits, U32, 1096, [8:8] -acPressureTooHigh = bits, U32, 1096, [9:9] -; total TS size = 1100 -cranking0 = bits, U32, 1100, [0:0] -notRunning0 = bits, U32, 1100, [1:1] -disabledWhileEngineStopped0 = bits, U32, 1100, [2:2] -brokenClt0 = bits, U32, 1100, [3:3] -enabledForAc0 = bits, U32, 1100, [4:4] -hot0 = bits, U32, 1100, [5:5] -cold0 = bits, U32, 1100, [6:6] -disabledBySpeed0 = bits, U32, 1100, [7:7] -radiatorFanStatus0 = scalar, U08, 1104, "", 1, 0 +throttleUseWotModel = bits, U32, 1068, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1072, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1076, "g/s", 1, 0 +; total TS size = 1080 +m_requested_pump = scalar, F32, 1080, "", 1, 0 +fuel_requested_percent = scalar, F32, 1084, "", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1088, "", 1, 0 +noValve = bits, U32, 1092, [0:0] +angleAboveMin = bits, U32, 1092, [1:1] +isHpfpInactive = bits, U32, 1092, [2:2] +m_pressureTarget_kPa = scalar, F32, 1096, "", 1, 0 +nextLobe = scalar, F32, 1100, "", 1, 0 +di_nextStart = scalar, F32, 1104, "v", 1, 0 ; total TS size = 1108 -cranking1 = bits, U32, 1108, [0:0] -notRunning1 = bits, U32, 1108, [1:1] -disabledWhileEngineStopped1 = bits, U32, 1108, [2:2] -brokenClt1 = bits, U32, 1108, [3:3] -enabledForAc1 = bits, U32, 1108, [4:4] -hot1 = bits, U32, 1108, [5:5] -cold1 = bits, U32, 1108, [6:6] -disabledBySpeed1 = bits, U32, 1108, [7:7] -radiatorFanStatus1 = scalar, U08, 1112, "", 1, 0 -; total TS size = 1116 -isPrime = bits, U32, 1116, [0:0] -engineTurnedRecently = bits, U32, 1116, [1:1] -isFuelPumpOn = bits, U32, 1116, [2:2] -ignitionOn = bits, U32, 1116, [3:3] +m_deadtime = scalar, F32, 1108, "ms", 1, 0 +pressureDelta = scalar, F32, 1112, "kPa", 1, 0 +pressureRatio = scalar, F32, 1116, "", 1, 0 ; total TS size = 1120 -isBenchTest = bits, U32, 1120, [0:0] -hasIgnitionVoltage = bits, U32, 1120, [1:1] -mainRelayState = bits, U32, 1120, [2:2] -delayedShutoffRequested = bits, U32, 1120, [3:3] -; total TS size = 1124 -lua_fuelAdd = scalar, F32, 1124, "g", 1, 0 -lua_fuelMult = scalar, F32, 1128, "", 1, 0 -lua_clutchUpState = bits, U32, 1132, [0:0] -lua_brakePedalState = bits, U32, 1132, [1:1] -lua_acRequestState = bits, U32, 1132, [2:2] -lua_luaDisableEtb = bits, U32, 1132, [3:3] -lua_luaIgnCut = bits, U32, 1132, [4:4] -lua_luaFuelCut = bits, U32, 1132, [5:5] -lua_clutchDownState = bits, U32, 1132, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1132, [7:7] -sd_tCharge = scalar, S16, 1136, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1140, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1144, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1148, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1152, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1156, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1160, "", 1, 0 -hellenBoardId = scalar, S16, 1164, "id", 1, 0 -clutchUpState = scalar, S08, 1166, "", 1, 0 -clutchDownState = scalar, S08, 1167, "", 1, 0 -brakePedalState = scalar, S08, 1168, "", 1, 0 -startStopState = scalar, S08, 1169, "", 1, 0 -smartChipState = scalar, S08, 1170, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1171, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1172, "", 1, 0 -startStopPhysicalState = bits, U32, 1176, [0:0] -acrActive = bits, U32, 1176, [1:1] -acrEngineMovedRecently = bits, U32, 1176, [2:2] -heaterControlEnabled = bits, U32, 1176, [3:3] -luaDigitalState0 = bits, U32, 1176, [4:4] -luaDigitalState1 = bits, U32, 1176, [5:5] -luaDigitalState2 = bits, U32, 1176, [6:6] -luaDigitalState3 = bits, U32, 1176, [7:7] -startStopStateToggleCounter = scalar, U32, 1180, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1184, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1188, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1192, "", 1, 0 -desiredRpmLimit = scalar, S16, 1196, "rpm", 1, 0 -fuelInjectionCounter = scalar, U32, 1200, "", 1, 0 -globalSparkCounter = scalar, U32, 1204, "", 1, 0 -fuelingLoad = scalar, F32, 1208, "", 1, 0 -ignitionLoad = scalar, F32, 1212, "", 1, 0 -veTableYAxis = scalar, U16, 1216, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1218, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1219, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1220, "", 1, 0 -; total TS size = 1224 -tpsFrom = scalar, F32, 1224 -tpsTo = scalar, F32, 1228 -deltaTps = scalar, F32, 1232 -extraFuel = scalar, F32, 1236, "", 1, 0 -valueFromTable = scalar, F32, 1240, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1244, [0:0] -isBelowDecelThreshold = bits, U32, 1244, [1:1] -isTimeToResetAccumulator = bits, U32, 1244, [2:2] -isFractionalEnrichment = bits, U32, 1244, [3:3] -belowEpsilon = bits, U32, 1244, [4:4] -tooShort = bits, U32, 1244, [5:5] -fractionalInjFuel = scalar, F32, 1248, "", 1, 0 -accumulatedValue = scalar, F32, 1252, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1256, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1260, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1264, "", 1, 0 -cycleCnt = scalar, S32, 1268, "", 1, 0 -; total TS size = 1272 -hwEventCounters1 = scalar, U32, 1272, "", 1, 0 -hwEventCounters2 = scalar, U32, 1276, "", 1, 0 -hwEventCounters3 = scalar, U32, 1280, "", 1, 0 -hwEventCounters4 = scalar, U32, 1284, "", 1, 0 -hwEventCounters5 = scalar, U32, 1288, "", 1, 0 -hwEventCounters6 = scalar, U32, 1292, "", 1, 0 -vvtCamCounter = scalar, U32, 1296, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1300, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1304, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1308, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1309, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1312, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1316, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1320, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1324, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1328, [0:0] -triggerElapsedUs = scalar, U32, 1332, "", 1, 0 -; total TS size = 1336 -crankSynchronizationCounter0 = scalar, U32, 1336, "", 1, 0 -vvtSyncGapRatio0 = scalar, F32, 1340, "", 1, 0 -vvtToothDurations00 = scalar, U32, 1344, "us", 1, 0 -vvtCurrentPosition0 = scalar, F32, 1348, "sync: Primary Cam Position", 1, 0 -vvtToothPosition10 = scalar, F32, 1352, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition20 = scalar, F32, 1356, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition30 = scalar, F32, 1360, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition40 = scalar, F32, 1364, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio0 = scalar, F32, 1368, "", 1, 0 -triggerStateIndex0 = scalar, U08, 1372, "", 1, 0 -vvtStateIndex0 = scalar, U08, 1373, "", 1, 0 -; total TS size = 1376 -crankSynchronizationCounter1 = scalar, U32, 1376, "", 1, 0 -vvtSyncGapRatio1 = scalar, F32, 1380, "", 1, 0 -vvtToothDurations01 = scalar, U32, 1384, "us", 1, 0 -vvtCurrentPosition1 = scalar, F32, 1388, "sync: Primary Cam Position", 1, 0 -vvtToothPosition11 = scalar, F32, 1392, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition21 = scalar, F32, 1396, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition31 = scalar, F32, 1400, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition41 = scalar, F32, 1404, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio1 = scalar, F32, 1408, "", 1, 0 -triggerStateIndex1 = scalar, U08, 1412, "", 1, 0 -vvtStateIndex1 = scalar, U08, 1413, "", 1, 0 -; total TS size = 1416 -crankSynchronizationCounter2 = scalar, U32, 1416, "", 1, 0 -vvtSyncGapRatio2 = scalar, F32, 1420, "", 1, 0 -vvtToothDurations02 = scalar, U32, 1424, "us", 1, 0 -vvtCurrentPosition2 = scalar, F32, 1428, "sync: Primary Cam Position", 1, 0 -vvtToothPosition12 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition22 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition32 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition42 = scalar, F32, 1444, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio2 = scalar, F32, 1448, "", 1, 0 -triggerStateIndex2 = scalar, U08, 1452, "", 1, 0 -vvtStateIndex2 = scalar, U08, 1453, "", 1, 0 -; total TS size = 1456 -crankSynchronizationCounter3 = scalar, U32, 1456, "", 1, 0 -vvtSyncGapRatio3 = scalar, F32, 1460, "", 1, 0 -vvtToothDurations03 = scalar, U32, 1464, "us", 1, 0 -vvtCurrentPosition3 = scalar, F32, 1468, "sync: Primary Cam Position", 1, 0 -vvtToothPosition13 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition23 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition33 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition43 = scalar, F32, 1484, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio3 = scalar, F32, 1488, "", 1, 0 -triggerStateIndex3 = scalar, U08, 1492, "", 1, 0 -vvtStateIndex3 = scalar, U08, 1493, "", 1, 0 -; total TS size = 1496 -crankSynchronizationCounter4 = scalar, U32, 1496, "", 1, 0 -vvtSyncGapRatio4 = scalar, F32, 1500, "", 1, 0 -vvtToothDurations04 = scalar, U32, 1504, "us", 1, 0 -vvtCurrentPosition4 = scalar, F32, 1508, "sync: Primary Cam Position", 1, 0 -vvtToothPosition14 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition24 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition34 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition44 = scalar, F32, 1524, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio4 = scalar, F32, 1528, "", 1, 0 -triggerStateIndex4 = scalar, U08, 1532, "", 1, 0 -vvtStateIndex4 = scalar, U08, 1533, "", 1, 0 -; total TS size = 1536 -camResyncCounter = scalar, U08, 1536, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1540, [0:0] -; total TS size = 1544 -wallFuelCorrection = scalar, F32, 1544, "", 1, 0 -wallFuel = scalar, F32, 1548, "", 1, 0 -; total TS size = 1552 -idleState = bits, S32, 1552, [0:2], "not important" -currentIdlePosition = scalar, F32, 1556 -baseIdlePosition = scalar, F32, 1560 -idleClosedLoop = scalar, F32, 1564 -iacByTpsTaper = scalar, F32, 1568 -throttlePedalUpState = scalar, S32, 1572, "", 1, 0 -mightResetPid = bits, U32, 1576, [0:0] -shouldResetPid = bits, U32, 1576, [1:1] -wasResetPid = bits, U32, 1576, [2:2] -mustResetPid = bits, U32, 1576, [3:3] -isCranking = bits, U32, 1576, [4:4] -isIacTableForCoasting = bits, U32, 1576, [5:5] -notIdling = bits, U32, 1576, [6:6] -needReset = bits, U32, 1576, [7:7] -isInDeadZone = bits, U32, 1576, [8:8] -isBlipping = bits, U32, 1576, [9:9] -useClosedLoop = bits, U32, 1576, [10:10] -badTps = bits, U32, 1576, [11:11] -looksLikeRunning = bits, U32, 1576, [12:12] -looksLikeCoasting = bits, U32, 1576, [13:13] -looksLikeCrankToIdle = bits, U32, 1576, [14:14] -isIdleCoasting = bits, U32, 1576, [15:15] -isIdleClosedLoop = bits, U32, 1576, [16:16] -idleTarget = scalar, S32, 1580, "", 1, 0 -targetRpmByClt = scalar, S32, 1584, "", 1, 0 -targetRpmAc = scalar, S32, 1588, "", 1, 0 -iacByRpmTaper = scalar, F32, 1592 -luaAdd = scalar, F32, 1596 -; total TS size = 1600 -targetWithIdlePosition0 = scalar, F32, 1600, "per", 1,0 -trim0 = scalar, F32, 1604, "", 1, 0 -luaAdjustment0 = scalar, F32, 1608, "per", 1,0 -m_wastegatePosition0 = scalar, F32, 1612, "per", 1,0 -etbFeedForward0 = scalar, F32, 1616 -etbIntegralError0 = scalar, F32, 1620, "", 1, 0 -etbCurrentTarget0 = scalar, F32, 1624, "%", 1, 0 -etbCurrentAdjustedTarget0 = scalar, F32, 1628, "%", 1, 0 -etbRevLimitActive0 = bits, U32, 1632, [0:0] -jamDetected0 = bits, U32, 1632, [1:1] -etbTpsErrorCounter0 = scalar, U16, 1636, "count", 1,0 -etbPpsErrorCounter0 = scalar, U16, 1638, "count", 1,0 -etbErrorCode0 = scalar, S08, 1640, "", 1, 0 -tcEtbDrop0 = scalar, S08, 1641, "%", 1, 0 -jamTimer0 = scalar, U16, 1642, "sec", 0.01, 0 -adjustedEtbTarget0 = scalar, S08, 1644, "%", 1, 0 -; total TS size = 1648 -targetWithIdlePosition1 = scalar, F32, 1648, "per", 1,0 -trim1 = scalar, F32, 1652, "", 1, 0 -luaAdjustment1 = scalar, F32, 1656, "per", 1,0 -m_wastegatePosition1 = scalar, F32, 1660, "per", 1,0 -etbFeedForward1 = scalar, F32, 1664 -etbIntegralError1 = scalar, F32, 1668, "", 1, 0 -etbCurrentTarget1 = scalar, F32, 1672, "%", 1, 0 -etbCurrentAdjustedTarget1 = scalar, F32, 1676, "%", 1, 0 -etbRevLimitActive1 = bits, U32, 1680, [0:0] -jamDetected1 = bits, U32, 1680, [1:1] -etbTpsErrorCounter1 = scalar, U16, 1684, "count", 1,0 -etbPpsErrorCounter1 = scalar, U16, 1686, "count", 1,0 -etbErrorCode1 = scalar, S08, 1688, "", 1, 0 -tcEtbDrop1 = scalar, S08, 1689, "%", 1, 0 -jamTimer1 = scalar, U16, 1690, "sec", 0.01, 0 -adjustedEtbTarget1 = scalar, S08, 1692, "%", 1, 0 -; total TS size = 1696 -faultCode0 = scalar, U08, 1696, "", 1, 0 -heaterDuty0 = scalar, U08, 1697, "%", 1, 0 -pumpDuty0 = scalar, U08, 1698, "%", 1, 0 -tempC0 = scalar, U16, 1700, "C", 1, 0 -nernstVoltage0 = scalar, U16, 1702, "V", 0.001, 0 -esr0 = scalar, U16, 1704, "ohm", 1, 0 -; total TS size = 1708 -faultCode1 = scalar, U08, 1708, "", 1, 0 -heaterDuty1 = scalar, U08, 1709, "%", 1, 0 -pumpDuty1 = scalar, U08, 1710, "%", 1, 0 -tempC1 = scalar, U16, 1712, "C", 1, 0 -nernstVoltage1 = scalar, U16, 1714, "V", 0.001, 0 -esr1 = scalar, U16, 1716, "ohm", 1, 0 -; total TS size = 1720 -dcOutput0 = scalar, F32, 1720, "per", 1,0 -isEnabled0_int = scalar, U08, 1724, "per", 1,0 -isEnabled0 = bits, U32, 1728, [0:0] -; total TS size = 1732 -value0 = scalar, U16, 1732, "value", 1,0 -value1 = scalar, U16, 1734, "value", 1,0 -errorRate = scalar, F32, 1736, "ratio", 1,0 -; total TS size = 1740 -vvtTarget = scalar, U16, 1740, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1742, "%", 0.5, 0 -; total TS size = 1744 -lambdaCurrentlyGood = bits, U32, 1744, [0:0] -lambdaMonitorCut = bits, U32, 1744, [1:1] -lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 -; total TS size = 1752 +retardThresholdRpm = scalar, S32, 1120, "", 1, 0 +launchActivatePinState = bits, U32, 1124, [0:0] +isPreLaunchCondition = bits, U32, 1124, [1:1] +isLaunchCondition = bits, U32, 1124, [2:2] +isSwitchActivated = bits, U32, 1124, [3:3] +isClutchActivated = bits, U32, 1124, [4:4] +isBrakePedalActivated = bits, U32, 1124, [5:5] +isValidInputPin = bits, U32, 1124, [6:6] +activateSwitchCondition = bits, U32, 1124, [7:7] +rpmLaunchCondition = bits, U32, 1124, [8:8] +rpmPreLaunchCondition = bits, U32, 1124, [9:9] +speedCondition = bits, U32, 1124, [10:10] +tpsCondition = bits, U32, 1124, [11:11] +; total TS size = 1128 +isTorqueReductionTriggerPinValid = bits, U32, 1128, [0:0] +torqueReductionTriggerPinState = bits, U32, 1128, [1:1] +isTimeConditionSatisfied = bits, U32, 1128, [2:2] +isRpmConditionSatisfied = bits, U32, 1128, [3:3] +isAppConditionSatisfied = bits, U32, 1128, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1128, [5:5] +; total TS size = 1132 +isAntilagCondition = bits, U32, 1132, [0:0] +ALSMinRPMCondition = bits, U32, 1132, [1:1] +ALSMaxRPMCondition = bits, U32, 1132, [2:2] +ALSMinCLTCondition = bits, U32, 1132, [3:3] +ALSMaxCLTCondition = bits, U32, 1132, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1132, [5:5] +isALSSwitchActivated = bits, U32, 1132, [6:6] +ALSActivatePinState = bits, U32, 1132, [7:7] +ALSSwitchCondition = bits, U32, 1132, [8:8] +ALSTimerCondition = bits, U32, 1132, [9:9] +fuelALSCorrection = scalar, F32, 1136, "", 1, 0 +timingALSCorrection = scalar, S16, 1140, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1142, "deg", 0.01, 0 +; total TS size = 1144 +isTpsInvalid = bits, U32, 1144, [0:0] +m_shouldResetPid = bits, U32, 1144, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1144, [2:2] +isNotClosedLoop = bits, U32, 1144, [3:3] +isZeroRpm = bits, U32, 1144, [4:4] +hasInitBoost = bits, U32, 1144, [5:5] +rpmTooLow = bits, U32, 1144, [6:6] +tpsTooLow = bits, U32, 1144, [7:7] +mapTooLow = bits, U32, 1144, [8:8] +isPlantValid = bits, U32, 1144, [9:9] +isBoostControlled = bits, U32, 1144, [10:10] +luaTargetAdd = scalar, S16, 1148, "v", 0.5,0 +boostOutput = scalar, S16, 1150, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1152, "v", 1,0 +openLoopPart = scalar, F32, 1156, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1160, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1164, "%", 0.5,0 +boostControlTarget = scalar, S16, 1166, "kPa", 0.03333333333333333,0 +; total TS size = 1168 +acButtonState = scalar, S08, 1168, "", 1, 0 +m_acEnabled = bits, U32, 1172, [0:0] +engineTooSlow = bits, U32, 1172, [1:1] +engineTooFast = bits, U32, 1172, [2:2] +noClt = bits, U32, 1172, [3:3] +engineTooHot = bits, U32, 1172, [4:4] +tpsTooHigh = bits, U32, 1172, [5:5] +isDisabledByLua = bits, U32, 1172, [6:6] +acCompressorState = bits, U32, 1172, [7:7] +acPressureTooLow = bits, U32, 1172, [8:8] +acPressureTooHigh = bits, U32, 1172, [9:9] +; total TS size = 1176 +cranking0 = bits, U32, 1176, [0:0] +notRunning0 = bits, U32, 1176, [1:1] +disabledWhileEngineStopped0 = bits, U32, 1176, [2:2] +brokenClt0 = bits, U32, 1176, [3:3] +enabledForAc0 = bits, U32, 1176, [4:4] +hot0 = bits, U32, 1176, [5:5] +cold0 = bits, U32, 1176, [6:6] +disabledBySpeed0 = bits, U32, 1176, [7:7] +radiatorFanStatus0 = scalar, U08, 1180, "", 1, 0 +; total TS size = 1184 +cranking1 = bits, U32, 1184, [0:0] +notRunning1 = bits, U32, 1184, [1:1] +disabledWhileEngineStopped1 = bits, U32, 1184, [2:2] +brokenClt1 = bits, U32, 1184, [3:3] +enabledForAc1 = bits, U32, 1184, [4:4] +hot1 = bits, U32, 1184, [5:5] +cold1 = bits, U32, 1184, [6:6] +disabledBySpeed1 = bits, U32, 1184, [7:7] +radiatorFanStatus1 = scalar, U08, 1188, "", 1, 0 +; total TS size = 1192 +isPrime = bits, U32, 1192, [0:0] +engineTurnedRecently = bits, U32, 1192, [1:1] +isFuelPumpOn = bits, U32, 1192, [2:2] +ignitionOn = bits, U32, 1192, [3:3] +; total TS size = 1196 +isBenchTest = bits, U32, 1196, [0:0] +hasIgnitionVoltage = bits, U32, 1196, [1:1] +mainRelayState = bits, U32, 1196, [2:2] +delayedShutoffRequested = bits, U32, 1196, [3:3] +; total TS size = 1200 +lua_fuelAdd = scalar, F32, 1200, "g", 1, 0 +lua_fuelMult = scalar, F32, 1204, "", 1, 0 +lua_clutchUpState = bits, U32, 1208, [0:0] +lua_brakePedalState = bits, U32, 1208, [1:1] +lua_acRequestState = bits, U32, 1208, [2:2] +lua_luaDisableEtb = bits, U32, 1208, [3:3] +lua_luaIgnCut = bits, U32, 1208, [4:4] +lua_luaFuelCut = bits, U32, 1208, [5:5] +lua_clutchDownState = bits, U32, 1208, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1208, [7:7] +sd_tCharge = scalar, S16, 1212, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1216, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1220, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1224, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1228, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1232, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1236, "", 1, 0 +hellenBoardId = scalar, S16, 1240, "id", 1, 0 +clutchUpState = scalar, S08, 1242, "", 1, 0 +clutchDownState = scalar, S08, 1243, "", 1, 0 +brakePedalState = scalar, S08, 1244, "", 1, 0 +startStopState = scalar, S08, 1245, "", 1, 0 +smartChipState = scalar, S08, 1246, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1247, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1248, "", 1, 0 +startStopPhysicalState = bits, U32, 1252, [0:0] +acrActive = bits, U32, 1252, [1:1] +acrEngineMovedRecently = bits, U32, 1252, [2:2] +heaterControlEnabled = bits, U32, 1252, [3:3] +luaDigitalState0 = bits, U32, 1252, [4:4] +luaDigitalState1 = bits, U32, 1252, [5:5] +luaDigitalState2 = bits, U32, 1252, [6:6] +luaDigitalState3 = bits, U32, 1252, [7:7] +startStopStateToggleCounter = scalar, U32, 1256, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1260, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1264, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1268, "", 1, 0 +desiredRpmLimit = scalar, S16, 1272, "rpm", 1, 0 +fuelInjectionCounter = scalar, U32, 1276, "", 1, 0 +globalSparkCounter = scalar, U32, 1280, "", 1, 0 +fuelingLoad = scalar, F32, 1284, "", 1, 0 +ignitionLoad = scalar, F32, 1288, "", 1, 0 +veTableYAxis = scalar, U16, 1292, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1294, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1295, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1296, "", 1, 0 +; total TS size = 1300 +tpsFrom = scalar, F32, 1300 +tpsTo = scalar, F32, 1304 +deltaTps = scalar, F32, 1308 +extraFuel = scalar, F32, 1312, "", 1, 0 +valueFromTable = scalar, F32, 1316, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1320, [0:0] +isBelowDecelThreshold = bits, U32, 1320, [1:1] +isTimeToResetAccumulator = bits, U32, 1320, [2:2] +isFractionalEnrichment = bits, U32, 1320, [3:3] +belowEpsilon = bits, U32, 1320, [4:4] +tooShort = bits, U32, 1320, [5:5] +fractionalInjFuel = scalar, F32, 1324, "", 1, 0 +accumulatedValue = scalar, F32, 1328, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1332, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1336, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1340, "", 1, 0 +cycleCnt = scalar, S32, 1344, "", 1, 0 +; total TS size = 1348 +hwEventCounters1 = scalar, U32, 1348, "", 1, 0 +hwEventCounters2 = scalar, U32, 1352, "", 1, 0 +hwEventCounters3 = scalar, U32, 1356, "", 1, 0 +hwEventCounters4 = scalar, U32, 1360, "", 1, 0 +hwEventCounters5 = scalar, U32, 1364, "", 1, 0 +hwEventCounters6 = scalar, U32, 1368, "", 1, 0 +vvtCamCounter = scalar, U32, 1372, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1376, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1380, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1384, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1385, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1388, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1392, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1396, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1400, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1404, [0:0] +triggerElapsedUs = scalar, U32, 1408, "", 1, 0 +; total TS size = 1412 +crankSynchronizationCounter0 = scalar, U32, 1412, "", 1, 0 +vvtSyncGapRatio0 = scalar, F32, 1416, "", 1, 0 +vvtToothDurations00 = scalar, U32, 1420, "us", 1, 0 +vvtCurrentPosition0 = scalar, F32, 1424, "sync: Primary Cam Position", 1, 0 +vvtToothPosition10 = scalar, F32, 1428, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition20 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition30 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition40 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio0 = scalar, F32, 1444, "", 1, 0 +triggerStateIndex0 = scalar, U08, 1448, "", 1, 0 +vvtStateIndex0 = scalar, U08, 1449, "", 1, 0 +; total TS size = 1452 +crankSynchronizationCounter1 = scalar, U32, 1452, "", 1, 0 +vvtSyncGapRatio1 = scalar, F32, 1456, "", 1, 0 +vvtToothDurations01 = scalar, U32, 1460, "us", 1, 0 +vvtCurrentPosition1 = scalar, F32, 1464, "sync: Primary Cam Position", 1, 0 +vvtToothPosition11 = scalar, F32, 1468, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition21 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition31 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition41 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio1 = scalar, F32, 1484, "", 1, 0 +triggerStateIndex1 = scalar, U08, 1488, "", 1, 0 +vvtStateIndex1 = scalar, U08, 1489, "", 1, 0 +; total TS size = 1492 +crankSynchronizationCounter2 = scalar, U32, 1492, "", 1, 0 +vvtSyncGapRatio2 = scalar, F32, 1496, "", 1, 0 +vvtToothDurations02 = scalar, U32, 1500, "us", 1, 0 +vvtCurrentPosition2 = scalar, F32, 1504, "sync: Primary Cam Position", 1, 0 +vvtToothPosition12 = scalar, F32, 1508, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition22 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition32 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition42 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio2 = scalar, F32, 1524, "", 1, 0 +triggerStateIndex2 = scalar, U08, 1528, "", 1, 0 +vvtStateIndex2 = scalar, U08, 1529, "", 1, 0 +; total TS size = 1532 +crankSynchronizationCounter3 = scalar, U32, 1532, "", 1, 0 +vvtSyncGapRatio3 = scalar, F32, 1536, "", 1, 0 +vvtToothDurations03 = scalar, U32, 1540, "us", 1, 0 +vvtCurrentPosition3 = scalar, F32, 1544, "sync: Primary Cam Position", 1, 0 +vvtToothPosition13 = scalar, F32, 1548, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition23 = scalar, F32, 1552, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition33 = scalar, F32, 1556, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition43 = scalar, F32, 1560, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio3 = scalar, F32, 1564, "", 1, 0 +triggerStateIndex3 = scalar, U08, 1568, "", 1, 0 +vvtStateIndex3 = scalar, U08, 1569, "", 1, 0 +; total TS size = 1572 +crankSynchronizationCounter4 = scalar, U32, 1572, "", 1, 0 +vvtSyncGapRatio4 = scalar, F32, 1576, "", 1, 0 +vvtToothDurations04 = scalar, U32, 1580, "us", 1, 0 +vvtCurrentPosition4 = scalar, F32, 1584, "sync: Primary Cam Position", 1, 0 +vvtToothPosition14 = scalar, F32, 1588, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition24 = scalar, F32, 1592, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition34 = scalar, F32, 1596, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition44 = scalar, F32, 1600, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio4 = scalar, F32, 1604, "", 1, 0 +triggerStateIndex4 = scalar, U08, 1608, "", 1, 0 +vvtStateIndex4 = scalar, U08, 1609, "", 1, 0 +; total TS size = 1612 +camResyncCounter = scalar, U08, 1612, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1616, [0:0] +; total TS size = 1620 +wallFuelCorrection = scalar, F32, 1620, "", 1, 0 +wallFuel = scalar, F32, 1624, "", 1, 0 +; total TS size = 1628 +idleState = bits, S32, 1628, [0:2], "not important" +currentIdlePosition = scalar, F32, 1632 +baseIdlePosition = scalar, F32, 1636 +idleClosedLoop = scalar, F32, 1640 +iacByTpsTaper = scalar, F32, 1644 +throttlePedalUpState = scalar, S32, 1648, "", 1, 0 +mightResetPid = bits, U32, 1652, [0:0] +shouldResetPid = bits, U32, 1652, [1:1] +wasResetPid = bits, U32, 1652, [2:2] +mustResetPid = bits, U32, 1652, [3:3] +isCranking = bits, U32, 1652, [4:4] +isIacTableForCoasting = bits, U32, 1652, [5:5] +notIdling = bits, U32, 1652, [6:6] +needReset = bits, U32, 1652, [7:7] +isInDeadZone = bits, U32, 1652, [8:8] +isBlipping = bits, U32, 1652, [9:9] +useClosedLoop = bits, U32, 1652, [10:10] +badTps = bits, U32, 1652, [11:11] +looksLikeRunning = bits, U32, 1652, [12:12] +looksLikeCoasting = bits, U32, 1652, [13:13] +looksLikeCrankToIdle = bits, U32, 1652, [14:14] +isIdleCoasting = bits, U32, 1652, [15:15] +isIdleClosedLoop = bits, U32, 1652, [16:16] +idleTarget = scalar, S32, 1656, "", 1, 0 +targetRpmByClt = scalar, S32, 1660, "", 1, 0 +targetRpmAc = scalar, S32, 1664, "", 1, 0 +iacByRpmTaper = scalar, F32, 1668 +luaAdd = scalar, F32, 1672 +; total TS size = 1676 +targetWithIdlePosition0 = scalar, F32, 1676, "per", 1,0 +trim0 = scalar, F32, 1680, "", 1, 0 +luaAdjustment0 = scalar, F32, 1684, "per", 1,0 +m_wastegatePosition0 = scalar, F32, 1688, "per", 1,0 +etbFeedForward0 = scalar, F32, 1692 +etbIntegralError0 = scalar, F32, 1696, "", 1, 0 +etbCurrentTarget0 = scalar, F32, 1700, "%", 1, 0 +etbCurrentAdjustedTarget0 = scalar, F32, 1704, "%", 1, 0 +etbRevLimitActive0 = bits, U32, 1708, [0:0] +jamDetected0 = bits, U32, 1708, [1:1] +etbTpsErrorCounter0 = scalar, U16, 1712, "count", 1,0 +etbPpsErrorCounter0 = scalar, U16, 1714, "count", 1,0 +etbErrorCode0 = scalar, S08, 1716, "", 1, 0 +tcEtbDrop0 = scalar, S08, 1717, "%", 1, 0 +jamTimer0 = scalar, U16, 1718, "sec", 0.01, 0 +adjustedEtbTarget0 = scalar, S08, 1720, "%", 1, 0 +; total TS size = 1724 +targetWithIdlePosition1 = scalar, F32, 1724, "per", 1,0 +trim1 = scalar, F32, 1728, "", 1, 0 +luaAdjustment1 = scalar, F32, 1732, "per", 1,0 +m_wastegatePosition1 = scalar, F32, 1736, "per", 1,0 +etbFeedForward1 = scalar, F32, 1740 +etbIntegralError1 = scalar, F32, 1744, "", 1, 0 +etbCurrentTarget1 = scalar, F32, 1748, "%", 1, 0 +etbCurrentAdjustedTarget1 = scalar, F32, 1752, "%", 1, 0 +etbRevLimitActive1 = bits, U32, 1756, [0:0] +jamDetected1 = bits, U32, 1756, [1:1] +etbTpsErrorCounter1 = scalar, U16, 1760, "count", 1,0 +etbPpsErrorCounter1 = scalar, U16, 1762, "count", 1,0 +etbErrorCode1 = scalar, S08, 1764, "", 1, 0 +tcEtbDrop1 = scalar, S08, 1765, "%", 1, 0 +jamTimer1 = scalar, U16, 1766, "sec", 0.01, 0 +adjustedEtbTarget1 = scalar, S08, 1768, "%", 1, 0 +; total TS size = 1772 +faultCode0 = scalar, U08, 1772, "", 1, 0 +heaterDuty0 = scalar, U08, 1773, "%", 1, 0 +pumpDuty0 = scalar, U08, 1774, "%", 1, 0 +tempC0 = scalar, U16, 1776, "C", 1, 0 +nernstVoltage0 = scalar, U16, 1778, "V", 0.001, 0 +esr0 = scalar, U16, 1780, "ohm", 1, 0 +; total TS size = 1784 +faultCode1 = scalar, U08, 1784, "", 1, 0 +heaterDuty1 = scalar, U08, 1785, "%", 1, 0 +pumpDuty1 = scalar, U08, 1786, "%", 1, 0 +tempC1 = scalar, U16, 1788, "C", 1, 0 +nernstVoltage1 = scalar, U16, 1790, "V", 0.001, 0 +esr1 = scalar, U16, 1792, "ohm", 1, 0 +; total TS size = 1796 +dcOutput0 = scalar, F32, 1796, "per", 1,0 +isEnabled0_int = scalar, U08, 1800, "per", 1,0 +isEnabled0 = bits, U32, 1804, [0:0] +; total TS size = 1808 +value0 = scalar, U16, 1808, "value", 1,0 +value1 = scalar, U16, 1810, "value", 1,0 +errorRate = scalar, F32, 1812, "ratio", 1,0 +; total TS size = 1816 +vvtTarget = scalar, U16, 1816, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1818, "%", 0.5, 0 +; total TS size = 1820 +lambdaCurrentlyGood = bits, U32, 1820, [0:0] +lambdaMonitorCut = bits, U32, 1820, [1:1] +lambdaTimeSinceGood = scalar, U16, 1824, "sec", 0.01, 0 +; total TS size = 1828 time = { timeNow } @@ -3616,6 +3648,7 @@ lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs8 requiresPowerCycle = cylinderBore + requiresPowerCycle = knockFrequency readOnly = warning_message readOnly = device_uid1 @@ -5033,6 +5066,26 @@ gaugeCategory = Knock knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knockSpectrumChannelCylGauge = m_knockSpectrumChannelCyl, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStartGauge = m_knockFrequencyStart, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStepGauge = m_knockFrequencyStep, "Knock Frequency Step", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFuelTrimMultiplier = m_knockFuelTrimMultiplier, "Knock Fuel Trim", "mult", 0, 0, 0, 0, 0, 30, 1, 1 + knockSpectrum1 = m_knockSpectrum1, "Knock Spectrum1", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum2 = m_knockSpectrum2, "knockSpectrum2", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum3 = m_knockSpectrum3, "knockSpectrum3", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum4 = m_knockSpectrum4, "knockSpectrum4", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum5 = m_knockSpectrum5, "knockSpectrum5", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum6 = m_knockSpectrum6, "knockSpectrum6", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum7 = m_knockSpectrum7, "knockSpectrum7", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum8 = m_knockSpectrum8, "knockSpectrum8", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum9 = m_knockSpectrum9, "knockSpectrum9", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum10 = m_knockSpectrum10, "knockSpectrum10", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum11 = m_knockSpectrum11, "knockSpectrum11", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum12 = m_knockSpectrum12, "knockSpectrum12", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum13 = m_knockSpectrum13, "knockSpectrum13", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum14 = m_knockSpectrum14, "knockSpectrum14", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum15 = m_knockSpectrum15, "knockSpectrum15", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum16 = m_knockSpectrum16, "knockSpectrum16", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -5631,6 +5684,26 @@ entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" entry = m_knockCount, "Knock: Count", int, "%d" entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_knockFrequency, "knock: frequency", int, "%d" +entry = m_knockSpectrum1, "Knock: SpectrumData 1", int, "%d" +entry = m_knockSpectrum2, "Knock: SpectrumData 2", int, "%d" +entry = m_knockSpectrum3, "Knock: SpectrumData 3", int, "%d" +entry = m_knockSpectrum4, "Knock: SpectrumData 4", int, "%d" +entry = m_knockSpectrum5, "Knock: SpectrumData 5", int, "%d" +entry = m_knockSpectrum6, "Knock: SpectrumData 6", int, "%d" +entry = m_knockSpectrum7, "Knock: SpectrumData 7", int, "%d" +entry = m_knockSpectrum8, "Knock: SpectrumData 8", int, "%d" +entry = m_knockSpectrum9, "Knock: SpectrumData 9", int, "%d" +entry = m_knockSpectrum10, "Knock: SpectrumData 10", int, "%d" +entry = m_knockSpectrum11, "Knock: SpectrumData 11", int, "%d" +entry = m_knockSpectrum12, "Knock: SpectrumData 12", int, "%d" +entry = m_knockSpectrum13, "Knock: SpectrumData 13", int, "%d" +entry = m_knockSpectrum14, "Knock: SpectrumData 14", int, "%d" +entry = m_knockSpectrum15, "Knock: SpectrumData 15", int, "%d" +entry = m_knockSpectrum16, "Knock: SpectrumData 16", int, "%d" +entry = m_knockSpectrumChannelCyl, "Knock: ChannelAndCylNumber", int, "%d" +entry = m_knockFrequencyStart, "Knock: Start Freq", int, "%d" +entry = m_knockFrequencyStep, "Knock: Step Freq", float, "%.3f" +entry = m_knockFuelTrimMultiplier, "Knock: Fuel trim when knock", float, "%.3f" entry = tcuCurrentGear, "TCU: Current Gear", int, "%d" entry = tcRatio, "TCU: Torque Converter Ratio", float, "%.3f" entry = lastShiftTime, "lastShiftTime", float, "%.3f" @@ -6528,6 +6601,31 @@ dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard graphLine = m_knockFrequency + graphLine = m_knockSpectrum1 + graphLine = m_knockSpectrum2 + liveGraph = knock_controller_6_Graph, "Graph", South + graphLine = m_knockSpectrum3 + graphLine = m_knockSpectrum4 + graphLine = m_knockSpectrum5 + graphLine = m_knockSpectrum6 + liveGraph = knock_controller_7_Graph, "Graph", South + graphLine = m_knockSpectrum7 + graphLine = m_knockSpectrum8 + graphLine = m_knockSpectrum9 + graphLine = m_knockSpectrum10 + liveGraph = knock_controller_8_Graph, "Graph", South + graphLine = m_knockSpectrum11 + graphLine = m_knockSpectrum12 + graphLine = m_knockSpectrum13 + graphLine = m_knockSpectrum14 + liveGraph = knock_controller_9_Graph, "Graph", South + graphLine = m_knockSpectrum15 + graphLine = m_knockSpectrum16 + graphLine = m_knockSpectrumChannelCyl + graphLine = m_knockFrequencyStart + liveGraph = knock_controller_10_Graph, "Graph", South + graphLine = m_knockFrequencyStep + graphLine = m_knockFuelTrimMultiplier indicatorPanel = tcu_controllerIndicatorPanel, 2 indicator = {isShifting}, "isShifting No", "isShifting Yes" @@ -8586,9 +8684,13 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockCfg, "Sense" field = "Enable", enableSoftwareKnock field = "Cylinder Bore", cylinderBore, {enableSoftwareKnock} + field = "Estimated Knock Frequency",knockFrequency, {enableSoftwareKnock} field = "Detection mode", knockDetectionUseDoubleFrequency field = "Detection Window Start",knockDetectionWindowStart, {enableSoftwareKnock} field = "Sampling Duration", knockSamplingDuration, {enableSoftwareKnock} + field = "Enable Knock Spectrogram", enableKnockSpectrogram, {enableSoftwareKnock} + field = "Enable Knock Spectrogram Filter", enableKnockSpectrogramFilter, {enableKnockSpectrogram} + field = "Knock Spectrum Sensitivity", knockSpectrumSensitivity, {enableKnockSpectrogram} field = "" field = "Select the nearest sensor for each cylinder" @@ -8608,6 +8710,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockResponseCfg, "Response" field = knockRetardAggression, knockRetardAggression field = knockRetardReapplyRate, knockRetardReapplyRate + field = knockFuelTrimAggression, knockFuelTrimAggression + field = knockFuelTrimReapplyRate, knockFuelTrimReapplyRate + field = knockFuelTrim, knockFuelTrim + field = knockSuppressMinTps, knockSuppressMinTps dialog = softwareKnockLeft, "" panel = softwareKnockCfg diff --git a/firmware/tunerstudio/generated/rusefi_m74_9.ini b/firmware/tunerstudio/generated/rusefi_m74_9.ini index e51f60b1a5..310aba9380 100644 --- a/firmware/tunerstudio/generated/rusefi_m74_9.ini +++ b/firmware/tunerstudio/generated/rusefi_m74_9.ini @@ -38,12 +38,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.10.21.m74_9.844882630" + signature = "rusEFI master.2024.10.21.m74_9.4000561209" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.10.21.m74_9.844882630" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.10.21.m74_9.4000561209" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -774,6 +774,7 @@ devBit7 = bits, U32, 1492, [27:27], "false", "true" unusedSkipWasHere = bits, U32, 1492, [28:28], "false", "true" invertExhaustCamVVTSignal = bits, U32, 1492, [29:29], "Rising", "Falling" enableKnockSpectrogram = bits, U32, 1492, [30:30], "false", "true" +enableKnockSpectrogramFilter = bits, U32, 1492, [31:31], "false", "true" afterCrankingIACtaperDuration = scalar, S16, 1496, "cycles", 1, 0, 0, 5000, 0 iacByTpsTaper = scalar, S16, 1498, "percent", 1, 0, 0, 500, 0 unusedAuxSeria = bits, U16, 1500, [0:8], $gpio_list @@ -1394,7 +1395,13 @@ auxLinear4_v1 = scalar, F32, 3880, "volts", 1, 0, 0, 10, 2 auxLinear4_value1 = scalar, F32, 3884, "", 1, 0, -100000, 1000000, 2 auxLinear4_v2 = scalar, F32, 3888, "volts", 1, 0, 0, 10, 2 auxLinear4_value2 = scalar, F32, 3892, "", 1, 0, -100000, 1000000, 2 -unusedOftenChangesDuringFirmwareUpdate = array, U08, 3896, [128], "units", 1, 0, 0, 1, 0 +knockSuppressMinTps = scalar, U08, 3896, "%", 1, 0, 0, 100, 1 +knockFuelTrimAggression = scalar, U08, 3897, "%", 0.1, 0, 0, 20, 1 +knockFuelTrimReapplyRate = scalar, U08, 3898, "deg/s", 0.1, 0, 0, 10, 1 +knockFuelTrim = scalar, U08, 3899, "%", 1, 0, 0, 30, 1 +knockSpectrumSensitivity = scalar, F32, 3900, "sense", 1, 0, 0, 1, 2 +knockFrequency = scalar, F32, 3904, "Hz", 1, 0, 0, 20000, 2 +unusedOftenChangesDuringFirmwareUpdate = array, U08, 3908, [116], "units", 1, 0, 0, 1, 0 postCrankingFactor = array, F32, 4024, [6x6], "mult", 1, 0, 1, 3, 2 postCrankingDurationBins = array, F32, 4168, [6], "count", 1, 0, 0, 1000, 0 postCrankingCLTBins = array, S16, 4192, [6], "C", 1, 0, -100, 250, 0 @@ -2448,6 +2455,11 @@ minimumOilPressureValues = array, U08, 22960, [8], "kPa", 10.0, 0, 0, 1000, 0 minAcPressure = "value of A/C pressure in kPa before that compressor is disengaged" maxAcPressure = "value of A/C pressure in kPa after that compressor is disengaged" minimumOilPressureTimeout = "Delay before cutting fuel due to low oil pressure. Use this to ignore short pressure blips and sensor noise." + knockSuppressMinTps = "Below TPS value all knock suppression will be disabled." + knockFuelTrimAggression = "Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump)," + knockFuelTrimReapplyRate = "After a knock event, reapply fuel at this rate." + knockFuelTrim = "Fuel trim when knock, max 30%" + knockFrequency = "Estimated knock frequency, ignore cylinderBore if this one > 0" etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, open loop component of PID closed loop control" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2560,7 +2572,7 @@ minimumOilPressureValues = array, U08, 22960, [8], "kPa", 10.0, 0, 0, 1000, 0 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1752 + ochBlockSize = 1828 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3101,370 +3113,390 @@ m_knockThreshold = scalar, F32, 960, "", 1, 0 m_knockCount = scalar, U32, 964, "", 1, 0 m_maximumRetard = scalar, F32, 968, "", 1, 0 m_knockFrequency = scalar, U32, 972, "Hz", 1, 0 -; total TS size = 976 -tcuCurrentGear = scalar, S08, 976, "gear", 1, 0 -tcRatio = scalar, U16, 978, "value", 0.01, 0 -lastShiftTime = scalar, F32, 980, "", 1, 0 -tcu_currentRange = scalar, U08, 984, "", 1, 0 -pressureControlDuty = scalar, S08, 985, "%", 1,0 -torqueConverterDuty = scalar, S08, 986, "%", 1,0 -isShifting = bits, U32, 988, [0:0] -; total TS size = 992 -throttleUseWotModel = bits, U32, 992, [0:0] -throttleModelCrossoverAngle = scalar, S16, 996, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1000, "g/s", 1, 0 -; total TS size = 1004 -m_requested_pump = scalar, F32, 1004, "", 1, 0 -fuel_requested_percent = scalar, F32, 1008, "", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1012, "", 1, 0 -noValve = bits, U32, 1016, [0:0] -angleAboveMin = bits, U32, 1016, [1:1] -isHpfpInactive = bits, U32, 1016, [2:2] -m_pressureTarget_kPa = scalar, F32, 1020, "", 1, 0 -nextLobe = scalar, F32, 1024, "", 1, 0 -di_nextStart = scalar, F32, 1028, "v", 1, 0 -; total TS size = 1032 -m_deadtime = scalar, F32, 1032, "ms", 1, 0 -pressureDelta = scalar, F32, 1036, "kPa", 1, 0 -pressureRatio = scalar, F32, 1040, "", 1, 0 -; total TS size = 1044 -retardThresholdRpm = scalar, S32, 1044, "", 1, 0 -launchActivatePinState = bits, U32, 1048, [0:0] -isPreLaunchCondition = bits, U32, 1048, [1:1] -isLaunchCondition = bits, U32, 1048, [2:2] -isSwitchActivated = bits, U32, 1048, [3:3] -isClutchActivated = bits, U32, 1048, [4:4] -isBrakePedalActivated = bits, U32, 1048, [5:5] -isValidInputPin = bits, U32, 1048, [6:6] -activateSwitchCondition = bits, U32, 1048, [7:7] -rpmLaunchCondition = bits, U32, 1048, [8:8] -rpmPreLaunchCondition = bits, U32, 1048, [9:9] -speedCondition = bits, U32, 1048, [10:10] -tpsCondition = bits, U32, 1048, [11:11] +m_knockSpectrum1 = scalar, U32, 976, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 980, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 984, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 988, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1040, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1042, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1044, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1048, "multiplier", 1, 0 ; total TS size = 1052 -isTorqueReductionTriggerPinValid = bits, U32, 1052, [0:0] -torqueReductionTriggerPinState = bits, U32, 1052, [1:1] -isTimeConditionSatisfied = bits, U32, 1052, [2:2] -isRpmConditionSatisfied = bits, U32, 1052, [3:3] -isAppConditionSatisfied = bits, U32, 1052, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1052, [5:5] -; total TS size = 1056 -isAntilagCondition = bits, U32, 1056, [0:0] -ALSMinRPMCondition = bits, U32, 1056, [1:1] -ALSMaxRPMCondition = bits, U32, 1056, [2:2] -ALSMinCLTCondition = bits, U32, 1056, [3:3] -ALSMaxCLTCondition = bits, U32, 1056, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1056, [5:5] -isALSSwitchActivated = bits, U32, 1056, [6:6] -ALSActivatePinState = bits, U32, 1056, [7:7] -ALSSwitchCondition = bits, U32, 1056, [8:8] -ALSTimerCondition = bits, U32, 1056, [9:9] -fuelALSCorrection = scalar, F32, 1060, "", 1, 0 -timingALSCorrection = scalar, S16, 1064, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1066, "deg", 0.01, 0 +tcuCurrentGear = scalar, S08, 1052, "gear", 1, 0 +tcRatio = scalar, U16, 1054, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1056, "", 1, 0 +tcu_currentRange = scalar, U08, 1060, "", 1, 0 +pressureControlDuty = scalar, S08, 1061, "%", 1,0 +torqueConverterDuty = scalar, S08, 1062, "%", 1,0 +isShifting = bits, U32, 1064, [0:0] ; total TS size = 1068 -isTpsInvalid = bits, U32, 1068, [0:0] -m_shouldResetPid = bits, U32, 1068, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1068, [2:2] -isNotClosedLoop = bits, U32, 1068, [3:3] -isZeroRpm = bits, U32, 1068, [4:4] -hasInitBoost = bits, U32, 1068, [5:5] -rpmTooLow = bits, U32, 1068, [6:6] -tpsTooLow = bits, U32, 1068, [7:7] -mapTooLow = bits, U32, 1068, [8:8] -isPlantValid = bits, U32, 1068, [9:9] -isBoostControlled = bits, U32, 1068, [10:10] -luaTargetAdd = scalar, S16, 1072, "v", 0.5,0 -boostOutput = scalar, S16, 1074, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1076, "v", 1,0 -openLoopPart = scalar, F32, 1080, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1084, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1088, "%", 0.5,0 -boostControlTarget = scalar, S16, 1090, "kPa", 0.03333333333333333,0 -; total TS size = 1092 -acButtonState = scalar, S08, 1092, "", 1, 0 -m_acEnabled = bits, U32, 1096, [0:0] -engineTooSlow = bits, U32, 1096, [1:1] -engineTooFast = bits, U32, 1096, [2:2] -noClt = bits, U32, 1096, [3:3] -engineTooHot = bits, U32, 1096, [4:4] -tpsTooHigh = bits, U32, 1096, [5:5] -isDisabledByLua = bits, U32, 1096, [6:6] -acCompressorState = bits, U32, 1096, [7:7] -acPressureTooLow = bits, U32, 1096, [8:8] -acPressureTooHigh = bits, U32, 1096, [9:9] -; total TS size = 1100 -cranking0 = bits, U32, 1100, [0:0] -notRunning0 = bits, U32, 1100, [1:1] -disabledWhileEngineStopped0 = bits, U32, 1100, [2:2] -brokenClt0 = bits, U32, 1100, [3:3] -enabledForAc0 = bits, U32, 1100, [4:4] -hot0 = bits, U32, 1100, [5:5] -cold0 = bits, U32, 1100, [6:6] -disabledBySpeed0 = bits, U32, 1100, [7:7] -radiatorFanStatus0 = scalar, U08, 1104, "", 1, 0 +throttleUseWotModel = bits, U32, 1068, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1072, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1076, "g/s", 1, 0 +; total TS size = 1080 +m_requested_pump = scalar, F32, 1080, "", 1, 0 +fuel_requested_percent = scalar, F32, 1084, "", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1088, "", 1, 0 +noValve = bits, U32, 1092, [0:0] +angleAboveMin = bits, U32, 1092, [1:1] +isHpfpInactive = bits, U32, 1092, [2:2] +m_pressureTarget_kPa = scalar, F32, 1096, "", 1, 0 +nextLobe = scalar, F32, 1100, "", 1, 0 +di_nextStart = scalar, F32, 1104, "v", 1, 0 ; total TS size = 1108 -cranking1 = bits, U32, 1108, [0:0] -notRunning1 = bits, U32, 1108, [1:1] -disabledWhileEngineStopped1 = bits, U32, 1108, [2:2] -brokenClt1 = bits, U32, 1108, [3:3] -enabledForAc1 = bits, U32, 1108, [4:4] -hot1 = bits, U32, 1108, [5:5] -cold1 = bits, U32, 1108, [6:6] -disabledBySpeed1 = bits, U32, 1108, [7:7] -radiatorFanStatus1 = scalar, U08, 1112, "", 1, 0 -; total TS size = 1116 -isPrime = bits, U32, 1116, [0:0] -engineTurnedRecently = bits, U32, 1116, [1:1] -isFuelPumpOn = bits, U32, 1116, [2:2] -ignitionOn = bits, U32, 1116, [3:3] +m_deadtime = scalar, F32, 1108, "ms", 1, 0 +pressureDelta = scalar, F32, 1112, "kPa", 1, 0 +pressureRatio = scalar, F32, 1116, "", 1, 0 ; total TS size = 1120 -isBenchTest = bits, U32, 1120, [0:0] -hasIgnitionVoltage = bits, U32, 1120, [1:1] -mainRelayState = bits, U32, 1120, [2:2] -delayedShutoffRequested = bits, U32, 1120, [3:3] -; total TS size = 1124 -lua_fuelAdd = scalar, F32, 1124, "g", 1, 0 -lua_fuelMult = scalar, F32, 1128, "", 1, 0 -lua_clutchUpState = bits, U32, 1132, [0:0] -lua_brakePedalState = bits, U32, 1132, [1:1] -lua_acRequestState = bits, U32, 1132, [2:2] -lua_luaDisableEtb = bits, U32, 1132, [3:3] -lua_luaIgnCut = bits, U32, 1132, [4:4] -lua_luaFuelCut = bits, U32, 1132, [5:5] -lua_clutchDownState = bits, U32, 1132, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1132, [7:7] -sd_tCharge = scalar, S16, 1136, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1140, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1144, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1148, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1152, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1156, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1160, "", 1, 0 -hellenBoardId = scalar, S16, 1164, "id", 1, 0 -clutchUpState = scalar, S08, 1166, "", 1, 0 -clutchDownState = scalar, S08, 1167, "", 1, 0 -brakePedalState = scalar, S08, 1168, "", 1, 0 -startStopState = scalar, S08, 1169, "", 1, 0 -smartChipState = scalar, S08, 1170, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1171, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1172, "", 1, 0 -startStopPhysicalState = bits, U32, 1176, [0:0] -acrActive = bits, U32, 1176, [1:1] -acrEngineMovedRecently = bits, U32, 1176, [2:2] -heaterControlEnabled = bits, U32, 1176, [3:3] -luaDigitalState0 = bits, U32, 1176, [4:4] -luaDigitalState1 = bits, U32, 1176, [5:5] -luaDigitalState2 = bits, U32, 1176, [6:6] -luaDigitalState3 = bits, U32, 1176, [7:7] -startStopStateToggleCounter = scalar, U32, 1180, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1184, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1188, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1192, "", 1, 0 -desiredRpmLimit = scalar, S16, 1196, "rpm", 1, 0 -fuelInjectionCounter = scalar, U32, 1200, "", 1, 0 -globalSparkCounter = scalar, U32, 1204, "", 1, 0 -fuelingLoad = scalar, F32, 1208, "", 1, 0 -ignitionLoad = scalar, F32, 1212, "", 1, 0 -veTableYAxis = scalar, U16, 1216, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1218, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1219, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1220, "", 1, 0 -; total TS size = 1224 -tpsFrom = scalar, F32, 1224 -tpsTo = scalar, F32, 1228 -deltaTps = scalar, F32, 1232 -extraFuel = scalar, F32, 1236, "", 1, 0 -valueFromTable = scalar, F32, 1240, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1244, [0:0] -isBelowDecelThreshold = bits, U32, 1244, [1:1] -isTimeToResetAccumulator = bits, U32, 1244, [2:2] -isFractionalEnrichment = bits, U32, 1244, [3:3] -belowEpsilon = bits, U32, 1244, [4:4] -tooShort = bits, U32, 1244, [5:5] -fractionalInjFuel = scalar, F32, 1248, "", 1, 0 -accumulatedValue = scalar, F32, 1252, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1256, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1260, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1264, "", 1, 0 -cycleCnt = scalar, S32, 1268, "", 1, 0 -; total TS size = 1272 -hwEventCounters1 = scalar, U32, 1272, "", 1, 0 -hwEventCounters2 = scalar, U32, 1276, "", 1, 0 -hwEventCounters3 = scalar, U32, 1280, "", 1, 0 -hwEventCounters4 = scalar, U32, 1284, "", 1, 0 -hwEventCounters5 = scalar, U32, 1288, "", 1, 0 -hwEventCounters6 = scalar, U32, 1292, "", 1, 0 -vvtCamCounter = scalar, U32, 1296, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1300, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1304, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1308, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1309, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1312, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1316, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1320, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1324, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1328, [0:0] -triggerElapsedUs = scalar, U32, 1332, "", 1, 0 -; total TS size = 1336 -crankSynchronizationCounter0 = scalar, U32, 1336, "", 1, 0 -vvtSyncGapRatio0 = scalar, F32, 1340, "", 1, 0 -vvtToothDurations00 = scalar, U32, 1344, "us", 1, 0 -vvtCurrentPosition0 = scalar, F32, 1348, "sync: Primary Cam Position", 1, 0 -vvtToothPosition10 = scalar, F32, 1352, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition20 = scalar, F32, 1356, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition30 = scalar, F32, 1360, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition40 = scalar, F32, 1364, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio0 = scalar, F32, 1368, "", 1, 0 -triggerStateIndex0 = scalar, U08, 1372, "", 1, 0 -vvtStateIndex0 = scalar, U08, 1373, "", 1, 0 -; total TS size = 1376 -crankSynchronizationCounter1 = scalar, U32, 1376, "", 1, 0 -vvtSyncGapRatio1 = scalar, F32, 1380, "", 1, 0 -vvtToothDurations01 = scalar, U32, 1384, "us", 1, 0 -vvtCurrentPosition1 = scalar, F32, 1388, "sync: Primary Cam Position", 1, 0 -vvtToothPosition11 = scalar, F32, 1392, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition21 = scalar, F32, 1396, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition31 = scalar, F32, 1400, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition41 = scalar, F32, 1404, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio1 = scalar, F32, 1408, "", 1, 0 -triggerStateIndex1 = scalar, U08, 1412, "", 1, 0 -vvtStateIndex1 = scalar, U08, 1413, "", 1, 0 -; total TS size = 1416 -crankSynchronizationCounter2 = scalar, U32, 1416, "", 1, 0 -vvtSyncGapRatio2 = scalar, F32, 1420, "", 1, 0 -vvtToothDurations02 = scalar, U32, 1424, "us", 1, 0 -vvtCurrentPosition2 = scalar, F32, 1428, "sync: Primary Cam Position", 1, 0 -vvtToothPosition12 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition22 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition32 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition42 = scalar, F32, 1444, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio2 = scalar, F32, 1448, "", 1, 0 -triggerStateIndex2 = scalar, U08, 1452, "", 1, 0 -vvtStateIndex2 = scalar, U08, 1453, "", 1, 0 -; total TS size = 1456 -crankSynchronizationCounter3 = scalar, U32, 1456, "", 1, 0 -vvtSyncGapRatio3 = scalar, F32, 1460, "", 1, 0 -vvtToothDurations03 = scalar, U32, 1464, "us", 1, 0 -vvtCurrentPosition3 = scalar, F32, 1468, "sync: Primary Cam Position", 1, 0 -vvtToothPosition13 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition23 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition33 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition43 = scalar, F32, 1484, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio3 = scalar, F32, 1488, "", 1, 0 -triggerStateIndex3 = scalar, U08, 1492, "", 1, 0 -vvtStateIndex3 = scalar, U08, 1493, "", 1, 0 -; total TS size = 1496 -crankSynchronizationCounter4 = scalar, U32, 1496, "", 1, 0 -vvtSyncGapRatio4 = scalar, F32, 1500, "", 1, 0 -vvtToothDurations04 = scalar, U32, 1504, "us", 1, 0 -vvtCurrentPosition4 = scalar, F32, 1508, "sync: Primary Cam Position", 1, 0 -vvtToothPosition14 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition24 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition34 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition44 = scalar, F32, 1524, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio4 = scalar, F32, 1528, "", 1, 0 -triggerStateIndex4 = scalar, U08, 1532, "", 1, 0 -vvtStateIndex4 = scalar, U08, 1533, "", 1, 0 -; total TS size = 1536 -camResyncCounter = scalar, U08, 1536, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1540, [0:0] -; total TS size = 1544 -wallFuelCorrection = scalar, F32, 1544, "", 1, 0 -wallFuel = scalar, F32, 1548, "", 1, 0 -; total TS size = 1552 -idleState = bits, S32, 1552, [0:2], "not important" -currentIdlePosition = scalar, F32, 1556 -baseIdlePosition = scalar, F32, 1560 -idleClosedLoop = scalar, F32, 1564 -iacByTpsTaper = scalar, F32, 1568 -throttlePedalUpState = scalar, S32, 1572, "", 1, 0 -mightResetPid = bits, U32, 1576, [0:0] -shouldResetPid = bits, U32, 1576, [1:1] -wasResetPid = bits, U32, 1576, [2:2] -mustResetPid = bits, U32, 1576, [3:3] -isCranking = bits, U32, 1576, [4:4] -isIacTableForCoasting = bits, U32, 1576, [5:5] -notIdling = bits, U32, 1576, [6:6] -needReset = bits, U32, 1576, [7:7] -isInDeadZone = bits, U32, 1576, [8:8] -isBlipping = bits, U32, 1576, [9:9] -useClosedLoop = bits, U32, 1576, [10:10] -badTps = bits, U32, 1576, [11:11] -looksLikeRunning = bits, U32, 1576, [12:12] -looksLikeCoasting = bits, U32, 1576, [13:13] -looksLikeCrankToIdle = bits, U32, 1576, [14:14] -isIdleCoasting = bits, U32, 1576, [15:15] -isIdleClosedLoop = bits, U32, 1576, [16:16] -idleTarget = scalar, S32, 1580, "", 1, 0 -targetRpmByClt = scalar, S32, 1584, "", 1, 0 -targetRpmAc = scalar, S32, 1588, "", 1, 0 -iacByRpmTaper = scalar, F32, 1592 -luaAdd = scalar, F32, 1596 -; total TS size = 1600 -targetWithIdlePosition0 = scalar, F32, 1600, "per", 1,0 -trim0 = scalar, F32, 1604, "", 1, 0 -luaAdjustment0 = scalar, F32, 1608, "per", 1,0 -m_wastegatePosition0 = scalar, F32, 1612, "per", 1,0 -etbFeedForward0 = scalar, F32, 1616 -etbIntegralError0 = scalar, F32, 1620, "", 1, 0 -etbCurrentTarget0 = scalar, F32, 1624, "%", 1, 0 -etbCurrentAdjustedTarget0 = scalar, F32, 1628, "%", 1, 0 -etbRevLimitActive0 = bits, U32, 1632, [0:0] -jamDetected0 = bits, U32, 1632, [1:1] -etbTpsErrorCounter0 = scalar, U16, 1636, "count", 1,0 -etbPpsErrorCounter0 = scalar, U16, 1638, "count", 1,0 -etbErrorCode0 = scalar, S08, 1640, "", 1, 0 -tcEtbDrop0 = scalar, S08, 1641, "%", 1, 0 -jamTimer0 = scalar, U16, 1642, "sec", 0.01, 0 -adjustedEtbTarget0 = scalar, S08, 1644, "%", 1, 0 -; total TS size = 1648 -targetWithIdlePosition1 = scalar, F32, 1648, "per", 1,0 -trim1 = scalar, F32, 1652, "", 1, 0 -luaAdjustment1 = scalar, F32, 1656, "per", 1,0 -m_wastegatePosition1 = scalar, F32, 1660, "per", 1,0 -etbFeedForward1 = scalar, F32, 1664 -etbIntegralError1 = scalar, F32, 1668, "", 1, 0 -etbCurrentTarget1 = scalar, F32, 1672, "%", 1, 0 -etbCurrentAdjustedTarget1 = scalar, F32, 1676, "%", 1, 0 -etbRevLimitActive1 = bits, U32, 1680, [0:0] -jamDetected1 = bits, U32, 1680, [1:1] -etbTpsErrorCounter1 = scalar, U16, 1684, "count", 1,0 -etbPpsErrorCounter1 = scalar, U16, 1686, "count", 1,0 -etbErrorCode1 = scalar, S08, 1688, "", 1, 0 -tcEtbDrop1 = scalar, S08, 1689, "%", 1, 0 -jamTimer1 = scalar, U16, 1690, "sec", 0.01, 0 -adjustedEtbTarget1 = scalar, S08, 1692, "%", 1, 0 -; total TS size = 1696 -faultCode0 = scalar, U08, 1696, "", 1, 0 -heaterDuty0 = scalar, U08, 1697, "%", 1, 0 -pumpDuty0 = scalar, U08, 1698, "%", 1, 0 -tempC0 = scalar, U16, 1700, "C", 1, 0 -nernstVoltage0 = scalar, U16, 1702, "V", 0.001, 0 -esr0 = scalar, U16, 1704, "ohm", 1, 0 -; total TS size = 1708 -faultCode1 = scalar, U08, 1708, "", 1, 0 -heaterDuty1 = scalar, U08, 1709, "%", 1, 0 -pumpDuty1 = scalar, U08, 1710, "%", 1, 0 -tempC1 = scalar, U16, 1712, "C", 1, 0 -nernstVoltage1 = scalar, U16, 1714, "V", 0.001, 0 -esr1 = scalar, U16, 1716, "ohm", 1, 0 -; total TS size = 1720 -dcOutput0 = scalar, F32, 1720, "per", 1,0 -isEnabled0_int = scalar, U08, 1724, "per", 1,0 -isEnabled0 = bits, U32, 1728, [0:0] -; total TS size = 1732 -value0 = scalar, U16, 1732, "value", 1,0 -value1 = scalar, U16, 1734, "value", 1,0 -errorRate = scalar, F32, 1736, "ratio", 1,0 -; total TS size = 1740 -vvtTarget = scalar, U16, 1740, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1742, "%", 0.5, 0 -; total TS size = 1744 -lambdaCurrentlyGood = bits, U32, 1744, [0:0] -lambdaMonitorCut = bits, U32, 1744, [1:1] -lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 -; total TS size = 1752 +retardThresholdRpm = scalar, S32, 1120, "", 1, 0 +launchActivatePinState = bits, U32, 1124, [0:0] +isPreLaunchCondition = bits, U32, 1124, [1:1] +isLaunchCondition = bits, U32, 1124, [2:2] +isSwitchActivated = bits, U32, 1124, [3:3] +isClutchActivated = bits, U32, 1124, [4:4] +isBrakePedalActivated = bits, U32, 1124, [5:5] +isValidInputPin = bits, U32, 1124, [6:6] +activateSwitchCondition = bits, U32, 1124, [7:7] +rpmLaunchCondition = bits, U32, 1124, [8:8] +rpmPreLaunchCondition = bits, U32, 1124, [9:9] +speedCondition = bits, U32, 1124, [10:10] +tpsCondition = bits, U32, 1124, [11:11] +; total TS size = 1128 +isTorqueReductionTriggerPinValid = bits, U32, 1128, [0:0] +torqueReductionTriggerPinState = bits, U32, 1128, [1:1] +isTimeConditionSatisfied = bits, U32, 1128, [2:2] +isRpmConditionSatisfied = bits, U32, 1128, [3:3] +isAppConditionSatisfied = bits, U32, 1128, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1128, [5:5] +; total TS size = 1132 +isAntilagCondition = bits, U32, 1132, [0:0] +ALSMinRPMCondition = bits, U32, 1132, [1:1] +ALSMaxRPMCondition = bits, U32, 1132, [2:2] +ALSMinCLTCondition = bits, U32, 1132, [3:3] +ALSMaxCLTCondition = bits, U32, 1132, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1132, [5:5] +isALSSwitchActivated = bits, U32, 1132, [6:6] +ALSActivatePinState = bits, U32, 1132, [7:7] +ALSSwitchCondition = bits, U32, 1132, [8:8] +ALSTimerCondition = bits, U32, 1132, [9:9] +fuelALSCorrection = scalar, F32, 1136, "", 1, 0 +timingALSCorrection = scalar, S16, 1140, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1142, "deg", 0.01, 0 +; total TS size = 1144 +isTpsInvalid = bits, U32, 1144, [0:0] +m_shouldResetPid = bits, U32, 1144, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1144, [2:2] +isNotClosedLoop = bits, U32, 1144, [3:3] +isZeroRpm = bits, U32, 1144, [4:4] +hasInitBoost = bits, U32, 1144, [5:5] +rpmTooLow = bits, U32, 1144, [6:6] +tpsTooLow = bits, U32, 1144, [7:7] +mapTooLow = bits, U32, 1144, [8:8] +isPlantValid = bits, U32, 1144, [9:9] +isBoostControlled = bits, U32, 1144, [10:10] +luaTargetAdd = scalar, S16, 1148, "v", 0.5,0 +boostOutput = scalar, S16, 1150, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1152, "v", 1,0 +openLoopPart = scalar, F32, 1156, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1160, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1164, "%", 0.5,0 +boostControlTarget = scalar, S16, 1166, "kPa", 0.03333333333333333,0 +; total TS size = 1168 +acButtonState = scalar, S08, 1168, "", 1, 0 +m_acEnabled = bits, U32, 1172, [0:0] +engineTooSlow = bits, U32, 1172, [1:1] +engineTooFast = bits, U32, 1172, [2:2] +noClt = bits, U32, 1172, [3:3] +engineTooHot = bits, U32, 1172, [4:4] +tpsTooHigh = bits, U32, 1172, [5:5] +isDisabledByLua = bits, U32, 1172, [6:6] +acCompressorState = bits, U32, 1172, [7:7] +acPressureTooLow = bits, U32, 1172, [8:8] +acPressureTooHigh = bits, U32, 1172, [9:9] +; total TS size = 1176 +cranking0 = bits, U32, 1176, [0:0] +notRunning0 = bits, U32, 1176, [1:1] +disabledWhileEngineStopped0 = bits, U32, 1176, [2:2] +brokenClt0 = bits, U32, 1176, [3:3] +enabledForAc0 = bits, U32, 1176, [4:4] +hot0 = bits, U32, 1176, [5:5] +cold0 = bits, U32, 1176, [6:6] +disabledBySpeed0 = bits, U32, 1176, [7:7] +radiatorFanStatus0 = scalar, U08, 1180, "", 1, 0 +; total TS size = 1184 +cranking1 = bits, U32, 1184, [0:0] +notRunning1 = bits, U32, 1184, [1:1] +disabledWhileEngineStopped1 = bits, U32, 1184, [2:2] +brokenClt1 = bits, U32, 1184, [3:3] +enabledForAc1 = bits, U32, 1184, [4:4] +hot1 = bits, U32, 1184, [5:5] +cold1 = bits, U32, 1184, [6:6] +disabledBySpeed1 = bits, U32, 1184, [7:7] +radiatorFanStatus1 = scalar, U08, 1188, "", 1, 0 +; total TS size = 1192 +isPrime = bits, U32, 1192, [0:0] +engineTurnedRecently = bits, U32, 1192, [1:1] +isFuelPumpOn = bits, U32, 1192, [2:2] +ignitionOn = bits, U32, 1192, [3:3] +; total TS size = 1196 +isBenchTest = bits, U32, 1196, [0:0] +hasIgnitionVoltage = bits, U32, 1196, [1:1] +mainRelayState = bits, U32, 1196, [2:2] +delayedShutoffRequested = bits, U32, 1196, [3:3] +; total TS size = 1200 +lua_fuelAdd = scalar, F32, 1200, "g", 1, 0 +lua_fuelMult = scalar, F32, 1204, "", 1, 0 +lua_clutchUpState = bits, U32, 1208, [0:0] +lua_brakePedalState = bits, U32, 1208, [1:1] +lua_acRequestState = bits, U32, 1208, [2:2] +lua_luaDisableEtb = bits, U32, 1208, [3:3] +lua_luaIgnCut = bits, U32, 1208, [4:4] +lua_luaFuelCut = bits, U32, 1208, [5:5] +lua_clutchDownState = bits, U32, 1208, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1208, [7:7] +sd_tCharge = scalar, S16, 1212, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1216, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1220, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1224, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1228, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1232, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1236, "", 1, 0 +hellenBoardId = scalar, S16, 1240, "id", 1, 0 +clutchUpState = scalar, S08, 1242, "", 1, 0 +clutchDownState = scalar, S08, 1243, "", 1, 0 +brakePedalState = scalar, S08, 1244, "", 1, 0 +startStopState = scalar, S08, 1245, "", 1, 0 +smartChipState = scalar, S08, 1246, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1247, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1248, "", 1, 0 +startStopPhysicalState = bits, U32, 1252, [0:0] +acrActive = bits, U32, 1252, [1:1] +acrEngineMovedRecently = bits, U32, 1252, [2:2] +heaterControlEnabled = bits, U32, 1252, [3:3] +luaDigitalState0 = bits, U32, 1252, [4:4] +luaDigitalState1 = bits, U32, 1252, [5:5] +luaDigitalState2 = bits, U32, 1252, [6:6] +luaDigitalState3 = bits, U32, 1252, [7:7] +startStopStateToggleCounter = scalar, U32, 1256, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1260, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1264, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1268, "", 1, 0 +desiredRpmLimit = scalar, S16, 1272, "rpm", 1, 0 +fuelInjectionCounter = scalar, U32, 1276, "", 1, 0 +globalSparkCounter = scalar, U32, 1280, "", 1, 0 +fuelingLoad = scalar, F32, 1284, "", 1, 0 +ignitionLoad = scalar, F32, 1288, "", 1, 0 +veTableYAxis = scalar, U16, 1292, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1294, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1295, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1296, "", 1, 0 +; total TS size = 1300 +tpsFrom = scalar, F32, 1300 +tpsTo = scalar, F32, 1304 +deltaTps = scalar, F32, 1308 +extraFuel = scalar, F32, 1312, "", 1, 0 +valueFromTable = scalar, F32, 1316, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1320, [0:0] +isBelowDecelThreshold = bits, U32, 1320, [1:1] +isTimeToResetAccumulator = bits, U32, 1320, [2:2] +isFractionalEnrichment = bits, U32, 1320, [3:3] +belowEpsilon = bits, U32, 1320, [4:4] +tooShort = bits, U32, 1320, [5:5] +fractionalInjFuel = scalar, F32, 1324, "", 1, 0 +accumulatedValue = scalar, F32, 1328, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1332, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1336, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1340, "", 1, 0 +cycleCnt = scalar, S32, 1344, "", 1, 0 +; total TS size = 1348 +hwEventCounters1 = scalar, U32, 1348, "", 1, 0 +hwEventCounters2 = scalar, U32, 1352, "", 1, 0 +hwEventCounters3 = scalar, U32, 1356, "", 1, 0 +hwEventCounters4 = scalar, U32, 1360, "", 1, 0 +hwEventCounters5 = scalar, U32, 1364, "", 1, 0 +hwEventCounters6 = scalar, U32, 1368, "", 1, 0 +vvtCamCounter = scalar, U32, 1372, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1376, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1380, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1384, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1385, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1388, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1392, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1396, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1400, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1404, [0:0] +triggerElapsedUs = scalar, U32, 1408, "", 1, 0 +; total TS size = 1412 +crankSynchronizationCounter0 = scalar, U32, 1412, "", 1, 0 +vvtSyncGapRatio0 = scalar, F32, 1416, "", 1, 0 +vvtToothDurations00 = scalar, U32, 1420, "us", 1, 0 +vvtCurrentPosition0 = scalar, F32, 1424, "sync: Primary Cam Position", 1, 0 +vvtToothPosition10 = scalar, F32, 1428, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition20 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition30 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition40 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio0 = scalar, F32, 1444, "", 1, 0 +triggerStateIndex0 = scalar, U08, 1448, "", 1, 0 +vvtStateIndex0 = scalar, U08, 1449, "", 1, 0 +; total TS size = 1452 +crankSynchronizationCounter1 = scalar, U32, 1452, "", 1, 0 +vvtSyncGapRatio1 = scalar, F32, 1456, "", 1, 0 +vvtToothDurations01 = scalar, U32, 1460, "us", 1, 0 +vvtCurrentPosition1 = scalar, F32, 1464, "sync: Primary Cam Position", 1, 0 +vvtToothPosition11 = scalar, F32, 1468, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition21 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition31 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition41 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio1 = scalar, F32, 1484, "", 1, 0 +triggerStateIndex1 = scalar, U08, 1488, "", 1, 0 +vvtStateIndex1 = scalar, U08, 1489, "", 1, 0 +; total TS size = 1492 +crankSynchronizationCounter2 = scalar, U32, 1492, "", 1, 0 +vvtSyncGapRatio2 = scalar, F32, 1496, "", 1, 0 +vvtToothDurations02 = scalar, U32, 1500, "us", 1, 0 +vvtCurrentPosition2 = scalar, F32, 1504, "sync: Primary Cam Position", 1, 0 +vvtToothPosition12 = scalar, F32, 1508, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition22 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition32 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition42 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio2 = scalar, F32, 1524, "", 1, 0 +triggerStateIndex2 = scalar, U08, 1528, "", 1, 0 +vvtStateIndex2 = scalar, U08, 1529, "", 1, 0 +; total TS size = 1532 +crankSynchronizationCounter3 = scalar, U32, 1532, "", 1, 0 +vvtSyncGapRatio3 = scalar, F32, 1536, "", 1, 0 +vvtToothDurations03 = scalar, U32, 1540, "us", 1, 0 +vvtCurrentPosition3 = scalar, F32, 1544, "sync: Primary Cam Position", 1, 0 +vvtToothPosition13 = scalar, F32, 1548, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition23 = scalar, F32, 1552, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition33 = scalar, F32, 1556, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition43 = scalar, F32, 1560, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio3 = scalar, F32, 1564, "", 1, 0 +triggerStateIndex3 = scalar, U08, 1568, "", 1, 0 +vvtStateIndex3 = scalar, U08, 1569, "", 1, 0 +; total TS size = 1572 +crankSynchronizationCounter4 = scalar, U32, 1572, "", 1, 0 +vvtSyncGapRatio4 = scalar, F32, 1576, "", 1, 0 +vvtToothDurations04 = scalar, U32, 1580, "us", 1, 0 +vvtCurrentPosition4 = scalar, F32, 1584, "sync: Primary Cam Position", 1, 0 +vvtToothPosition14 = scalar, F32, 1588, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition24 = scalar, F32, 1592, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition34 = scalar, F32, 1596, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition44 = scalar, F32, 1600, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio4 = scalar, F32, 1604, "", 1, 0 +triggerStateIndex4 = scalar, U08, 1608, "", 1, 0 +vvtStateIndex4 = scalar, U08, 1609, "", 1, 0 +; total TS size = 1612 +camResyncCounter = scalar, U08, 1612, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1616, [0:0] +; total TS size = 1620 +wallFuelCorrection = scalar, F32, 1620, "", 1, 0 +wallFuel = scalar, F32, 1624, "", 1, 0 +; total TS size = 1628 +idleState = bits, S32, 1628, [0:2], "not important" +currentIdlePosition = scalar, F32, 1632 +baseIdlePosition = scalar, F32, 1636 +idleClosedLoop = scalar, F32, 1640 +iacByTpsTaper = scalar, F32, 1644 +throttlePedalUpState = scalar, S32, 1648, "", 1, 0 +mightResetPid = bits, U32, 1652, [0:0] +shouldResetPid = bits, U32, 1652, [1:1] +wasResetPid = bits, U32, 1652, [2:2] +mustResetPid = bits, U32, 1652, [3:3] +isCranking = bits, U32, 1652, [4:4] +isIacTableForCoasting = bits, U32, 1652, [5:5] +notIdling = bits, U32, 1652, [6:6] +needReset = bits, U32, 1652, [7:7] +isInDeadZone = bits, U32, 1652, [8:8] +isBlipping = bits, U32, 1652, [9:9] +useClosedLoop = bits, U32, 1652, [10:10] +badTps = bits, U32, 1652, [11:11] +looksLikeRunning = bits, U32, 1652, [12:12] +looksLikeCoasting = bits, U32, 1652, [13:13] +looksLikeCrankToIdle = bits, U32, 1652, [14:14] +isIdleCoasting = bits, U32, 1652, [15:15] +isIdleClosedLoop = bits, U32, 1652, [16:16] +idleTarget = scalar, S32, 1656, "", 1, 0 +targetRpmByClt = scalar, S32, 1660, "", 1, 0 +targetRpmAc = scalar, S32, 1664, "", 1, 0 +iacByRpmTaper = scalar, F32, 1668 +luaAdd = scalar, F32, 1672 +; total TS size = 1676 +targetWithIdlePosition0 = scalar, F32, 1676, "per", 1,0 +trim0 = scalar, F32, 1680, "", 1, 0 +luaAdjustment0 = scalar, F32, 1684, "per", 1,0 +m_wastegatePosition0 = scalar, F32, 1688, "per", 1,0 +etbFeedForward0 = scalar, F32, 1692 +etbIntegralError0 = scalar, F32, 1696, "", 1, 0 +etbCurrentTarget0 = scalar, F32, 1700, "%", 1, 0 +etbCurrentAdjustedTarget0 = scalar, F32, 1704, "%", 1, 0 +etbRevLimitActive0 = bits, U32, 1708, [0:0] +jamDetected0 = bits, U32, 1708, [1:1] +etbTpsErrorCounter0 = scalar, U16, 1712, "count", 1,0 +etbPpsErrorCounter0 = scalar, U16, 1714, "count", 1,0 +etbErrorCode0 = scalar, S08, 1716, "", 1, 0 +tcEtbDrop0 = scalar, S08, 1717, "%", 1, 0 +jamTimer0 = scalar, U16, 1718, "sec", 0.01, 0 +adjustedEtbTarget0 = scalar, S08, 1720, "%", 1, 0 +; total TS size = 1724 +targetWithIdlePosition1 = scalar, F32, 1724, "per", 1,0 +trim1 = scalar, F32, 1728, "", 1, 0 +luaAdjustment1 = scalar, F32, 1732, "per", 1,0 +m_wastegatePosition1 = scalar, F32, 1736, "per", 1,0 +etbFeedForward1 = scalar, F32, 1740 +etbIntegralError1 = scalar, F32, 1744, "", 1, 0 +etbCurrentTarget1 = scalar, F32, 1748, "%", 1, 0 +etbCurrentAdjustedTarget1 = scalar, F32, 1752, "%", 1, 0 +etbRevLimitActive1 = bits, U32, 1756, [0:0] +jamDetected1 = bits, U32, 1756, [1:1] +etbTpsErrorCounter1 = scalar, U16, 1760, "count", 1,0 +etbPpsErrorCounter1 = scalar, U16, 1762, "count", 1,0 +etbErrorCode1 = scalar, S08, 1764, "", 1, 0 +tcEtbDrop1 = scalar, S08, 1765, "%", 1, 0 +jamTimer1 = scalar, U16, 1766, "sec", 0.01, 0 +adjustedEtbTarget1 = scalar, S08, 1768, "%", 1, 0 +; total TS size = 1772 +faultCode0 = scalar, U08, 1772, "", 1, 0 +heaterDuty0 = scalar, U08, 1773, "%", 1, 0 +pumpDuty0 = scalar, U08, 1774, "%", 1, 0 +tempC0 = scalar, U16, 1776, "C", 1, 0 +nernstVoltage0 = scalar, U16, 1778, "V", 0.001, 0 +esr0 = scalar, U16, 1780, "ohm", 1, 0 +; total TS size = 1784 +faultCode1 = scalar, U08, 1784, "", 1, 0 +heaterDuty1 = scalar, U08, 1785, "%", 1, 0 +pumpDuty1 = scalar, U08, 1786, "%", 1, 0 +tempC1 = scalar, U16, 1788, "C", 1, 0 +nernstVoltage1 = scalar, U16, 1790, "V", 0.001, 0 +esr1 = scalar, U16, 1792, "ohm", 1, 0 +; total TS size = 1796 +dcOutput0 = scalar, F32, 1796, "per", 1,0 +isEnabled0_int = scalar, U08, 1800, "per", 1,0 +isEnabled0 = bits, U32, 1804, [0:0] +; total TS size = 1808 +value0 = scalar, U16, 1808, "value", 1,0 +value1 = scalar, U16, 1810, "value", 1,0 +errorRate = scalar, F32, 1812, "ratio", 1,0 +; total TS size = 1816 +vvtTarget = scalar, U16, 1816, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1818, "%", 0.5, 0 +; total TS size = 1820 +lambdaCurrentlyGood = bits, U32, 1820, [0:0] +lambdaMonitorCut = bits, U32, 1820, [1:1] +lambdaTimeSinceGood = scalar, U16, 1824, "sec", 0.01, 0 +; total TS size = 1828 time = { timeNow } @@ -3616,6 +3648,7 @@ lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs8 requiresPowerCycle = cylinderBore + requiresPowerCycle = knockFrequency readOnly = warning_message readOnly = device_uid1 @@ -5033,6 +5066,26 @@ gaugeCategory = Knock knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knockSpectrumChannelCylGauge = m_knockSpectrumChannelCyl, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStartGauge = m_knockFrequencyStart, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStepGauge = m_knockFrequencyStep, "Knock Frequency Step", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFuelTrimMultiplier = m_knockFuelTrimMultiplier, "Knock Fuel Trim", "mult", 0, 0, 0, 0, 0, 30, 1, 1 + knockSpectrum1 = m_knockSpectrum1, "Knock Spectrum1", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum2 = m_knockSpectrum2, "knockSpectrum2", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum3 = m_knockSpectrum3, "knockSpectrum3", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum4 = m_knockSpectrum4, "knockSpectrum4", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum5 = m_knockSpectrum5, "knockSpectrum5", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum6 = m_knockSpectrum6, "knockSpectrum6", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum7 = m_knockSpectrum7, "knockSpectrum7", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum8 = m_knockSpectrum8, "knockSpectrum8", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum9 = m_knockSpectrum9, "knockSpectrum9", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum10 = m_knockSpectrum10, "knockSpectrum10", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum11 = m_knockSpectrum11, "knockSpectrum11", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum12 = m_knockSpectrum12, "knockSpectrum12", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum13 = m_knockSpectrum13, "knockSpectrum13", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum14 = m_knockSpectrum14, "knockSpectrum14", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum15 = m_knockSpectrum15, "knockSpectrum15", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum16 = m_knockSpectrum16, "knockSpectrum16", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -5631,6 +5684,26 @@ entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" entry = m_knockCount, "Knock: Count", int, "%d" entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_knockFrequency, "knock: frequency", int, "%d" +entry = m_knockSpectrum1, "Knock: SpectrumData 1", int, "%d" +entry = m_knockSpectrum2, "Knock: SpectrumData 2", int, "%d" +entry = m_knockSpectrum3, "Knock: SpectrumData 3", int, "%d" +entry = m_knockSpectrum4, "Knock: SpectrumData 4", int, "%d" +entry = m_knockSpectrum5, "Knock: SpectrumData 5", int, "%d" +entry = m_knockSpectrum6, "Knock: SpectrumData 6", int, "%d" +entry = m_knockSpectrum7, "Knock: SpectrumData 7", int, "%d" +entry = m_knockSpectrum8, "Knock: SpectrumData 8", int, "%d" +entry = m_knockSpectrum9, "Knock: SpectrumData 9", int, "%d" +entry = m_knockSpectrum10, "Knock: SpectrumData 10", int, "%d" +entry = m_knockSpectrum11, "Knock: SpectrumData 11", int, "%d" +entry = m_knockSpectrum12, "Knock: SpectrumData 12", int, "%d" +entry = m_knockSpectrum13, "Knock: SpectrumData 13", int, "%d" +entry = m_knockSpectrum14, "Knock: SpectrumData 14", int, "%d" +entry = m_knockSpectrum15, "Knock: SpectrumData 15", int, "%d" +entry = m_knockSpectrum16, "Knock: SpectrumData 16", int, "%d" +entry = m_knockSpectrumChannelCyl, "Knock: ChannelAndCylNumber", int, "%d" +entry = m_knockFrequencyStart, "Knock: Start Freq", int, "%d" +entry = m_knockFrequencyStep, "Knock: Step Freq", float, "%.3f" +entry = m_knockFuelTrimMultiplier, "Knock: Fuel trim when knock", float, "%.3f" entry = tcuCurrentGear, "TCU: Current Gear", int, "%d" entry = tcRatio, "TCU: Torque Converter Ratio", float, "%.3f" entry = lastShiftTime, "lastShiftTime", float, "%.3f" @@ -6530,6 +6603,31 @@ dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard graphLine = m_knockFrequency + graphLine = m_knockSpectrum1 + graphLine = m_knockSpectrum2 + liveGraph = knock_controller_6_Graph, "Graph", South + graphLine = m_knockSpectrum3 + graphLine = m_knockSpectrum4 + graphLine = m_knockSpectrum5 + graphLine = m_knockSpectrum6 + liveGraph = knock_controller_7_Graph, "Graph", South + graphLine = m_knockSpectrum7 + graphLine = m_knockSpectrum8 + graphLine = m_knockSpectrum9 + graphLine = m_knockSpectrum10 + liveGraph = knock_controller_8_Graph, "Graph", South + graphLine = m_knockSpectrum11 + graphLine = m_knockSpectrum12 + graphLine = m_knockSpectrum13 + graphLine = m_knockSpectrum14 + liveGraph = knock_controller_9_Graph, "Graph", South + graphLine = m_knockSpectrum15 + graphLine = m_knockSpectrum16 + graphLine = m_knockSpectrumChannelCyl + graphLine = m_knockFrequencyStart + liveGraph = knock_controller_10_Graph, "Graph", South + graphLine = m_knockFrequencyStep + graphLine = m_knockFuelTrimMultiplier indicatorPanel = tcu_controllerIndicatorPanel, 2 indicator = {isShifting}, "isShifting No", "isShifting Yes" @@ -8588,9 +8686,13 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockCfg, "Sense" field = "Enable", enableSoftwareKnock field = "Cylinder Bore", cylinderBore, {enableSoftwareKnock} + field = "Estimated Knock Frequency",knockFrequency, {enableSoftwareKnock} field = "Detection mode", knockDetectionUseDoubleFrequency field = "Detection Window Start",knockDetectionWindowStart, {enableSoftwareKnock} field = "Sampling Duration", knockSamplingDuration, {enableSoftwareKnock} + field = "Enable Knock Spectrogram", enableKnockSpectrogram, {enableSoftwareKnock} + field = "Enable Knock Spectrogram Filter", enableKnockSpectrogramFilter, {enableKnockSpectrogram} + field = "Knock Spectrum Sensitivity", knockSpectrumSensitivity, {enableKnockSpectrogram} field = "" field = "Select the nearest sensor for each cylinder" @@ -8610,6 +8712,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockResponseCfg, "Response" field = knockRetardAggression, knockRetardAggression field = knockRetardReapplyRate, knockRetardReapplyRate + field = knockFuelTrimAggression, knockFuelTrimAggression + field = knockFuelTrimReapplyRate, knockFuelTrimReapplyRate + field = knockFuelTrim, knockFuelTrim + field = knockSuppressMinTps, knockSuppressMinTps dialog = softwareKnockLeft, "" panel = softwareKnockCfg diff --git a/firmware/tunerstudio/generated/rusefi_mre-legacy_f4.ini b/firmware/tunerstudio/generated/rusefi_mre-legacy_f4.ini index aa0650f38c..dc7e5b60d5 100644 --- a/firmware/tunerstudio/generated/rusefi_mre-legacy_f4.ini +++ b/firmware/tunerstudio/generated/rusefi_mre-legacy_f4.ini @@ -38,12 +38,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.10.21.mre-legacy_f4.3945640004" + signature = "rusEFI master.2024.10.21.mre-legacy_f4.923134651" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.10.21.mre-legacy_f4.3945640004" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.10.21.mre-legacy_f4.923134651" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -774,6 +774,7 @@ devBit7 = bits, U32, 1492, [27:27], "false", "true" unusedSkipWasHere = bits, U32, 1492, [28:28], "false", "true" invertExhaustCamVVTSignal = bits, U32, 1492, [29:29], "Rising", "Falling" enableKnockSpectrogram = bits, U32, 1492, [30:30], "false", "true" +enableKnockSpectrogramFilter = bits, U32, 1492, [31:31], "false", "true" afterCrankingIACtaperDuration = scalar, S16, 1496, "cycles", 1, 0, 0, 5000, 0 iacByTpsTaper = scalar, S16, 1498, "percent", 1, 0, 0, 500, 0 unusedAuxSeria = bits, U16, 1500, [0:8], $gpio_list @@ -1394,7 +1395,13 @@ auxLinear4_v1 = scalar, F32, 3880, "volts", 1, 0, 0, 10, 2 auxLinear4_value1 = scalar, F32, 3884, "", 1, 0, -100000, 1000000, 2 auxLinear4_v2 = scalar, F32, 3888, "volts", 1, 0, 0, 10, 2 auxLinear4_value2 = scalar, F32, 3892, "", 1, 0, -100000, 1000000, 2 -unusedOftenChangesDuringFirmwareUpdate = array, U08, 3896, [128], "units", 1, 0, 0, 1, 0 +knockSuppressMinTps = scalar, U08, 3896, "%", 1, 0, 0, 100, 1 +knockFuelTrimAggression = scalar, U08, 3897, "%", 0.1, 0, 0, 20, 1 +knockFuelTrimReapplyRate = scalar, U08, 3898, "deg/s", 0.1, 0, 0, 10, 1 +knockFuelTrim = scalar, U08, 3899, "%", 1, 0, 0, 30, 1 +knockSpectrumSensitivity = scalar, F32, 3900, "sense", 1, 0, 0, 1, 2 +knockFrequency = scalar, F32, 3904, "Hz", 1, 0, 0, 20000, 2 +unusedOftenChangesDuringFirmwareUpdate = array, U08, 3908, [116], "units", 1, 0, 0, 1, 0 postCrankingFactor = array, F32, 4024, [6x6], "mult", 1, 0, 1, 3, 2 postCrankingDurationBins = array, F32, 4168, [6], "count", 1, 0, 0, 1000, 0 postCrankingCLTBins = array, S16, 4192, [6], "C", 1, 0, -100, 250, 0 @@ -2448,6 +2455,11 @@ minimumOilPressureValues = array, U08, 24960, [8], "kPa", 10.0, 0, 0, 1000, 0 minAcPressure = "value of A/C pressure in kPa before that compressor is disengaged" maxAcPressure = "value of A/C pressure in kPa after that compressor is disengaged" minimumOilPressureTimeout = "Delay before cutting fuel due to low oil pressure. Use this to ignore short pressure blips and sensor noise." + knockSuppressMinTps = "Below TPS value all knock suppression will be disabled." + knockFuelTrimAggression = "Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump)," + knockFuelTrimReapplyRate = "After a knock event, reapply fuel at this rate." + knockFuelTrim = "Fuel trim when knock, max 30%" + knockFrequency = "Estimated knock frequency, ignore cylinderBore if this one > 0" etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, open loop component of PID closed loop control" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2560,7 +2572,7 @@ minimumOilPressureValues = array, U08, 24960, [8], "kPa", 10.0, 0, 0, 1000, 0 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1752 + ochBlockSize = 1828 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3101,370 +3113,390 @@ m_knockThreshold = scalar, F32, 960, "", 1, 0 m_knockCount = scalar, U32, 964, "", 1, 0 m_maximumRetard = scalar, F32, 968, "", 1, 0 m_knockFrequency = scalar, U32, 972, "Hz", 1, 0 -; total TS size = 976 -tcuCurrentGear = scalar, S08, 976, "gear", 1, 0 -tcRatio = scalar, U16, 978, "value", 0.01, 0 -lastShiftTime = scalar, F32, 980, "", 1, 0 -tcu_currentRange = scalar, U08, 984, "", 1, 0 -pressureControlDuty = scalar, S08, 985, "%", 1,0 -torqueConverterDuty = scalar, S08, 986, "%", 1,0 -isShifting = bits, U32, 988, [0:0] -; total TS size = 992 -throttleUseWotModel = bits, U32, 992, [0:0] -throttleModelCrossoverAngle = scalar, S16, 996, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1000, "g/s", 1, 0 -; total TS size = 1004 -m_requested_pump = scalar, F32, 1004, "", 1, 0 -fuel_requested_percent = scalar, F32, 1008, "", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1012, "", 1, 0 -noValve = bits, U32, 1016, [0:0] -angleAboveMin = bits, U32, 1016, [1:1] -isHpfpInactive = bits, U32, 1016, [2:2] -m_pressureTarget_kPa = scalar, F32, 1020, "", 1, 0 -nextLobe = scalar, F32, 1024, "", 1, 0 -di_nextStart = scalar, F32, 1028, "v", 1, 0 -; total TS size = 1032 -m_deadtime = scalar, F32, 1032, "ms", 1, 0 -pressureDelta = scalar, F32, 1036, "kPa", 1, 0 -pressureRatio = scalar, F32, 1040, "", 1, 0 -; total TS size = 1044 -retardThresholdRpm = scalar, S32, 1044, "", 1, 0 -launchActivatePinState = bits, U32, 1048, [0:0] -isPreLaunchCondition = bits, U32, 1048, [1:1] -isLaunchCondition = bits, U32, 1048, [2:2] -isSwitchActivated = bits, U32, 1048, [3:3] -isClutchActivated = bits, U32, 1048, [4:4] -isBrakePedalActivated = bits, U32, 1048, [5:5] -isValidInputPin = bits, U32, 1048, [6:6] -activateSwitchCondition = bits, U32, 1048, [7:7] -rpmLaunchCondition = bits, U32, 1048, [8:8] -rpmPreLaunchCondition = bits, U32, 1048, [9:9] -speedCondition = bits, U32, 1048, [10:10] -tpsCondition = bits, U32, 1048, [11:11] +m_knockSpectrum1 = scalar, U32, 976, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 980, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 984, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 988, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1040, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1042, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1044, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1048, "multiplier", 1, 0 ; total TS size = 1052 -isTorqueReductionTriggerPinValid = bits, U32, 1052, [0:0] -torqueReductionTriggerPinState = bits, U32, 1052, [1:1] -isTimeConditionSatisfied = bits, U32, 1052, [2:2] -isRpmConditionSatisfied = bits, U32, 1052, [3:3] -isAppConditionSatisfied = bits, U32, 1052, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1052, [5:5] -; total TS size = 1056 -isAntilagCondition = bits, U32, 1056, [0:0] -ALSMinRPMCondition = bits, U32, 1056, [1:1] -ALSMaxRPMCondition = bits, U32, 1056, [2:2] -ALSMinCLTCondition = bits, U32, 1056, [3:3] -ALSMaxCLTCondition = bits, U32, 1056, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1056, [5:5] -isALSSwitchActivated = bits, U32, 1056, [6:6] -ALSActivatePinState = bits, U32, 1056, [7:7] -ALSSwitchCondition = bits, U32, 1056, [8:8] -ALSTimerCondition = bits, U32, 1056, [9:9] -fuelALSCorrection = scalar, F32, 1060, "", 1, 0 -timingALSCorrection = scalar, S16, 1064, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1066, "deg", 0.01, 0 +tcuCurrentGear = scalar, S08, 1052, "gear", 1, 0 +tcRatio = scalar, U16, 1054, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1056, "", 1, 0 +tcu_currentRange = scalar, U08, 1060, "", 1, 0 +pressureControlDuty = scalar, S08, 1061, "%", 1,0 +torqueConverterDuty = scalar, S08, 1062, "%", 1,0 +isShifting = bits, U32, 1064, [0:0] ; total TS size = 1068 -isTpsInvalid = bits, U32, 1068, [0:0] -m_shouldResetPid = bits, U32, 1068, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1068, [2:2] -isNotClosedLoop = bits, U32, 1068, [3:3] -isZeroRpm = bits, U32, 1068, [4:4] -hasInitBoost = bits, U32, 1068, [5:5] -rpmTooLow = bits, U32, 1068, [6:6] -tpsTooLow = bits, U32, 1068, [7:7] -mapTooLow = bits, U32, 1068, [8:8] -isPlantValid = bits, U32, 1068, [9:9] -isBoostControlled = bits, U32, 1068, [10:10] -luaTargetAdd = scalar, S16, 1072, "v", 0.5,0 -boostOutput = scalar, S16, 1074, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1076, "v", 1,0 -openLoopPart = scalar, F32, 1080, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1084, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1088, "%", 0.5,0 -boostControlTarget = scalar, S16, 1090, "kPa", 0.03333333333333333,0 -; total TS size = 1092 -acButtonState = scalar, S08, 1092, "", 1, 0 -m_acEnabled = bits, U32, 1096, [0:0] -engineTooSlow = bits, U32, 1096, [1:1] -engineTooFast = bits, U32, 1096, [2:2] -noClt = bits, U32, 1096, [3:3] -engineTooHot = bits, U32, 1096, [4:4] -tpsTooHigh = bits, U32, 1096, [5:5] -isDisabledByLua = bits, U32, 1096, [6:6] -acCompressorState = bits, U32, 1096, [7:7] -acPressureTooLow = bits, U32, 1096, [8:8] -acPressureTooHigh = bits, U32, 1096, [9:9] -; total TS size = 1100 -cranking0 = bits, U32, 1100, [0:0] -notRunning0 = bits, U32, 1100, [1:1] -disabledWhileEngineStopped0 = bits, U32, 1100, [2:2] -brokenClt0 = bits, U32, 1100, [3:3] -enabledForAc0 = bits, U32, 1100, [4:4] -hot0 = bits, U32, 1100, [5:5] -cold0 = bits, U32, 1100, [6:6] -disabledBySpeed0 = bits, U32, 1100, [7:7] -radiatorFanStatus0 = scalar, U08, 1104, "", 1, 0 +throttleUseWotModel = bits, U32, 1068, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1072, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1076, "g/s", 1, 0 +; total TS size = 1080 +m_requested_pump = scalar, F32, 1080, "", 1, 0 +fuel_requested_percent = scalar, F32, 1084, "", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1088, "", 1, 0 +noValve = bits, U32, 1092, [0:0] +angleAboveMin = bits, U32, 1092, [1:1] +isHpfpInactive = bits, U32, 1092, [2:2] +m_pressureTarget_kPa = scalar, F32, 1096, "", 1, 0 +nextLobe = scalar, F32, 1100, "", 1, 0 +di_nextStart = scalar, F32, 1104, "v", 1, 0 ; total TS size = 1108 -cranking1 = bits, U32, 1108, [0:0] -notRunning1 = bits, U32, 1108, [1:1] -disabledWhileEngineStopped1 = bits, U32, 1108, [2:2] -brokenClt1 = bits, U32, 1108, [3:3] -enabledForAc1 = bits, U32, 1108, [4:4] -hot1 = bits, U32, 1108, [5:5] -cold1 = bits, U32, 1108, [6:6] -disabledBySpeed1 = bits, U32, 1108, [7:7] -radiatorFanStatus1 = scalar, U08, 1112, "", 1, 0 -; total TS size = 1116 -isPrime = bits, U32, 1116, [0:0] -engineTurnedRecently = bits, U32, 1116, [1:1] -isFuelPumpOn = bits, U32, 1116, [2:2] -ignitionOn = bits, U32, 1116, [3:3] +m_deadtime = scalar, F32, 1108, "ms", 1, 0 +pressureDelta = scalar, F32, 1112, "kPa", 1, 0 +pressureRatio = scalar, F32, 1116, "", 1, 0 ; total TS size = 1120 -isBenchTest = bits, U32, 1120, [0:0] -hasIgnitionVoltage = bits, U32, 1120, [1:1] -mainRelayState = bits, U32, 1120, [2:2] -delayedShutoffRequested = bits, U32, 1120, [3:3] -; total TS size = 1124 -lua_fuelAdd = scalar, F32, 1124, "g", 1, 0 -lua_fuelMult = scalar, F32, 1128, "", 1, 0 -lua_clutchUpState = bits, U32, 1132, [0:0] -lua_brakePedalState = bits, U32, 1132, [1:1] -lua_acRequestState = bits, U32, 1132, [2:2] -lua_luaDisableEtb = bits, U32, 1132, [3:3] -lua_luaIgnCut = bits, U32, 1132, [4:4] -lua_luaFuelCut = bits, U32, 1132, [5:5] -lua_clutchDownState = bits, U32, 1132, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1132, [7:7] -sd_tCharge = scalar, S16, 1136, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1140, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1144, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1148, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1152, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1156, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1160, "", 1, 0 -hellenBoardId = scalar, S16, 1164, "id", 1, 0 -clutchUpState = scalar, S08, 1166, "", 1, 0 -clutchDownState = scalar, S08, 1167, "", 1, 0 -brakePedalState = scalar, S08, 1168, "", 1, 0 -startStopState = scalar, S08, 1169, "", 1, 0 -smartChipState = scalar, S08, 1170, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1171, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1172, "", 1, 0 -startStopPhysicalState = bits, U32, 1176, [0:0] -acrActive = bits, U32, 1176, [1:1] -acrEngineMovedRecently = bits, U32, 1176, [2:2] -heaterControlEnabled = bits, U32, 1176, [3:3] -luaDigitalState0 = bits, U32, 1176, [4:4] -luaDigitalState1 = bits, U32, 1176, [5:5] -luaDigitalState2 = bits, U32, 1176, [6:6] -luaDigitalState3 = bits, U32, 1176, [7:7] -startStopStateToggleCounter = scalar, U32, 1180, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1184, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1188, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1192, "", 1, 0 -desiredRpmLimit = scalar, S16, 1196, "rpm", 1, 0 -fuelInjectionCounter = scalar, U32, 1200, "", 1, 0 -globalSparkCounter = scalar, U32, 1204, "", 1, 0 -fuelingLoad = scalar, F32, 1208, "", 1, 0 -ignitionLoad = scalar, F32, 1212, "", 1, 0 -veTableYAxis = scalar, U16, 1216, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1218, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1219, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1220, "", 1, 0 -; total TS size = 1224 -tpsFrom = scalar, F32, 1224 -tpsTo = scalar, F32, 1228 -deltaTps = scalar, F32, 1232 -extraFuel = scalar, F32, 1236, "", 1, 0 -valueFromTable = scalar, F32, 1240, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1244, [0:0] -isBelowDecelThreshold = bits, U32, 1244, [1:1] -isTimeToResetAccumulator = bits, U32, 1244, [2:2] -isFractionalEnrichment = bits, U32, 1244, [3:3] -belowEpsilon = bits, U32, 1244, [4:4] -tooShort = bits, U32, 1244, [5:5] -fractionalInjFuel = scalar, F32, 1248, "", 1, 0 -accumulatedValue = scalar, F32, 1252, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1256, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1260, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1264, "", 1, 0 -cycleCnt = scalar, S32, 1268, "", 1, 0 -; total TS size = 1272 -hwEventCounters1 = scalar, U32, 1272, "", 1, 0 -hwEventCounters2 = scalar, U32, 1276, "", 1, 0 -hwEventCounters3 = scalar, U32, 1280, "", 1, 0 -hwEventCounters4 = scalar, U32, 1284, "", 1, 0 -hwEventCounters5 = scalar, U32, 1288, "", 1, 0 -hwEventCounters6 = scalar, U32, 1292, "", 1, 0 -vvtCamCounter = scalar, U32, 1296, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1300, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1304, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1308, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1309, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1312, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1316, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1320, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1324, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1328, [0:0] -triggerElapsedUs = scalar, U32, 1332, "", 1, 0 -; total TS size = 1336 -crankSynchronizationCounter0 = scalar, U32, 1336, "", 1, 0 -vvtSyncGapRatio0 = scalar, F32, 1340, "", 1, 0 -vvtToothDurations00 = scalar, U32, 1344, "us", 1, 0 -vvtCurrentPosition0 = scalar, F32, 1348, "sync: Primary Cam Position", 1, 0 -vvtToothPosition10 = scalar, F32, 1352, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition20 = scalar, F32, 1356, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition30 = scalar, F32, 1360, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition40 = scalar, F32, 1364, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio0 = scalar, F32, 1368, "", 1, 0 -triggerStateIndex0 = scalar, U08, 1372, "", 1, 0 -vvtStateIndex0 = scalar, U08, 1373, "", 1, 0 -; total TS size = 1376 -crankSynchronizationCounter1 = scalar, U32, 1376, "", 1, 0 -vvtSyncGapRatio1 = scalar, F32, 1380, "", 1, 0 -vvtToothDurations01 = scalar, U32, 1384, "us", 1, 0 -vvtCurrentPosition1 = scalar, F32, 1388, "sync: Primary Cam Position", 1, 0 -vvtToothPosition11 = scalar, F32, 1392, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition21 = scalar, F32, 1396, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition31 = scalar, F32, 1400, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition41 = scalar, F32, 1404, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio1 = scalar, F32, 1408, "", 1, 0 -triggerStateIndex1 = scalar, U08, 1412, "", 1, 0 -vvtStateIndex1 = scalar, U08, 1413, "", 1, 0 -; total TS size = 1416 -crankSynchronizationCounter2 = scalar, U32, 1416, "", 1, 0 -vvtSyncGapRatio2 = scalar, F32, 1420, "", 1, 0 -vvtToothDurations02 = scalar, U32, 1424, "us", 1, 0 -vvtCurrentPosition2 = scalar, F32, 1428, "sync: Primary Cam Position", 1, 0 -vvtToothPosition12 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition22 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition32 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition42 = scalar, F32, 1444, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio2 = scalar, F32, 1448, "", 1, 0 -triggerStateIndex2 = scalar, U08, 1452, "", 1, 0 -vvtStateIndex2 = scalar, U08, 1453, "", 1, 0 -; total TS size = 1456 -crankSynchronizationCounter3 = scalar, U32, 1456, "", 1, 0 -vvtSyncGapRatio3 = scalar, F32, 1460, "", 1, 0 -vvtToothDurations03 = scalar, U32, 1464, "us", 1, 0 -vvtCurrentPosition3 = scalar, F32, 1468, "sync: Primary Cam Position", 1, 0 -vvtToothPosition13 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition23 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition33 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition43 = scalar, F32, 1484, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio3 = scalar, F32, 1488, "", 1, 0 -triggerStateIndex3 = scalar, U08, 1492, "", 1, 0 -vvtStateIndex3 = scalar, U08, 1493, "", 1, 0 -; total TS size = 1496 -crankSynchronizationCounter4 = scalar, U32, 1496, "", 1, 0 -vvtSyncGapRatio4 = scalar, F32, 1500, "", 1, 0 -vvtToothDurations04 = scalar, U32, 1504, "us", 1, 0 -vvtCurrentPosition4 = scalar, F32, 1508, "sync: Primary Cam Position", 1, 0 -vvtToothPosition14 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition24 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition34 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition44 = scalar, F32, 1524, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio4 = scalar, F32, 1528, "", 1, 0 -triggerStateIndex4 = scalar, U08, 1532, "", 1, 0 -vvtStateIndex4 = scalar, U08, 1533, "", 1, 0 -; total TS size = 1536 -camResyncCounter = scalar, U08, 1536, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1540, [0:0] -; total TS size = 1544 -wallFuelCorrection = scalar, F32, 1544, "", 1, 0 -wallFuel = scalar, F32, 1548, "", 1, 0 -; total TS size = 1552 -idleState = bits, S32, 1552, [0:2], "not important" -currentIdlePosition = scalar, F32, 1556 -baseIdlePosition = scalar, F32, 1560 -idleClosedLoop = scalar, F32, 1564 -iacByTpsTaper = scalar, F32, 1568 -throttlePedalUpState = scalar, S32, 1572, "", 1, 0 -mightResetPid = bits, U32, 1576, [0:0] -shouldResetPid = bits, U32, 1576, [1:1] -wasResetPid = bits, U32, 1576, [2:2] -mustResetPid = bits, U32, 1576, [3:3] -isCranking = bits, U32, 1576, [4:4] -isIacTableForCoasting = bits, U32, 1576, [5:5] -notIdling = bits, U32, 1576, [6:6] -needReset = bits, U32, 1576, [7:7] -isInDeadZone = bits, U32, 1576, [8:8] -isBlipping = bits, U32, 1576, [9:9] -useClosedLoop = bits, U32, 1576, [10:10] -badTps = bits, U32, 1576, [11:11] -looksLikeRunning = bits, U32, 1576, [12:12] -looksLikeCoasting = bits, U32, 1576, [13:13] -looksLikeCrankToIdle = bits, U32, 1576, [14:14] -isIdleCoasting = bits, U32, 1576, [15:15] -isIdleClosedLoop = bits, U32, 1576, [16:16] -idleTarget = scalar, S32, 1580, "", 1, 0 -targetRpmByClt = scalar, S32, 1584, "", 1, 0 -targetRpmAc = scalar, S32, 1588, "", 1, 0 -iacByRpmTaper = scalar, F32, 1592 -luaAdd = scalar, F32, 1596 -; total TS size = 1600 -targetWithIdlePosition0 = scalar, F32, 1600, "per", 1,0 -trim0 = scalar, F32, 1604, "", 1, 0 -luaAdjustment0 = scalar, F32, 1608, "per", 1,0 -m_wastegatePosition0 = scalar, F32, 1612, "per", 1,0 -etbFeedForward0 = scalar, F32, 1616 -etbIntegralError0 = scalar, F32, 1620, "", 1, 0 -etbCurrentTarget0 = scalar, F32, 1624, "%", 1, 0 -etbCurrentAdjustedTarget0 = scalar, F32, 1628, "%", 1, 0 -etbRevLimitActive0 = bits, U32, 1632, [0:0] -jamDetected0 = bits, U32, 1632, [1:1] -etbTpsErrorCounter0 = scalar, U16, 1636, "count", 1,0 -etbPpsErrorCounter0 = scalar, U16, 1638, "count", 1,0 -etbErrorCode0 = scalar, S08, 1640, "", 1, 0 -tcEtbDrop0 = scalar, S08, 1641, "%", 1, 0 -jamTimer0 = scalar, U16, 1642, "sec", 0.01, 0 -adjustedEtbTarget0 = scalar, S08, 1644, "%", 1, 0 -; total TS size = 1648 -targetWithIdlePosition1 = scalar, F32, 1648, "per", 1,0 -trim1 = scalar, F32, 1652, "", 1, 0 -luaAdjustment1 = scalar, F32, 1656, "per", 1,0 -m_wastegatePosition1 = scalar, F32, 1660, "per", 1,0 -etbFeedForward1 = scalar, F32, 1664 -etbIntegralError1 = scalar, F32, 1668, "", 1, 0 -etbCurrentTarget1 = scalar, F32, 1672, "%", 1, 0 -etbCurrentAdjustedTarget1 = scalar, F32, 1676, "%", 1, 0 -etbRevLimitActive1 = bits, U32, 1680, [0:0] -jamDetected1 = bits, U32, 1680, [1:1] -etbTpsErrorCounter1 = scalar, U16, 1684, "count", 1,0 -etbPpsErrorCounter1 = scalar, U16, 1686, "count", 1,0 -etbErrorCode1 = scalar, S08, 1688, "", 1, 0 -tcEtbDrop1 = scalar, S08, 1689, "%", 1, 0 -jamTimer1 = scalar, U16, 1690, "sec", 0.01, 0 -adjustedEtbTarget1 = scalar, S08, 1692, "%", 1, 0 -; total TS size = 1696 -faultCode0 = scalar, U08, 1696, "", 1, 0 -heaterDuty0 = scalar, U08, 1697, "%", 1, 0 -pumpDuty0 = scalar, U08, 1698, "%", 1, 0 -tempC0 = scalar, U16, 1700, "C", 1, 0 -nernstVoltage0 = scalar, U16, 1702, "V", 0.001, 0 -esr0 = scalar, U16, 1704, "ohm", 1, 0 -; total TS size = 1708 -faultCode1 = scalar, U08, 1708, "", 1, 0 -heaterDuty1 = scalar, U08, 1709, "%", 1, 0 -pumpDuty1 = scalar, U08, 1710, "%", 1, 0 -tempC1 = scalar, U16, 1712, "C", 1, 0 -nernstVoltage1 = scalar, U16, 1714, "V", 0.001, 0 -esr1 = scalar, U16, 1716, "ohm", 1, 0 -; total TS size = 1720 -dcOutput0 = scalar, F32, 1720, "per", 1,0 -isEnabled0_int = scalar, U08, 1724, "per", 1,0 -isEnabled0 = bits, U32, 1728, [0:0] -; total TS size = 1732 -value0 = scalar, U16, 1732, "value", 1,0 -value1 = scalar, U16, 1734, "value", 1,0 -errorRate = scalar, F32, 1736, "ratio", 1,0 -; total TS size = 1740 -vvtTarget = scalar, U16, 1740, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1742, "%", 0.5, 0 -; total TS size = 1744 -lambdaCurrentlyGood = bits, U32, 1744, [0:0] -lambdaMonitorCut = bits, U32, 1744, [1:1] -lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 -; total TS size = 1752 +retardThresholdRpm = scalar, S32, 1120, "", 1, 0 +launchActivatePinState = bits, U32, 1124, [0:0] +isPreLaunchCondition = bits, U32, 1124, [1:1] +isLaunchCondition = bits, U32, 1124, [2:2] +isSwitchActivated = bits, U32, 1124, [3:3] +isClutchActivated = bits, U32, 1124, [4:4] +isBrakePedalActivated = bits, U32, 1124, [5:5] +isValidInputPin = bits, U32, 1124, [6:6] +activateSwitchCondition = bits, U32, 1124, [7:7] +rpmLaunchCondition = bits, U32, 1124, [8:8] +rpmPreLaunchCondition = bits, U32, 1124, [9:9] +speedCondition = bits, U32, 1124, [10:10] +tpsCondition = bits, U32, 1124, [11:11] +; total TS size = 1128 +isTorqueReductionTriggerPinValid = bits, U32, 1128, [0:0] +torqueReductionTriggerPinState = bits, U32, 1128, [1:1] +isTimeConditionSatisfied = bits, U32, 1128, [2:2] +isRpmConditionSatisfied = bits, U32, 1128, [3:3] +isAppConditionSatisfied = bits, U32, 1128, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1128, [5:5] +; total TS size = 1132 +isAntilagCondition = bits, U32, 1132, [0:0] +ALSMinRPMCondition = bits, U32, 1132, [1:1] +ALSMaxRPMCondition = bits, U32, 1132, [2:2] +ALSMinCLTCondition = bits, U32, 1132, [3:3] +ALSMaxCLTCondition = bits, U32, 1132, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1132, [5:5] +isALSSwitchActivated = bits, U32, 1132, [6:6] +ALSActivatePinState = bits, U32, 1132, [7:7] +ALSSwitchCondition = bits, U32, 1132, [8:8] +ALSTimerCondition = bits, U32, 1132, [9:9] +fuelALSCorrection = scalar, F32, 1136, "", 1, 0 +timingALSCorrection = scalar, S16, 1140, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1142, "deg", 0.01, 0 +; total TS size = 1144 +isTpsInvalid = bits, U32, 1144, [0:0] +m_shouldResetPid = bits, U32, 1144, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1144, [2:2] +isNotClosedLoop = bits, U32, 1144, [3:3] +isZeroRpm = bits, U32, 1144, [4:4] +hasInitBoost = bits, U32, 1144, [5:5] +rpmTooLow = bits, U32, 1144, [6:6] +tpsTooLow = bits, U32, 1144, [7:7] +mapTooLow = bits, U32, 1144, [8:8] +isPlantValid = bits, U32, 1144, [9:9] +isBoostControlled = bits, U32, 1144, [10:10] +luaTargetAdd = scalar, S16, 1148, "v", 0.5,0 +boostOutput = scalar, S16, 1150, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1152, "v", 1,0 +openLoopPart = scalar, F32, 1156, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1160, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1164, "%", 0.5,0 +boostControlTarget = scalar, S16, 1166, "kPa", 0.03333333333333333,0 +; total TS size = 1168 +acButtonState = scalar, S08, 1168, "", 1, 0 +m_acEnabled = bits, U32, 1172, [0:0] +engineTooSlow = bits, U32, 1172, [1:1] +engineTooFast = bits, U32, 1172, [2:2] +noClt = bits, U32, 1172, [3:3] +engineTooHot = bits, U32, 1172, [4:4] +tpsTooHigh = bits, U32, 1172, [5:5] +isDisabledByLua = bits, U32, 1172, [6:6] +acCompressorState = bits, U32, 1172, [7:7] +acPressureTooLow = bits, U32, 1172, [8:8] +acPressureTooHigh = bits, U32, 1172, [9:9] +; total TS size = 1176 +cranking0 = bits, U32, 1176, [0:0] +notRunning0 = bits, U32, 1176, [1:1] +disabledWhileEngineStopped0 = bits, U32, 1176, [2:2] +brokenClt0 = bits, U32, 1176, [3:3] +enabledForAc0 = bits, U32, 1176, [4:4] +hot0 = bits, U32, 1176, [5:5] +cold0 = bits, U32, 1176, [6:6] +disabledBySpeed0 = bits, U32, 1176, [7:7] +radiatorFanStatus0 = scalar, U08, 1180, "", 1, 0 +; total TS size = 1184 +cranking1 = bits, U32, 1184, [0:0] +notRunning1 = bits, U32, 1184, [1:1] +disabledWhileEngineStopped1 = bits, U32, 1184, [2:2] +brokenClt1 = bits, U32, 1184, [3:3] +enabledForAc1 = bits, U32, 1184, [4:4] +hot1 = bits, U32, 1184, [5:5] +cold1 = bits, U32, 1184, [6:6] +disabledBySpeed1 = bits, U32, 1184, [7:7] +radiatorFanStatus1 = scalar, U08, 1188, "", 1, 0 +; total TS size = 1192 +isPrime = bits, U32, 1192, [0:0] +engineTurnedRecently = bits, U32, 1192, [1:1] +isFuelPumpOn = bits, U32, 1192, [2:2] +ignitionOn = bits, U32, 1192, [3:3] +; total TS size = 1196 +isBenchTest = bits, U32, 1196, [0:0] +hasIgnitionVoltage = bits, U32, 1196, [1:1] +mainRelayState = bits, U32, 1196, [2:2] +delayedShutoffRequested = bits, U32, 1196, [3:3] +; total TS size = 1200 +lua_fuelAdd = scalar, F32, 1200, "g", 1, 0 +lua_fuelMult = scalar, F32, 1204, "", 1, 0 +lua_clutchUpState = bits, U32, 1208, [0:0] +lua_brakePedalState = bits, U32, 1208, [1:1] +lua_acRequestState = bits, U32, 1208, [2:2] +lua_luaDisableEtb = bits, U32, 1208, [3:3] +lua_luaIgnCut = bits, U32, 1208, [4:4] +lua_luaFuelCut = bits, U32, 1208, [5:5] +lua_clutchDownState = bits, U32, 1208, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1208, [7:7] +sd_tCharge = scalar, S16, 1212, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1216, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1220, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1224, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1228, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1232, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1236, "", 1, 0 +hellenBoardId = scalar, S16, 1240, "id", 1, 0 +clutchUpState = scalar, S08, 1242, "", 1, 0 +clutchDownState = scalar, S08, 1243, "", 1, 0 +brakePedalState = scalar, S08, 1244, "", 1, 0 +startStopState = scalar, S08, 1245, "", 1, 0 +smartChipState = scalar, S08, 1246, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1247, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1248, "", 1, 0 +startStopPhysicalState = bits, U32, 1252, [0:0] +acrActive = bits, U32, 1252, [1:1] +acrEngineMovedRecently = bits, U32, 1252, [2:2] +heaterControlEnabled = bits, U32, 1252, [3:3] +luaDigitalState0 = bits, U32, 1252, [4:4] +luaDigitalState1 = bits, U32, 1252, [5:5] +luaDigitalState2 = bits, U32, 1252, [6:6] +luaDigitalState3 = bits, U32, 1252, [7:7] +startStopStateToggleCounter = scalar, U32, 1256, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1260, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1264, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1268, "", 1, 0 +desiredRpmLimit = scalar, S16, 1272, "rpm", 1, 0 +fuelInjectionCounter = scalar, U32, 1276, "", 1, 0 +globalSparkCounter = scalar, U32, 1280, "", 1, 0 +fuelingLoad = scalar, F32, 1284, "", 1, 0 +ignitionLoad = scalar, F32, 1288, "", 1, 0 +veTableYAxis = scalar, U16, 1292, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1294, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1295, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1296, "", 1, 0 +; total TS size = 1300 +tpsFrom = scalar, F32, 1300 +tpsTo = scalar, F32, 1304 +deltaTps = scalar, F32, 1308 +extraFuel = scalar, F32, 1312, "", 1, 0 +valueFromTable = scalar, F32, 1316, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1320, [0:0] +isBelowDecelThreshold = bits, U32, 1320, [1:1] +isTimeToResetAccumulator = bits, U32, 1320, [2:2] +isFractionalEnrichment = bits, U32, 1320, [3:3] +belowEpsilon = bits, U32, 1320, [4:4] +tooShort = bits, U32, 1320, [5:5] +fractionalInjFuel = scalar, F32, 1324, "", 1, 0 +accumulatedValue = scalar, F32, 1328, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1332, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1336, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1340, "", 1, 0 +cycleCnt = scalar, S32, 1344, "", 1, 0 +; total TS size = 1348 +hwEventCounters1 = scalar, U32, 1348, "", 1, 0 +hwEventCounters2 = scalar, U32, 1352, "", 1, 0 +hwEventCounters3 = scalar, U32, 1356, "", 1, 0 +hwEventCounters4 = scalar, U32, 1360, "", 1, 0 +hwEventCounters5 = scalar, U32, 1364, "", 1, 0 +hwEventCounters6 = scalar, U32, 1368, "", 1, 0 +vvtCamCounter = scalar, U32, 1372, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1376, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1380, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1384, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1385, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1388, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1392, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1396, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1400, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1404, [0:0] +triggerElapsedUs = scalar, U32, 1408, "", 1, 0 +; total TS size = 1412 +crankSynchronizationCounter0 = scalar, U32, 1412, "", 1, 0 +vvtSyncGapRatio0 = scalar, F32, 1416, "", 1, 0 +vvtToothDurations00 = scalar, U32, 1420, "us", 1, 0 +vvtCurrentPosition0 = scalar, F32, 1424, "sync: Primary Cam Position", 1, 0 +vvtToothPosition10 = scalar, F32, 1428, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition20 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition30 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition40 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio0 = scalar, F32, 1444, "", 1, 0 +triggerStateIndex0 = scalar, U08, 1448, "", 1, 0 +vvtStateIndex0 = scalar, U08, 1449, "", 1, 0 +; total TS size = 1452 +crankSynchronizationCounter1 = scalar, U32, 1452, "", 1, 0 +vvtSyncGapRatio1 = scalar, F32, 1456, "", 1, 0 +vvtToothDurations01 = scalar, U32, 1460, "us", 1, 0 +vvtCurrentPosition1 = scalar, F32, 1464, "sync: Primary Cam Position", 1, 0 +vvtToothPosition11 = scalar, F32, 1468, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition21 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition31 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition41 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio1 = scalar, F32, 1484, "", 1, 0 +triggerStateIndex1 = scalar, U08, 1488, "", 1, 0 +vvtStateIndex1 = scalar, U08, 1489, "", 1, 0 +; total TS size = 1492 +crankSynchronizationCounter2 = scalar, U32, 1492, "", 1, 0 +vvtSyncGapRatio2 = scalar, F32, 1496, "", 1, 0 +vvtToothDurations02 = scalar, U32, 1500, "us", 1, 0 +vvtCurrentPosition2 = scalar, F32, 1504, "sync: Primary Cam Position", 1, 0 +vvtToothPosition12 = scalar, F32, 1508, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition22 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition32 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition42 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio2 = scalar, F32, 1524, "", 1, 0 +triggerStateIndex2 = scalar, U08, 1528, "", 1, 0 +vvtStateIndex2 = scalar, U08, 1529, "", 1, 0 +; total TS size = 1532 +crankSynchronizationCounter3 = scalar, U32, 1532, "", 1, 0 +vvtSyncGapRatio3 = scalar, F32, 1536, "", 1, 0 +vvtToothDurations03 = scalar, U32, 1540, "us", 1, 0 +vvtCurrentPosition3 = scalar, F32, 1544, "sync: Primary Cam Position", 1, 0 +vvtToothPosition13 = scalar, F32, 1548, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition23 = scalar, F32, 1552, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition33 = scalar, F32, 1556, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition43 = scalar, F32, 1560, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio3 = scalar, F32, 1564, "", 1, 0 +triggerStateIndex3 = scalar, U08, 1568, "", 1, 0 +vvtStateIndex3 = scalar, U08, 1569, "", 1, 0 +; total TS size = 1572 +crankSynchronizationCounter4 = scalar, U32, 1572, "", 1, 0 +vvtSyncGapRatio4 = scalar, F32, 1576, "", 1, 0 +vvtToothDurations04 = scalar, U32, 1580, "us", 1, 0 +vvtCurrentPosition4 = scalar, F32, 1584, "sync: Primary Cam Position", 1, 0 +vvtToothPosition14 = scalar, F32, 1588, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition24 = scalar, F32, 1592, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition34 = scalar, F32, 1596, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition44 = scalar, F32, 1600, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio4 = scalar, F32, 1604, "", 1, 0 +triggerStateIndex4 = scalar, U08, 1608, "", 1, 0 +vvtStateIndex4 = scalar, U08, 1609, "", 1, 0 +; total TS size = 1612 +camResyncCounter = scalar, U08, 1612, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1616, [0:0] +; total TS size = 1620 +wallFuelCorrection = scalar, F32, 1620, "", 1, 0 +wallFuel = scalar, F32, 1624, "", 1, 0 +; total TS size = 1628 +idleState = bits, S32, 1628, [0:2], "not important" +currentIdlePosition = scalar, F32, 1632 +baseIdlePosition = scalar, F32, 1636 +idleClosedLoop = scalar, F32, 1640 +iacByTpsTaper = scalar, F32, 1644 +throttlePedalUpState = scalar, S32, 1648, "", 1, 0 +mightResetPid = bits, U32, 1652, [0:0] +shouldResetPid = bits, U32, 1652, [1:1] +wasResetPid = bits, U32, 1652, [2:2] +mustResetPid = bits, U32, 1652, [3:3] +isCranking = bits, U32, 1652, [4:4] +isIacTableForCoasting = bits, U32, 1652, [5:5] +notIdling = bits, U32, 1652, [6:6] +needReset = bits, U32, 1652, [7:7] +isInDeadZone = bits, U32, 1652, [8:8] +isBlipping = bits, U32, 1652, [9:9] +useClosedLoop = bits, U32, 1652, [10:10] +badTps = bits, U32, 1652, [11:11] +looksLikeRunning = bits, U32, 1652, [12:12] +looksLikeCoasting = bits, U32, 1652, [13:13] +looksLikeCrankToIdle = bits, U32, 1652, [14:14] +isIdleCoasting = bits, U32, 1652, [15:15] +isIdleClosedLoop = bits, U32, 1652, [16:16] +idleTarget = scalar, S32, 1656, "", 1, 0 +targetRpmByClt = scalar, S32, 1660, "", 1, 0 +targetRpmAc = scalar, S32, 1664, "", 1, 0 +iacByRpmTaper = scalar, F32, 1668 +luaAdd = scalar, F32, 1672 +; total TS size = 1676 +targetWithIdlePosition0 = scalar, F32, 1676, "per", 1,0 +trim0 = scalar, F32, 1680, "", 1, 0 +luaAdjustment0 = scalar, F32, 1684, "per", 1,0 +m_wastegatePosition0 = scalar, F32, 1688, "per", 1,0 +etbFeedForward0 = scalar, F32, 1692 +etbIntegralError0 = scalar, F32, 1696, "", 1, 0 +etbCurrentTarget0 = scalar, F32, 1700, "%", 1, 0 +etbCurrentAdjustedTarget0 = scalar, F32, 1704, "%", 1, 0 +etbRevLimitActive0 = bits, U32, 1708, [0:0] +jamDetected0 = bits, U32, 1708, [1:1] +etbTpsErrorCounter0 = scalar, U16, 1712, "count", 1,0 +etbPpsErrorCounter0 = scalar, U16, 1714, "count", 1,0 +etbErrorCode0 = scalar, S08, 1716, "", 1, 0 +tcEtbDrop0 = scalar, S08, 1717, "%", 1, 0 +jamTimer0 = scalar, U16, 1718, "sec", 0.01, 0 +adjustedEtbTarget0 = scalar, S08, 1720, "%", 1, 0 +; total TS size = 1724 +targetWithIdlePosition1 = scalar, F32, 1724, "per", 1,0 +trim1 = scalar, F32, 1728, "", 1, 0 +luaAdjustment1 = scalar, F32, 1732, "per", 1,0 +m_wastegatePosition1 = scalar, F32, 1736, "per", 1,0 +etbFeedForward1 = scalar, F32, 1740 +etbIntegralError1 = scalar, F32, 1744, "", 1, 0 +etbCurrentTarget1 = scalar, F32, 1748, "%", 1, 0 +etbCurrentAdjustedTarget1 = scalar, F32, 1752, "%", 1, 0 +etbRevLimitActive1 = bits, U32, 1756, [0:0] +jamDetected1 = bits, U32, 1756, [1:1] +etbTpsErrorCounter1 = scalar, U16, 1760, "count", 1,0 +etbPpsErrorCounter1 = scalar, U16, 1762, "count", 1,0 +etbErrorCode1 = scalar, S08, 1764, "", 1, 0 +tcEtbDrop1 = scalar, S08, 1765, "%", 1, 0 +jamTimer1 = scalar, U16, 1766, "sec", 0.01, 0 +adjustedEtbTarget1 = scalar, S08, 1768, "%", 1, 0 +; total TS size = 1772 +faultCode0 = scalar, U08, 1772, "", 1, 0 +heaterDuty0 = scalar, U08, 1773, "%", 1, 0 +pumpDuty0 = scalar, U08, 1774, "%", 1, 0 +tempC0 = scalar, U16, 1776, "C", 1, 0 +nernstVoltage0 = scalar, U16, 1778, "V", 0.001, 0 +esr0 = scalar, U16, 1780, "ohm", 1, 0 +; total TS size = 1784 +faultCode1 = scalar, U08, 1784, "", 1, 0 +heaterDuty1 = scalar, U08, 1785, "%", 1, 0 +pumpDuty1 = scalar, U08, 1786, "%", 1, 0 +tempC1 = scalar, U16, 1788, "C", 1, 0 +nernstVoltage1 = scalar, U16, 1790, "V", 0.001, 0 +esr1 = scalar, U16, 1792, "ohm", 1, 0 +; total TS size = 1796 +dcOutput0 = scalar, F32, 1796, "per", 1,0 +isEnabled0_int = scalar, U08, 1800, "per", 1,0 +isEnabled0 = bits, U32, 1804, [0:0] +; total TS size = 1808 +value0 = scalar, U16, 1808, "value", 1,0 +value1 = scalar, U16, 1810, "value", 1,0 +errorRate = scalar, F32, 1812, "ratio", 1,0 +; total TS size = 1816 +vvtTarget = scalar, U16, 1816, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1818, "%", 0.5, 0 +; total TS size = 1820 +lambdaCurrentlyGood = bits, U32, 1820, [0:0] +lambdaMonitorCut = bits, U32, 1820, [1:1] +lambdaTimeSinceGood = scalar, U16, 1824, "sec", 0.01, 0 +; total TS size = 1828 time = { timeNow } @@ -3616,6 +3648,7 @@ lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs8 requiresPowerCycle = cylinderBore + requiresPowerCycle = knockFrequency readOnly = warning_message readOnly = device_uid1 @@ -5029,6 +5062,26 @@ gaugeCategory = Knock knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knockSpectrumChannelCylGauge = m_knockSpectrumChannelCyl, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStartGauge = m_knockFrequencyStart, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStepGauge = m_knockFrequencyStep, "Knock Frequency Step", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFuelTrimMultiplier = m_knockFuelTrimMultiplier, "Knock Fuel Trim", "mult", 0, 0, 0, 0, 0, 30, 1, 1 + knockSpectrum1 = m_knockSpectrum1, "Knock Spectrum1", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum2 = m_knockSpectrum2, "knockSpectrum2", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum3 = m_knockSpectrum3, "knockSpectrum3", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum4 = m_knockSpectrum4, "knockSpectrum4", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum5 = m_knockSpectrum5, "knockSpectrum5", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum6 = m_knockSpectrum6, "knockSpectrum6", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum7 = m_knockSpectrum7, "knockSpectrum7", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum8 = m_knockSpectrum8, "knockSpectrum8", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum9 = m_knockSpectrum9, "knockSpectrum9", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum10 = m_knockSpectrum10, "knockSpectrum10", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum11 = m_knockSpectrum11, "knockSpectrum11", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum12 = m_knockSpectrum12, "knockSpectrum12", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum13 = m_knockSpectrum13, "knockSpectrum13", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum14 = m_knockSpectrum14, "knockSpectrum14", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum15 = m_knockSpectrum15, "knockSpectrum15", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum16 = m_knockSpectrum16, "knockSpectrum16", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -5629,6 +5682,26 @@ entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" entry = m_knockCount, "Knock: Count", int, "%d" entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_knockFrequency, "knock: frequency", int, "%d" +entry = m_knockSpectrum1, "Knock: SpectrumData 1", int, "%d" +entry = m_knockSpectrum2, "Knock: SpectrumData 2", int, "%d" +entry = m_knockSpectrum3, "Knock: SpectrumData 3", int, "%d" +entry = m_knockSpectrum4, "Knock: SpectrumData 4", int, "%d" +entry = m_knockSpectrum5, "Knock: SpectrumData 5", int, "%d" +entry = m_knockSpectrum6, "Knock: SpectrumData 6", int, "%d" +entry = m_knockSpectrum7, "Knock: SpectrumData 7", int, "%d" +entry = m_knockSpectrum8, "Knock: SpectrumData 8", int, "%d" +entry = m_knockSpectrum9, "Knock: SpectrumData 9", int, "%d" +entry = m_knockSpectrum10, "Knock: SpectrumData 10", int, "%d" +entry = m_knockSpectrum11, "Knock: SpectrumData 11", int, "%d" +entry = m_knockSpectrum12, "Knock: SpectrumData 12", int, "%d" +entry = m_knockSpectrum13, "Knock: SpectrumData 13", int, "%d" +entry = m_knockSpectrum14, "Knock: SpectrumData 14", int, "%d" +entry = m_knockSpectrum15, "Knock: SpectrumData 15", int, "%d" +entry = m_knockSpectrum16, "Knock: SpectrumData 16", int, "%d" +entry = m_knockSpectrumChannelCyl, "Knock: ChannelAndCylNumber", int, "%d" +entry = m_knockFrequencyStart, "Knock: Start Freq", int, "%d" +entry = m_knockFrequencyStep, "Knock: Step Freq", float, "%.3f" +entry = m_knockFuelTrimMultiplier, "Knock: Fuel trim when knock", float, "%.3f" entry = tcuCurrentGear, "TCU: Current Gear", int, "%d" entry = tcRatio, "TCU: Torque Converter Ratio", float, "%.3f" entry = lastShiftTime, "lastShiftTime", float, "%.3f" @@ -6543,6 +6616,31 @@ dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard graphLine = m_knockFrequency + graphLine = m_knockSpectrum1 + graphLine = m_knockSpectrum2 + liveGraph = knock_controller_6_Graph, "Graph", South + graphLine = m_knockSpectrum3 + graphLine = m_knockSpectrum4 + graphLine = m_knockSpectrum5 + graphLine = m_knockSpectrum6 + liveGraph = knock_controller_7_Graph, "Graph", South + graphLine = m_knockSpectrum7 + graphLine = m_knockSpectrum8 + graphLine = m_knockSpectrum9 + graphLine = m_knockSpectrum10 + liveGraph = knock_controller_8_Graph, "Graph", South + graphLine = m_knockSpectrum11 + graphLine = m_knockSpectrum12 + graphLine = m_knockSpectrum13 + graphLine = m_knockSpectrum14 + liveGraph = knock_controller_9_Graph, "Graph", South + graphLine = m_knockSpectrum15 + graphLine = m_knockSpectrum16 + graphLine = m_knockSpectrumChannelCyl + graphLine = m_knockFrequencyStart + liveGraph = knock_controller_10_Graph, "Graph", South + graphLine = m_knockFrequencyStep + graphLine = m_knockFuelTrimMultiplier indicatorPanel = tcu_controllerIndicatorPanel, 2 indicator = {isShifting}, "isShifting No", "isShifting Yes" @@ -8583,9 +8681,13 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockCfg, "Sense" field = "Enable", enableSoftwareKnock field = "Cylinder Bore", cylinderBore, {enableSoftwareKnock} + field = "Estimated Knock Frequency",knockFrequency, {enableSoftwareKnock} field = "Detection mode", knockDetectionUseDoubleFrequency field = "Detection Window Start",knockDetectionWindowStart, {enableSoftwareKnock} field = "Sampling Duration", knockSamplingDuration, {enableSoftwareKnock} + field = "Enable Knock Spectrogram", enableKnockSpectrogram, {enableSoftwareKnock} + field = "Enable Knock Spectrogram Filter", enableKnockSpectrogramFilter, {enableKnockSpectrogram} + field = "Knock Spectrum Sensitivity", knockSpectrumSensitivity, {enableKnockSpectrogram} field = "" field = "Select the nearest sensor for each cylinder" @@ -8601,6 +8703,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockResponseCfg, "Response" field = knockRetardAggression, knockRetardAggression field = knockRetardReapplyRate, knockRetardReapplyRate + field = knockFuelTrimAggression, knockFuelTrimAggression + field = knockFuelTrimReapplyRate, knockFuelTrimReapplyRate + field = knockFuelTrim, knockFuelTrim + field = knockSuppressMinTps, knockSuppressMinTps dialog = softwareKnockLeft, "" panel = softwareKnockCfg diff --git a/firmware/tunerstudio/generated/rusefi_mre_f4.ini b/firmware/tunerstudio/generated/rusefi_mre_f4.ini index 6e085ca4e4..537927081e 100644 --- a/firmware/tunerstudio/generated/rusefi_mre_f4.ini +++ b/firmware/tunerstudio/generated/rusefi_mre_f4.ini @@ -38,12 +38,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.10.21.mre_f4.3945640004" + signature = "rusEFI master.2024.10.21.mre_f4.923134651" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.10.21.mre_f4.3945640004" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.10.21.mre_f4.923134651" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -774,6 +774,7 @@ devBit7 = bits, U32, 1492, [27:27], "false", "true" unusedSkipWasHere = bits, U32, 1492, [28:28], "false", "true" invertExhaustCamVVTSignal = bits, U32, 1492, [29:29], "Rising", "Falling" enableKnockSpectrogram = bits, U32, 1492, [30:30], "false", "true" +enableKnockSpectrogramFilter = bits, U32, 1492, [31:31], "false", "true" afterCrankingIACtaperDuration = scalar, S16, 1496, "cycles", 1, 0, 0, 5000, 0 iacByTpsTaper = scalar, S16, 1498, "percent", 1, 0, 0, 500, 0 unusedAuxSeria = bits, U16, 1500, [0:8], $gpio_list @@ -1394,7 +1395,13 @@ auxLinear4_v1 = scalar, F32, 3880, "volts", 1, 0, 0, 10, 2 auxLinear4_value1 = scalar, F32, 3884, "", 1, 0, -100000, 1000000, 2 auxLinear4_v2 = scalar, F32, 3888, "volts", 1, 0, 0, 10, 2 auxLinear4_value2 = scalar, F32, 3892, "", 1, 0, -100000, 1000000, 2 -unusedOftenChangesDuringFirmwareUpdate = array, U08, 3896, [128], "units", 1, 0, 0, 1, 0 +knockSuppressMinTps = scalar, U08, 3896, "%", 1, 0, 0, 100, 1 +knockFuelTrimAggression = scalar, U08, 3897, "%", 0.1, 0, 0, 20, 1 +knockFuelTrimReapplyRate = scalar, U08, 3898, "deg/s", 0.1, 0, 0, 10, 1 +knockFuelTrim = scalar, U08, 3899, "%", 1, 0, 0, 30, 1 +knockSpectrumSensitivity = scalar, F32, 3900, "sense", 1, 0, 0, 1, 2 +knockFrequency = scalar, F32, 3904, "Hz", 1, 0, 0, 20000, 2 +unusedOftenChangesDuringFirmwareUpdate = array, U08, 3908, [116], "units", 1, 0, 0, 1, 0 postCrankingFactor = array, F32, 4024, [6x6], "mult", 1, 0, 1, 3, 2 postCrankingDurationBins = array, F32, 4168, [6], "count", 1, 0, 0, 1000, 0 postCrankingCLTBins = array, S16, 4192, [6], "C", 1, 0, -100, 250, 0 @@ -2448,6 +2455,11 @@ minimumOilPressureValues = array, U08, 24960, [8], "kPa", 10.0, 0, 0, 1000, 0 minAcPressure = "value of A/C pressure in kPa before that compressor is disengaged" maxAcPressure = "value of A/C pressure in kPa after that compressor is disengaged" minimumOilPressureTimeout = "Delay before cutting fuel due to low oil pressure. Use this to ignore short pressure blips and sensor noise." + knockSuppressMinTps = "Below TPS value all knock suppression will be disabled." + knockFuelTrimAggression = "Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump)," + knockFuelTrimReapplyRate = "After a knock event, reapply fuel at this rate." + knockFuelTrim = "Fuel trim when knock, max 30%" + knockFrequency = "Estimated knock frequency, ignore cylinderBore if this one > 0" etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, open loop component of PID closed loop control" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2560,7 +2572,7 @@ minimumOilPressureValues = array, U08, 24960, [8], "kPa", 10.0, 0, 0, 1000, 0 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1752 + ochBlockSize = 1828 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3101,370 +3113,390 @@ m_knockThreshold = scalar, F32, 960, "", 1, 0 m_knockCount = scalar, U32, 964, "", 1, 0 m_maximumRetard = scalar, F32, 968, "", 1, 0 m_knockFrequency = scalar, U32, 972, "Hz", 1, 0 -; total TS size = 976 -tcuCurrentGear = scalar, S08, 976, "gear", 1, 0 -tcRatio = scalar, U16, 978, "value", 0.01, 0 -lastShiftTime = scalar, F32, 980, "", 1, 0 -tcu_currentRange = scalar, U08, 984, "", 1, 0 -pressureControlDuty = scalar, S08, 985, "%", 1,0 -torqueConverterDuty = scalar, S08, 986, "%", 1,0 -isShifting = bits, U32, 988, [0:0] -; total TS size = 992 -throttleUseWotModel = bits, U32, 992, [0:0] -throttleModelCrossoverAngle = scalar, S16, 996, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1000, "g/s", 1, 0 -; total TS size = 1004 -m_requested_pump = scalar, F32, 1004, "", 1, 0 -fuel_requested_percent = scalar, F32, 1008, "", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1012, "", 1, 0 -noValve = bits, U32, 1016, [0:0] -angleAboveMin = bits, U32, 1016, [1:1] -isHpfpInactive = bits, U32, 1016, [2:2] -m_pressureTarget_kPa = scalar, F32, 1020, "", 1, 0 -nextLobe = scalar, F32, 1024, "", 1, 0 -di_nextStart = scalar, F32, 1028, "v", 1, 0 -; total TS size = 1032 -m_deadtime = scalar, F32, 1032, "ms", 1, 0 -pressureDelta = scalar, F32, 1036, "kPa", 1, 0 -pressureRatio = scalar, F32, 1040, "", 1, 0 -; total TS size = 1044 -retardThresholdRpm = scalar, S32, 1044, "", 1, 0 -launchActivatePinState = bits, U32, 1048, [0:0] -isPreLaunchCondition = bits, U32, 1048, [1:1] -isLaunchCondition = bits, U32, 1048, [2:2] -isSwitchActivated = bits, U32, 1048, [3:3] -isClutchActivated = bits, U32, 1048, [4:4] -isBrakePedalActivated = bits, U32, 1048, [5:5] -isValidInputPin = bits, U32, 1048, [6:6] -activateSwitchCondition = bits, U32, 1048, [7:7] -rpmLaunchCondition = bits, U32, 1048, [8:8] -rpmPreLaunchCondition = bits, U32, 1048, [9:9] -speedCondition = bits, U32, 1048, [10:10] -tpsCondition = bits, U32, 1048, [11:11] +m_knockSpectrum1 = scalar, U32, 976, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 980, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 984, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 988, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1040, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1042, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1044, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1048, "multiplier", 1, 0 ; total TS size = 1052 -isTorqueReductionTriggerPinValid = bits, U32, 1052, [0:0] -torqueReductionTriggerPinState = bits, U32, 1052, [1:1] -isTimeConditionSatisfied = bits, U32, 1052, [2:2] -isRpmConditionSatisfied = bits, U32, 1052, [3:3] -isAppConditionSatisfied = bits, U32, 1052, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1052, [5:5] -; total TS size = 1056 -isAntilagCondition = bits, U32, 1056, [0:0] -ALSMinRPMCondition = bits, U32, 1056, [1:1] -ALSMaxRPMCondition = bits, U32, 1056, [2:2] -ALSMinCLTCondition = bits, U32, 1056, [3:3] -ALSMaxCLTCondition = bits, U32, 1056, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1056, [5:5] -isALSSwitchActivated = bits, U32, 1056, [6:6] -ALSActivatePinState = bits, U32, 1056, [7:7] -ALSSwitchCondition = bits, U32, 1056, [8:8] -ALSTimerCondition = bits, U32, 1056, [9:9] -fuelALSCorrection = scalar, F32, 1060, "", 1, 0 -timingALSCorrection = scalar, S16, 1064, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1066, "deg", 0.01, 0 +tcuCurrentGear = scalar, S08, 1052, "gear", 1, 0 +tcRatio = scalar, U16, 1054, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1056, "", 1, 0 +tcu_currentRange = scalar, U08, 1060, "", 1, 0 +pressureControlDuty = scalar, S08, 1061, "%", 1,0 +torqueConverterDuty = scalar, S08, 1062, "%", 1,0 +isShifting = bits, U32, 1064, [0:0] ; total TS size = 1068 -isTpsInvalid = bits, U32, 1068, [0:0] -m_shouldResetPid = bits, U32, 1068, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1068, [2:2] -isNotClosedLoop = bits, U32, 1068, [3:3] -isZeroRpm = bits, U32, 1068, [4:4] -hasInitBoost = bits, U32, 1068, [5:5] -rpmTooLow = bits, U32, 1068, [6:6] -tpsTooLow = bits, U32, 1068, [7:7] -mapTooLow = bits, U32, 1068, [8:8] -isPlantValid = bits, U32, 1068, [9:9] -isBoostControlled = bits, U32, 1068, [10:10] -luaTargetAdd = scalar, S16, 1072, "v", 0.5,0 -boostOutput = scalar, S16, 1074, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1076, "v", 1,0 -openLoopPart = scalar, F32, 1080, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1084, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1088, "%", 0.5,0 -boostControlTarget = scalar, S16, 1090, "kPa", 0.03333333333333333,0 -; total TS size = 1092 -acButtonState = scalar, S08, 1092, "", 1, 0 -m_acEnabled = bits, U32, 1096, [0:0] -engineTooSlow = bits, U32, 1096, [1:1] -engineTooFast = bits, U32, 1096, [2:2] -noClt = bits, U32, 1096, [3:3] -engineTooHot = bits, U32, 1096, [4:4] -tpsTooHigh = bits, U32, 1096, [5:5] -isDisabledByLua = bits, U32, 1096, [6:6] -acCompressorState = bits, U32, 1096, [7:7] -acPressureTooLow = bits, U32, 1096, [8:8] -acPressureTooHigh = bits, U32, 1096, [9:9] -; total TS size = 1100 -cranking0 = bits, U32, 1100, [0:0] -notRunning0 = bits, U32, 1100, [1:1] -disabledWhileEngineStopped0 = bits, U32, 1100, [2:2] -brokenClt0 = bits, U32, 1100, [3:3] -enabledForAc0 = bits, U32, 1100, [4:4] -hot0 = bits, U32, 1100, [5:5] -cold0 = bits, U32, 1100, [6:6] -disabledBySpeed0 = bits, U32, 1100, [7:7] -radiatorFanStatus0 = scalar, U08, 1104, "", 1, 0 +throttleUseWotModel = bits, U32, 1068, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1072, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1076, "g/s", 1, 0 +; total TS size = 1080 +m_requested_pump = scalar, F32, 1080, "", 1, 0 +fuel_requested_percent = scalar, F32, 1084, "", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1088, "", 1, 0 +noValve = bits, U32, 1092, [0:0] +angleAboveMin = bits, U32, 1092, [1:1] +isHpfpInactive = bits, U32, 1092, [2:2] +m_pressureTarget_kPa = scalar, F32, 1096, "", 1, 0 +nextLobe = scalar, F32, 1100, "", 1, 0 +di_nextStart = scalar, F32, 1104, "v", 1, 0 ; total TS size = 1108 -cranking1 = bits, U32, 1108, [0:0] -notRunning1 = bits, U32, 1108, [1:1] -disabledWhileEngineStopped1 = bits, U32, 1108, [2:2] -brokenClt1 = bits, U32, 1108, [3:3] -enabledForAc1 = bits, U32, 1108, [4:4] -hot1 = bits, U32, 1108, [5:5] -cold1 = bits, U32, 1108, [6:6] -disabledBySpeed1 = bits, U32, 1108, [7:7] -radiatorFanStatus1 = scalar, U08, 1112, "", 1, 0 -; total TS size = 1116 -isPrime = bits, U32, 1116, [0:0] -engineTurnedRecently = bits, U32, 1116, [1:1] -isFuelPumpOn = bits, U32, 1116, [2:2] -ignitionOn = bits, U32, 1116, [3:3] +m_deadtime = scalar, F32, 1108, "ms", 1, 0 +pressureDelta = scalar, F32, 1112, "kPa", 1, 0 +pressureRatio = scalar, F32, 1116, "", 1, 0 ; total TS size = 1120 -isBenchTest = bits, U32, 1120, [0:0] -hasIgnitionVoltage = bits, U32, 1120, [1:1] -mainRelayState = bits, U32, 1120, [2:2] -delayedShutoffRequested = bits, U32, 1120, [3:3] -; total TS size = 1124 -lua_fuelAdd = scalar, F32, 1124, "g", 1, 0 -lua_fuelMult = scalar, F32, 1128, "", 1, 0 -lua_clutchUpState = bits, U32, 1132, [0:0] -lua_brakePedalState = bits, U32, 1132, [1:1] -lua_acRequestState = bits, U32, 1132, [2:2] -lua_luaDisableEtb = bits, U32, 1132, [3:3] -lua_luaIgnCut = bits, U32, 1132, [4:4] -lua_luaFuelCut = bits, U32, 1132, [5:5] -lua_clutchDownState = bits, U32, 1132, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1132, [7:7] -sd_tCharge = scalar, S16, 1136, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1140, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1144, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1148, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1152, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1156, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1160, "", 1, 0 -hellenBoardId = scalar, S16, 1164, "id", 1, 0 -clutchUpState = scalar, S08, 1166, "", 1, 0 -clutchDownState = scalar, S08, 1167, "", 1, 0 -brakePedalState = scalar, S08, 1168, "", 1, 0 -startStopState = scalar, S08, 1169, "", 1, 0 -smartChipState = scalar, S08, 1170, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1171, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1172, "", 1, 0 -startStopPhysicalState = bits, U32, 1176, [0:0] -acrActive = bits, U32, 1176, [1:1] -acrEngineMovedRecently = bits, U32, 1176, [2:2] -heaterControlEnabled = bits, U32, 1176, [3:3] -luaDigitalState0 = bits, U32, 1176, [4:4] -luaDigitalState1 = bits, U32, 1176, [5:5] -luaDigitalState2 = bits, U32, 1176, [6:6] -luaDigitalState3 = bits, U32, 1176, [7:7] -startStopStateToggleCounter = scalar, U32, 1180, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1184, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1188, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1192, "", 1, 0 -desiredRpmLimit = scalar, S16, 1196, "rpm", 1, 0 -fuelInjectionCounter = scalar, U32, 1200, "", 1, 0 -globalSparkCounter = scalar, U32, 1204, "", 1, 0 -fuelingLoad = scalar, F32, 1208, "", 1, 0 -ignitionLoad = scalar, F32, 1212, "", 1, 0 -veTableYAxis = scalar, U16, 1216, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1218, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1219, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1220, "", 1, 0 -; total TS size = 1224 -tpsFrom = scalar, F32, 1224 -tpsTo = scalar, F32, 1228 -deltaTps = scalar, F32, 1232 -extraFuel = scalar, F32, 1236, "", 1, 0 -valueFromTable = scalar, F32, 1240, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1244, [0:0] -isBelowDecelThreshold = bits, U32, 1244, [1:1] -isTimeToResetAccumulator = bits, U32, 1244, [2:2] -isFractionalEnrichment = bits, U32, 1244, [3:3] -belowEpsilon = bits, U32, 1244, [4:4] -tooShort = bits, U32, 1244, [5:5] -fractionalInjFuel = scalar, F32, 1248, "", 1, 0 -accumulatedValue = scalar, F32, 1252, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1256, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1260, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1264, "", 1, 0 -cycleCnt = scalar, S32, 1268, "", 1, 0 -; total TS size = 1272 -hwEventCounters1 = scalar, U32, 1272, "", 1, 0 -hwEventCounters2 = scalar, U32, 1276, "", 1, 0 -hwEventCounters3 = scalar, U32, 1280, "", 1, 0 -hwEventCounters4 = scalar, U32, 1284, "", 1, 0 -hwEventCounters5 = scalar, U32, 1288, "", 1, 0 -hwEventCounters6 = scalar, U32, 1292, "", 1, 0 -vvtCamCounter = scalar, U32, 1296, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1300, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1304, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1308, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1309, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1312, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1316, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1320, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1324, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1328, [0:0] -triggerElapsedUs = scalar, U32, 1332, "", 1, 0 -; total TS size = 1336 -crankSynchronizationCounter0 = scalar, U32, 1336, "", 1, 0 -vvtSyncGapRatio0 = scalar, F32, 1340, "", 1, 0 -vvtToothDurations00 = scalar, U32, 1344, "us", 1, 0 -vvtCurrentPosition0 = scalar, F32, 1348, "sync: Primary Cam Position", 1, 0 -vvtToothPosition10 = scalar, F32, 1352, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition20 = scalar, F32, 1356, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition30 = scalar, F32, 1360, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition40 = scalar, F32, 1364, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio0 = scalar, F32, 1368, "", 1, 0 -triggerStateIndex0 = scalar, U08, 1372, "", 1, 0 -vvtStateIndex0 = scalar, U08, 1373, "", 1, 0 -; total TS size = 1376 -crankSynchronizationCounter1 = scalar, U32, 1376, "", 1, 0 -vvtSyncGapRatio1 = scalar, F32, 1380, "", 1, 0 -vvtToothDurations01 = scalar, U32, 1384, "us", 1, 0 -vvtCurrentPosition1 = scalar, F32, 1388, "sync: Primary Cam Position", 1, 0 -vvtToothPosition11 = scalar, F32, 1392, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition21 = scalar, F32, 1396, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition31 = scalar, F32, 1400, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition41 = scalar, F32, 1404, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio1 = scalar, F32, 1408, "", 1, 0 -triggerStateIndex1 = scalar, U08, 1412, "", 1, 0 -vvtStateIndex1 = scalar, U08, 1413, "", 1, 0 -; total TS size = 1416 -crankSynchronizationCounter2 = scalar, U32, 1416, "", 1, 0 -vvtSyncGapRatio2 = scalar, F32, 1420, "", 1, 0 -vvtToothDurations02 = scalar, U32, 1424, "us", 1, 0 -vvtCurrentPosition2 = scalar, F32, 1428, "sync: Primary Cam Position", 1, 0 -vvtToothPosition12 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition22 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition32 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition42 = scalar, F32, 1444, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio2 = scalar, F32, 1448, "", 1, 0 -triggerStateIndex2 = scalar, U08, 1452, "", 1, 0 -vvtStateIndex2 = scalar, U08, 1453, "", 1, 0 -; total TS size = 1456 -crankSynchronizationCounter3 = scalar, U32, 1456, "", 1, 0 -vvtSyncGapRatio3 = scalar, F32, 1460, "", 1, 0 -vvtToothDurations03 = scalar, U32, 1464, "us", 1, 0 -vvtCurrentPosition3 = scalar, F32, 1468, "sync: Primary Cam Position", 1, 0 -vvtToothPosition13 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition23 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition33 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition43 = scalar, F32, 1484, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio3 = scalar, F32, 1488, "", 1, 0 -triggerStateIndex3 = scalar, U08, 1492, "", 1, 0 -vvtStateIndex3 = scalar, U08, 1493, "", 1, 0 -; total TS size = 1496 -crankSynchronizationCounter4 = scalar, U32, 1496, "", 1, 0 -vvtSyncGapRatio4 = scalar, F32, 1500, "", 1, 0 -vvtToothDurations04 = scalar, U32, 1504, "us", 1, 0 -vvtCurrentPosition4 = scalar, F32, 1508, "sync: Primary Cam Position", 1, 0 -vvtToothPosition14 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition24 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition34 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition44 = scalar, F32, 1524, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio4 = scalar, F32, 1528, "", 1, 0 -triggerStateIndex4 = scalar, U08, 1532, "", 1, 0 -vvtStateIndex4 = scalar, U08, 1533, "", 1, 0 -; total TS size = 1536 -camResyncCounter = scalar, U08, 1536, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1540, [0:0] -; total TS size = 1544 -wallFuelCorrection = scalar, F32, 1544, "", 1, 0 -wallFuel = scalar, F32, 1548, "", 1, 0 -; total TS size = 1552 -idleState = bits, S32, 1552, [0:2], "not important" -currentIdlePosition = scalar, F32, 1556 -baseIdlePosition = scalar, F32, 1560 -idleClosedLoop = scalar, F32, 1564 -iacByTpsTaper = scalar, F32, 1568 -throttlePedalUpState = scalar, S32, 1572, "", 1, 0 -mightResetPid = bits, U32, 1576, [0:0] -shouldResetPid = bits, U32, 1576, [1:1] -wasResetPid = bits, U32, 1576, [2:2] -mustResetPid = bits, U32, 1576, [3:3] -isCranking = bits, U32, 1576, [4:4] -isIacTableForCoasting = bits, U32, 1576, [5:5] -notIdling = bits, U32, 1576, [6:6] -needReset = bits, U32, 1576, [7:7] -isInDeadZone = bits, U32, 1576, [8:8] -isBlipping = bits, U32, 1576, [9:9] -useClosedLoop = bits, U32, 1576, [10:10] -badTps = bits, U32, 1576, [11:11] -looksLikeRunning = bits, U32, 1576, [12:12] -looksLikeCoasting = bits, U32, 1576, [13:13] -looksLikeCrankToIdle = bits, U32, 1576, [14:14] -isIdleCoasting = bits, U32, 1576, [15:15] -isIdleClosedLoop = bits, U32, 1576, [16:16] -idleTarget = scalar, S32, 1580, "", 1, 0 -targetRpmByClt = scalar, S32, 1584, "", 1, 0 -targetRpmAc = scalar, S32, 1588, "", 1, 0 -iacByRpmTaper = scalar, F32, 1592 -luaAdd = scalar, F32, 1596 -; total TS size = 1600 -targetWithIdlePosition0 = scalar, F32, 1600, "per", 1,0 -trim0 = scalar, F32, 1604, "", 1, 0 -luaAdjustment0 = scalar, F32, 1608, "per", 1,0 -m_wastegatePosition0 = scalar, F32, 1612, "per", 1,0 -etbFeedForward0 = scalar, F32, 1616 -etbIntegralError0 = scalar, F32, 1620, "", 1, 0 -etbCurrentTarget0 = scalar, F32, 1624, "%", 1, 0 -etbCurrentAdjustedTarget0 = scalar, F32, 1628, "%", 1, 0 -etbRevLimitActive0 = bits, U32, 1632, [0:0] -jamDetected0 = bits, U32, 1632, [1:1] -etbTpsErrorCounter0 = scalar, U16, 1636, "count", 1,0 -etbPpsErrorCounter0 = scalar, U16, 1638, "count", 1,0 -etbErrorCode0 = scalar, S08, 1640, "", 1, 0 -tcEtbDrop0 = scalar, S08, 1641, "%", 1, 0 -jamTimer0 = scalar, U16, 1642, "sec", 0.01, 0 -adjustedEtbTarget0 = scalar, S08, 1644, "%", 1, 0 -; total TS size = 1648 -targetWithIdlePosition1 = scalar, F32, 1648, "per", 1,0 -trim1 = scalar, F32, 1652, "", 1, 0 -luaAdjustment1 = scalar, F32, 1656, "per", 1,0 -m_wastegatePosition1 = scalar, F32, 1660, "per", 1,0 -etbFeedForward1 = scalar, F32, 1664 -etbIntegralError1 = scalar, F32, 1668, "", 1, 0 -etbCurrentTarget1 = scalar, F32, 1672, "%", 1, 0 -etbCurrentAdjustedTarget1 = scalar, F32, 1676, "%", 1, 0 -etbRevLimitActive1 = bits, U32, 1680, [0:0] -jamDetected1 = bits, U32, 1680, [1:1] -etbTpsErrorCounter1 = scalar, U16, 1684, "count", 1,0 -etbPpsErrorCounter1 = scalar, U16, 1686, "count", 1,0 -etbErrorCode1 = scalar, S08, 1688, "", 1, 0 -tcEtbDrop1 = scalar, S08, 1689, "%", 1, 0 -jamTimer1 = scalar, U16, 1690, "sec", 0.01, 0 -adjustedEtbTarget1 = scalar, S08, 1692, "%", 1, 0 -; total TS size = 1696 -faultCode0 = scalar, U08, 1696, "", 1, 0 -heaterDuty0 = scalar, U08, 1697, "%", 1, 0 -pumpDuty0 = scalar, U08, 1698, "%", 1, 0 -tempC0 = scalar, U16, 1700, "C", 1, 0 -nernstVoltage0 = scalar, U16, 1702, "V", 0.001, 0 -esr0 = scalar, U16, 1704, "ohm", 1, 0 -; total TS size = 1708 -faultCode1 = scalar, U08, 1708, "", 1, 0 -heaterDuty1 = scalar, U08, 1709, "%", 1, 0 -pumpDuty1 = scalar, U08, 1710, "%", 1, 0 -tempC1 = scalar, U16, 1712, "C", 1, 0 -nernstVoltage1 = scalar, U16, 1714, "V", 0.001, 0 -esr1 = scalar, U16, 1716, "ohm", 1, 0 -; total TS size = 1720 -dcOutput0 = scalar, F32, 1720, "per", 1,0 -isEnabled0_int = scalar, U08, 1724, "per", 1,0 -isEnabled0 = bits, U32, 1728, [0:0] -; total TS size = 1732 -value0 = scalar, U16, 1732, "value", 1,0 -value1 = scalar, U16, 1734, "value", 1,0 -errorRate = scalar, F32, 1736, "ratio", 1,0 -; total TS size = 1740 -vvtTarget = scalar, U16, 1740, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1742, "%", 0.5, 0 -; total TS size = 1744 -lambdaCurrentlyGood = bits, U32, 1744, [0:0] -lambdaMonitorCut = bits, U32, 1744, [1:1] -lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 -; total TS size = 1752 +retardThresholdRpm = scalar, S32, 1120, "", 1, 0 +launchActivatePinState = bits, U32, 1124, [0:0] +isPreLaunchCondition = bits, U32, 1124, [1:1] +isLaunchCondition = bits, U32, 1124, [2:2] +isSwitchActivated = bits, U32, 1124, [3:3] +isClutchActivated = bits, U32, 1124, [4:4] +isBrakePedalActivated = bits, U32, 1124, [5:5] +isValidInputPin = bits, U32, 1124, [6:6] +activateSwitchCondition = bits, U32, 1124, [7:7] +rpmLaunchCondition = bits, U32, 1124, [8:8] +rpmPreLaunchCondition = bits, U32, 1124, [9:9] +speedCondition = bits, U32, 1124, [10:10] +tpsCondition = bits, U32, 1124, [11:11] +; total TS size = 1128 +isTorqueReductionTriggerPinValid = bits, U32, 1128, [0:0] +torqueReductionTriggerPinState = bits, U32, 1128, [1:1] +isTimeConditionSatisfied = bits, U32, 1128, [2:2] +isRpmConditionSatisfied = bits, U32, 1128, [3:3] +isAppConditionSatisfied = bits, U32, 1128, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1128, [5:5] +; total TS size = 1132 +isAntilagCondition = bits, U32, 1132, [0:0] +ALSMinRPMCondition = bits, U32, 1132, [1:1] +ALSMaxRPMCondition = bits, U32, 1132, [2:2] +ALSMinCLTCondition = bits, U32, 1132, [3:3] +ALSMaxCLTCondition = bits, U32, 1132, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1132, [5:5] +isALSSwitchActivated = bits, U32, 1132, [6:6] +ALSActivatePinState = bits, U32, 1132, [7:7] +ALSSwitchCondition = bits, U32, 1132, [8:8] +ALSTimerCondition = bits, U32, 1132, [9:9] +fuelALSCorrection = scalar, F32, 1136, "", 1, 0 +timingALSCorrection = scalar, S16, 1140, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1142, "deg", 0.01, 0 +; total TS size = 1144 +isTpsInvalid = bits, U32, 1144, [0:0] +m_shouldResetPid = bits, U32, 1144, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1144, [2:2] +isNotClosedLoop = bits, U32, 1144, [3:3] +isZeroRpm = bits, U32, 1144, [4:4] +hasInitBoost = bits, U32, 1144, [5:5] +rpmTooLow = bits, U32, 1144, [6:6] +tpsTooLow = bits, U32, 1144, [7:7] +mapTooLow = bits, U32, 1144, [8:8] +isPlantValid = bits, U32, 1144, [9:9] +isBoostControlled = bits, U32, 1144, [10:10] +luaTargetAdd = scalar, S16, 1148, "v", 0.5,0 +boostOutput = scalar, S16, 1150, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1152, "v", 1,0 +openLoopPart = scalar, F32, 1156, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1160, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1164, "%", 0.5,0 +boostControlTarget = scalar, S16, 1166, "kPa", 0.03333333333333333,0 +; total TS size = 1168 +acButtonState = scalar, S08, 1168, "", 1, 0 +m_acEnabled = bits, U32, 1172, [0:0] +engineTooSlow = bits, U32, 1172, [1:1] +engineTooFast = bits, U32, 1172, [2:2] +noClt = bits, U32, 1172, [3:3] +engineTooHot = bits, U32, 1172, [4:4] +tpsTooHigh = bits, U32, 1172, [5:5] +isDisabledByLua = bits, U32, 1172, [6:6] +acCompressorState = bits, U32, 1172, [7:7] +acPressureTooLow = bits, U32, 1172, [8:8] +acPressureTooHigh = bits, U32, 1172, [9:9] +; total TS size = 1176 +cranking0 = bits, U32, 1176, [0:0] +notRunning0 = bits, U32, 1176, [1:1] +disabledWhileEngineStopped0 = bits, U32, 1176, [2:2] +brokenClt0 = bits, U32, 1176, [3:3] +enabledForAc0 = bits, U32, 1176, [4:4] +hot0 = bits, U32, 1176, [5:5] +cold0 = bits, U32, 1176, [6:6] +disabledBySpeed0 = bits, U32, 1176, [7:7] +radiatorFanStatus0 = scalar, U08, 1180, "", 1, 0 +; total TS size = 1184 +cranking1 = bits, U32, 1184, [0:0] +notRunning1 = bits, U32, 1184, [1:1] +disabledWhileEngineStopped1 = bits, U32, 1184, [2:2] +brokenClt1 = bits, U32, 1184, [3:3] +enabledForAc1 = bits, U32, 1184, [4:4] +hot1 = bits, U32, 1184, [5:5] +cold1 = bits, U32, 1184, [6:6] +disabledBySpeed1 = bits, U32, 1184, [7:7] +radiatorFanStatus1 = scalar, U08, 1188, "", 1, 0 +; total TS size = 1192 +isPrime = bits, U32, 1192, [0:0] +engineTurnedRecently = bits, U32, 1192, [1:1] +isFuelPumpOn = bits, U32, 1192, [2:2] +ignitionOn = bits, U32, 1192, [3:3] +; total TS size = 1196 +isBenchTest = bits, U32, 1196, [0:0] +hasIgnitionVoltage = bits, U32, 1196, [1:1] +mainRelayState = bits, U32, 1196, [2:2] +delayedShutoffRequested = bits, U32, 1196, [3:3] +; total TS size = 1200 +lua_fuelAdd = scalar, F32, 1200, "g", 1, 0 +lua_fuelMult = scalar, F32, 1204, "", 1, 0 +lua_clutchUpState = bits, U32, 1208, [0:0] +lua_brakePedalState = bits, U32, 1208, [1:1] +lua_acRequestState = bits, U32, 1208, [2:2] +lua_luaDisableEtb = bits, U32, 1208, [3:3] +lua_luaIgnCut = bits, U32, 1208, [4:4] +lua_luaFuelCut = bits, U32, 1208, [5:5] +lua_clutchDownState = bits, U32, 1208, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1208, [7:7] +sd_tCharge = scalar, S16, 1212, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1216, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1220, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1224, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1228, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1232, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1236, "", 1, 0 +hellenBoardId = scalar, S16, 1240, "id", 1, 0 +clutchUpState = scalar, S08, 1242, "", 1, 0 +clutchDownState = scalar, S08, 1243, "", 1, 0 +brakePedalState = scalar, S08, 1244, "", 1, 0 +startStopState = scalar, S08, 1245, "", 1, 0 +smartChipState = scalar, S08, 1246, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1247, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1248, "", 1, 0 +startStopPhysicalState = bits, U32, 1252, [0:0] +acrActive = bits, U32, 1252, [1:1] +acrEngineMovedRecently = bits, U32, 1252, [2:2] +heaterControlEnabled = bits, U32, 1252, [3:3] +luaDigitalState0 = bits, U32, 1252, [4:4] +luaDigitalState1 = bits, U32, 1252, [5:5] +luaDigitalState2 = bits, U32, 1252, [6:6] +luaDigitalState3 = bits, U32, 1252, [7:7] +startStopStateToggleCounter = scalar, U32, 1256, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1260, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1264, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1268, "", 1, 0 +desiredRpmLimit = scalar, S16, 1272, "rpm", 1, 0 +fuelInjectionCounter = scalar, U32, 1276, "", 1, 0 +globalSparkCounter = scalar, U32, 1280, "", 1, 0 +fuelingLoad = scalar, F32, 1284, "", 1, 0 +ignitionLoad = scalar, F32, 1288, "", 1, 0 +veTableYAxis = scalar, U16, 1292, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1294, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1295, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1296, "", 1, 0 +; total TS size = 1300 +tpsFrom = scalar, F32, 1300 +tpsTo = scalar, F32, 1304 +deltaTps = scalar, F32, 1308 +extraFuel = scalar, F32, 1312, "", 1, 0 +valueFromTable = scalar, F32, 1316, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1320, [0:0] +isBelowDecelThreshold = bits, U32, 1320, [1:1] +isTimeToResetAccumulator = bits, U32, 1320, [2:2] +isFractionalEnrichment = bits, U32, 1320, [3:3] +belowEpsilon = bits, U32, 1320, [4:4] +tooShort = bits, U32, 1320, [5:5] +fractionalInjFuel = scalar, F32, 1324, "", 1, 0 +accumulatedValue = scalar, F32, 1328, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1332, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1336, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1340, "", 1, 0 +cycleCnt = scalar, S32, 1344, "", 1, 0 +; total TS size = 1348 +hwEventCounters1 = scalar, U32, 1348, "", 1, 0 +hwEventCounters2 = scalar, U32, 1352, "", 1, 0 +hwEventCounters3 = scalar, U32, 1356, "", 1, 0 +hwEventCounters4 = scalar, U32, 1360, "", 1, 0 +hwEventCounters5 = scalar, U32, 1364, "", 1, 0 +hwEventCounters6 = scalar, U32, 1368, "", 1, 0 +vvtCamCounter = scalar, U32, 1372, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1376, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1380, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1384, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1385, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1388, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1392, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1396, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1400, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1404, [0:0] +triggerElapsedUs = scalar, U32, 1408, "", 1, 0 +; total TS size = 1412 +crankSynchronizationCounter0 = scalar, U32, 1412, "", 1, 0 +vvtSyncGapRatio0 = scalar, F32, 1416, "", 1, 0 +vvtToothDurations00 = scalar, U32, 1420, "us", 1, 0 +vvtCurrentPosition0 = scalar, F32, 1424, "sync: Primary Cam Position", 1, 0 +vvtToothPosition10 = scalar, F32, 1428, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition20 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition30 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition40 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio0 = scalar, F32, 1444, "", 1, 0 +triggerStateIndex0 = scalar, U08, 1448, "", 1, 0 +vvtStateIndex0 = scalar, U08, 1449, "", 1, 0 +; total TS size = 1452 +crankSynchronizationCounter1 = scalar, U32, 1452, "", 1, 0 +vvtSyncGapRatio1 = scalar, F32, 1456, "", 1, 0 +vvtToothDurations01 = scalar, U32, 1460, "us", 1, 0 +vvtCurrentPosition1 = scalar, F32, 1464, "sync: Primary Cam Position", 1, 0 +vvtToothPosition11 = scalar, F32, 1468, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition21 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition31 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition41 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio1 = scalar, F32, 1484, "", 1, 0 +triggerStateIndex1 = scalar, U08, 1488, "", 1, 0 +vvtStateIndex1 = scalar, U08, 1489, "", 1, 0 +; total TS size = 1492 +crankSynchronizationCounter2 = scalar, U32, 1492, "", 1, 0 +vvtSyncGapRatio2 = scalar, F32, 1496, "", 1, 0 +vvtToothDurations02 = scalar, U32, 1500, "us", 1, 0 +vvtCurrentPosition2 = scalar, F32, 1504, "sync: Primary Cam Position", 1, 0 +vvtToothPosition12 = scalar, F32, 1508, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition22 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition32 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition42 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio2 = scalar, F32, 1524, "", 1, 0 +triggerStateIndex2 = scalar, U08, 1528, "", 1, 0 +vvtStateIndex2 = scalar, U08, 1529, "", 1, 0 +; total TS size = 1532 +crankSynchronizationCounter3 = scalar, U32, 1532, "", 1, 0 +vvtSyncGapRatio3 = scalar, F32, 1536, "", 1, 0 +vvtToothDurations03 = scalar, U32, 1540, "us", 1, 0 +vvtCurrentPosition3 = scalar, F32, 1544, "sync: Primary Cam Position", 1, 0 +vvtToothPosition13 = scalar, F32, 1548, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition23 = scalar, F32, 1552, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition33 = scalar, F32, 1556, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition43 = scalar, F32, 1560, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio3 = scalar, F32, 1564, "", 1, 0 +triggerStateIndex3 = scalar, U08, 1568, "", 1, 0 +vvtStateIndex3 = scalar, U08, 1569, "", 1, 0 +; total TS size = 1572 +crankSynchronizationCounter4 = scalar, U32, 1572, "", 1, 0 +vvtSyncGapRatio4 = scalar, F32, 1576, "", 1, 0 +vvtToothDurations04 = scalar, U32, 1580, "us", 1, 0 +vvtCurrentPosition4 = scalar, F32, 1584, "sync: Primary Cam Position", 1, 0 +vvtToothPosition14 = scalar, F32, 1588, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition24 = scalar, F32, 1592, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition34 = scalar, F32, 1596, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition44 = scalar, F32, 1600, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio4 = scalar, F32, 1604, "", 1, 0 +triggerStateIndex4 = scalar, U08, 1608, "", 1, 0 +vvtStateIndex4 = scalar, U08, 1609, "", 1, 0 +; total TS size = 1612 +camResyncCounter = scalar, U08, 1612, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1616, [0:0] +; total TS size = 1620 +wallFuelCorrection = scalar, F32, 1620, "", 1, 0 +wallFuel = scalar, F32, 1624, "", 1, 0 +; total TS size = 1628 +idleState = bits, S32, 1628, [0:2], "not important" +currentIdlePosition = scalar, F32, 1632 +baseIdlePosition = scalar, F32, 1636 +idleClosedLoop = scalar, F32, 1640 +iacByTpsTaper = scalar, F32, 1644 +throttlePedalUpState = scalar, S32, 1648, "", 1, 0 +mightResetPid = bits, U32, 1652, [0:0] +shouldResetPid = bits, U32, 1652, [1:1] +wasResetPid = bits, U32, 1652, [2:2] +mustResetPid = bits, U32, 1652, [3:3] +isCranking = bits, U32, 1652, [4:4] +isIacTableForCoasting = bits, U32, 1652, [5:5] +notIdling = bits, U32, 1652, [6:6] +needReset = bits, U32, 1652, [7:7] +isInDeadZone = bits, U32, 1652, [8:8] +isBlipping = bits, U32, 1652, [9:9] +useClosedLoop = bits, U32, 1652, [10:10] +badTps = bits, U32, 1652, [11:11] +looksLikeRunning = bits, U32, 1652, [12:12] +looksLikeCoasting = bits, U32, 1652, [13:13] +looksLikeCrankToIdle = bits, U32, 1652, [14:14] +isIdleCoasting = bits, U32, 1652, [15:15] +isIdleClosedLoop = bits, U32, 1652, [16:16] +idleTarget = scalar, S32, 1656, "", 1, 0 +targetRpmByClt = scalar, S32, 1660, "", 1, 0 +targetRpmAc = scalar, S32, 1664, "", 1, 0 +iacByRpmTaper = scalar, F32, 1668 +luaAdd = scalar, F32, 1672 +; total TS size = 1676 +targetWithIdlePosition0 = scalar, F32, 1676, "per", 1,0 +trim0 = scalar, F32, 1680, "", 1, 0 +luaAdjustment0 = scalar, F32, 1684, "per", 1,0 +m_wastegatePosition0 = scalar, F32, 1688, "per", 1,0 +etbFeedForward0 = scalar, F32, 1692 +etbIntegralError0 = scalar, F32, 1696, "", 1, 0 +etbCurrentTarget0 = scalar, F32, 1700, "%", 1, 0 +etbCurrentAdjustedTarget0 = scalar, F32, 1704, "%", 1, 0 +etbRevLimitActive0 = bits, U32, 1708, [0:0] +jamDetected0 = bits, U32, 1708, [1:1] +etbTpsErrorCounter0 = scalar, U16, 1712, "count", 1,0 +etbPpsErrorCounter0 = scalar, U16, 1714, "count", 1,0 +etbErrorCode0 = scalar, S08, 1716, "", 1, 0 +tcEtbDrop0 = scalar, S08, 1717, "%", 1, 0 +jamTimer0 = scalar, U16, 1718, "sec", 0.01, 0 +adjustedEtbTarget0 = scalar, S08, 1720, "%", 1, 0 +; total TS size = 1724 +targetWithIdlePosition1 = scalar, F32, 1724, "per", 1,0 +trim1 = scalar, F32, 1728, "", 1, 0 +luaAdjustment1 = scalar, F32, 1732, "per", 1,0 +m_wastegatePosition1 = scalar, F32, 1736, "per", 1,0 +etbFeedForward1 = scalar, F32, 1740 +etbIntegralError1 = scalar, F32, 1744, "", 1, 0 +etbCurrentTarget1 = scalar, F32, 1748, "%", 1, 0 +etbCurrentAdjustedTarget1 = scalar, F32, 1752, "%", 1, 0 +etbRevLimitActive1 = bits, U32, 1756, [0:0] +jamDetected1 = bits, U32, 1756, [1:1] +etbTpsErrorCounter1 = scalar, U16, 1760, "count", 1,0 +etbPpsErrorCounter1 = scalar, U16, 1762, "count", 1,0 +etbErrorCode1 = scalar, S08, 1764, "", 1, 0 +tcEtbDrop1 = scalar, S08, 1765, "%", 1, 0 +jamTimer1 = scalar, U16, 1766, "sec", 0.01, 0 +adjustedEtbTarget1 = scalar, S08, 1768, "%", 1, 0 +; total TS size = 1772 +faultCode0 = scalar, U08, 1772, "", 1, 0 +heaterDuty0 = scalar, U08, 1773, "%", 1, 0 +pumpDuty0 = scalar, U08, 1774, "%", 1, 0 +tempC0 = scalar, U16, 1776, "C", 1, 0 +nernstVoltage0 = scalar, U16, 1778, "V", 0.001, 0 +esr0 = scalar, U16, 1780, "ohm", 1, 0 +; total TS size = 1784 +faultCode1 = scalar, U08, 1784, "", 1, 0 +heaterDuty1 = scalar, U08, 1785, "%", 1, 0 +pumpDuty1 = scalar, U08, 1786, "%", 1, 0 +tempC1 = scalar, U16, 1788, "C", 1, 0 +nernstVoltage1 = scalar, U16, 1790, "V", 0.001, 0 +esr1 = scalar, U16, 1792, "ohm", 1, 0 +; total TS size = 1796 +dcOutput0 = scalar, F32, 1796, "per", 1,0 +isEnabled0_int = scalar, U08, 1800, "per", 1,0 +isEnabled0 = bits, U32, 1804, [0:0] +; total TS size = 1808 +value0 = scalar, U16, 1808, "value", 1,0 +value1 = scalar, U16, 1810, "value", 1,0 +errorRate = scalar, F32, 1812, "ratio", 1,0 +; total TS size = 1816 +vvtTarget = scalar, U16, 1816, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1818, "%", 0.5, 0 +; total TS size = 1820 +lambdaCurrentlyGood = bits, U32, 1820, [0:0] +lambdaMonitorCut = bits, U32, 1820, [1:1] +lambdaTimeSinceGood = scalar, U16, 1824, "sec", 0.01, 0 +; total TS size = 1828 time = { timeNow } @@ -3616,6 +3648,7 @@ lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs8 requiresPowerCycle = cylinderBore + requiresPowerCycle = knockFrequency readOnly = warning_message readOnly = device_uid1 @@ -5029,6 +5062,26 @@ gaugeCategory = Knock knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knockSpectrumChannelCylGauge = m_knockSpectrumChannelCyl, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStartGauge = m_knockFrequencyStart, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStepGauge = m_knockFrequencyStep, "Knock Frequency Step", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFuelTrimMultiplier = m_knockFuelTrimMultiplier, "Knock Fuel Trim", "mult", 0, 0, 0, 0, 0, 30, 1, 1 + knockSpectrum1 = m_knockSpectrum1, "Knock Spectrum1", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum2 = m_knockSpectrum2, "knockSpectrum2", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum3 = m_knockSpectrum3, "knockSpectrum3", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum4 = m_knockSpectrum4, "knockSpectrum4", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum5 = m_knockSpectrum5, "knockSpectrum5", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum6 = m_knockSpectrum6, "knockSpectrum6", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum7 = m_knockSpectrum7, "knockSpectrum7", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum8 = m_knockSpectrum8, "knockSpectrum8", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum9 = m_knockSpectrum9, "knockSpectrum9", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum10 = m_knockSpectrum10, "knockSpectrum10", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum11 = m_knockSpectrum11, "knockSpectrum11", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum12 = m_knockSpectrum12, "knockSpectrum12", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum13 = m_knockSpectrum13, "knockSpectrum13", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum14 = m_knockSpectrum14, "knockSpectrum14", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum15 = m_knockSpectrum15, "knockSpectrum15", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum16 = m_knockSpectrum16, "knockSpectrum16", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -5629,6 +5682,26 @@ entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" entry = m_knockCount, "Knock: Count", int, "%d" entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_knockFrequency, "knock: frequency", int, "%d" +entry = m_knockSpectrum1, "Knock: SpectrumData 1", int, "%d" +entry = m_knockSpectrum2, "Knock: SpectrumData 2", int, "%d" +entry = m_knockSpectrum3, "Knock: SpectrumData 3", int, "%d" +entry = m_knockSpectrum4, "Knock: SpectrumData 4", int, "%d" +entry = m_knockSpectrum5, "Knock: SpectrumData 5", int, "%d" +entry = m_knockSpectrum6, "Knock: SpectrumData 6", int, "%d" +entry = m_knockSpectrum7, "Knock: SpectrumData 7", int, "%d" +entry = m_knockSpectrum8, "Knock: SpectrumData 8", int, "%d" +entry = m_knockSpectrum9, "Knock: SpectrumData 9", int, "%d" +entry = m_knockSpectrum10, "Knock: SpectrumData 10", int, "%d" +entry = m_knockSpectrum11, "Knock: SpectrumData 11", int, "%d" +entry = m_knockSpectrum12, "Knock: SpectrumData 12", int, "%d" +entry = m_knockSpectrum13, "Knock: SpectrumData 13", int, "%d" +entry = m_knockSpectrum14, "Knock: SpectrumData 14", int, "%d" +entry = m_knockSpectrum15, "Knock: SpectrumData 15", int, "%d" +entry = m_knockSpectrum16, "Knock: SpectrumData 16", int, "%d" +entry = m_knockSpectrumChannelCyl, "Knock: ChannelAndCylNumber", int, "%d" +entry = m_knockFrequencyStart, "Knock: Start Freq", int, "%d" +entry = m_knockFrequencyStep, "Knock: Step Freq", float, "%.3f" +entry = m_knockFuelTrimMultiplier, "Knock: Fuel trim when knock", float, "%.3f" entry = tcuCurrentGear, "TCU: Current Gear", int, "%d" entry = tcRatio, "TCU: Torque Converter Ratio", float, "%.3f" entry = lastShiftTime, "lastShiftTime", float, "%.3f" @@ -6543,6 +6616,31 @@ dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard graphLine = m_knockFrequency + graphLine = m_knockSpectrum1 + graphLine = m_knockSpectrum2 + liveGraph = knock_controller_6_Graph, "Graph", South + graphLine = m_knockSpectrum3 + graphLine = m_knockSpectrum4 + graphLine = m_knockSpectrum5 + graphLine = m_knockSpectrum6 + liveGraph = knock_controller_7_Graph, "Graph", South + graphLine = m_knockSpectrum7 + graphLine = m_knockSpectrum8 + graphLine = m_knockSpectrum9 + graphLine = m_knockSpectrum10 + liveGraph = knock_controller_8_Graph, "Graph", South + graphLine = m_knockSpectrum11 + graphLine = m_knockSpectrum12 + graphLine = m_knockSpectrum13 + graphLine = m_knockSpectrum14 + liveGraph = knock_controller_9_Graph, "Graph", South + graphLine = m_knockSpectrum15 + graphLine = m_knockSpectrum16 + graphLine = m_knockSpectrumChannelCyl + graphLine = m_knockFrequencyStart + liveGraph = knock_controller_10_Graph, "Graph", South + graphLine = m_knockFrequencyStep + graphLine = m_knockFuelTrimMultiplier indicatorPanel = tcu_controllerIndicatorPanel, 2 indicator = {isShifting}, "isShifting No", "isShifting Yes" @@ -8583,9 +8681,13 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockCfg, "Sense" field = "Enable", enableSoftwareKnock field = "Cylinder Bore", cylinderBore, {enableSoftwareKnock} + field = "Estimated Knock Frequency",knockFrequency, {enableSoftwareKnock} field = "Detection mode", knockDetectionUseDoubleFrequency field = "Detection Window Start",knockDetectionWindowStart, {enableSoftwareKnock} field = "Sampling Duration", knockSamplingDuration, {enableSoftwareKnock} + field = "Enable Knock Spectrogram", enableKnockSpectrogram, {enableSoftwareKnock} + field = "Enable Knock Spectrogram Filter", enableKnockSpectrogramFilter, {enableKnockSpectrogram} + field = "Knock Spectrum Sensitivity", knockSpectrumSensitivity, {enableKnockSpectrogram} field = "" field = "Select the nearest sensor for each cylinder" @@ -8601,6 +8703,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockResponseCfg, "Response" field = knockRetardAggression, knockRetardAggression field = knockRetardReapplyRate, knockRetardReapplyRate + field = knockFuelTrimAggression, knockFuelTrimAggression + field = knockFuelTrimReapplyRate, knockFuelTrimReapplyRate + field = knockFuelTrim, knockFuelTrim + field = knockSuppressMinTps, knockSuppressMinTps dialog = softwareKnockLeft, "" panel = softwareKnockCfg diff --git a/firmware/tunerstudio/generated/rusefi_mre_f7.ini b/firmware/tunerstudio/generated/rusefi_mre_f7.ini index 506ef50c4d..87d5584583 100644 --- a/firmware/tunerstudio/generated/rusefi_mre_f7.ini +++ b/firmware/tunerstudio/generated/rusefi_mre_f7.ini @@ -38,12 +38,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.10.21.mre_f7.3945640004" + signature = "rusEFI master.2024.10.21.mre_f7.923134651" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.10.21.mre_f7.3945640004" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.10.21.mre_f7.923134651" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -774,6 +774,7 @@ devBit7 = bits, U32, 1492, [27:27], "false", "true" unusedSkipWasHere = bits, U32, 1492, [28:28], "false", "true" invertExhaustCamVVTSignal = bits, U32, 1492, [29:29], "Rising", "Falling" enableKnockSpectrogram = bits, U32, 1492, [30:30], "false", "true" +enableKnockSpectrogramFilter = bits, U32, 1492, [31:31], "false", "true" afterCrankingIACtaperDuration = scalar, S16, 1496, "cycles", 1, 0, 0, 5000, 0 iacByTpsTaper = scalar, S16, 1498, "percent", 1, 0, 0, 500, 0 unusedAuxSeria = bits, U16, 1500, [0:8], $gpio_list @@ -1394,7 +1395,13 @@ auxLinear4_v1 = scalar, F32, 3880, "volts", 1, 0, 0, 10, 2 auxLinear4_value1 = scalar, F32, 3884, "", 1, 0, -100000, 1000000, 2 auxLinear4_v2 = scalar, F32, 3888, "volts", 1, 0, 0, 10, 2 auxLinear4_value2 = scalar, F32, 3892, "", 1, 0, -100000, 1000000, 2 -unusedOftenChangesDuringFirmwareUpdate = array, U08, 3896, [128], "units", 1, 0, 0, 1, 0 +knockSuppressMinTps = scalar, U08, 3896, "%", 1, 0, 0, 100, 1 +knockFuelTrimAggression = scalar, U08, 3897, "%", 0.1, 0, 0, 20, 1 +knockFuelTrimReapplyRate = scalar, U08, 3898, "deg/s", 0.1, 0, 0, 10, 1 +knockFuelTrim = scalar, U08, 3899, "%", 1, 0, 0, 30, 1 +knockSpectrumSensitivity = scalar, F32, 3900, "sense", 1, 0, 0, 1, 2 +knockFrequency = scalar, F32, 3904, "Hz", 1, 0, 0, 20000, 2 +unusedOftenChangesDuringFirmwareUpdate = array, U08, 3908, [116], "units", 1, 0, 0, 1, 0 postCrankingFactor = array, F32, 4024, [6x6], "mult", 1, 0, 1, 3, 2 postCrankingDurationBins = array, F32, 4168, [6], "count", 1, 0, 0, 1000, 0 postCrankingCLTBins = array, S16, 4192, [6], "C", 1, 0, -100, 250, 0 @@ -2448,6 +2455,11 @@ minimumOilPressureValues = array, U08, 24960, [8], "kPa", 10.0, 0, 0, 1000, 0 minAcPressure = "value of A/C pressure in kPa before that compressor is disengaged" maxAcPressure = "value of A/C pressure in kPa after that compressor is disengaged" minimumOilPressureTimeout = "Delay before cutting fuel due to low oil pressure. Use this to ignore short pressure blips and sensor noise." + knockSuppressMinTps = "Below TPS value all knock suppression will be disabled." + knockFuelTrimAggression = "Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump)," + knockFuelTrimReapplyRate = "After a knock event, reapply fuel at this rate." + knockFuelTrim = "Fuel trim when knock, max 30%" + knockFrequency = "Estimated knock frequency, ignore cylinderBore if this one > 0" etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, open loop component of PID closed loop control" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2560,7 +2572,7 @@ minimumOilPressureValues = array, U08, 24960, [8], "kPa", 10.0, 0, 0, 1000, 0 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1752 + ochBlockSize = 1828 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3101,370 +3113,390 @@ m_knockThreshold = scalar, F32, 960, "", 1, 0 m_knockCount = scalar, U32, 964, "", 1, 0 m_maximumRetard = scalar, F32, 968, "", 1, 0 m_knockFrequency = scalar, U32, 972, "Hz", 1, 0 -; total TS size = 976 -tcuCurrentGear = scalar, S08, 976, "gear", 1, 0 -tcRatio = scalar, U16, 978, "value", 0.01, 0 -lastShiftTime = scalar, F32, 980, "", 1, 0 -tcu_currentRange = scalar, U08, 984, "", 1, 0 -pressureControlDuty = scalar, S08, 985, "%", 1,0 -torqueConverterDuty = scalar, S08, 986, "%", 1,0 -isShifting = bits, U32, 988, [0:0] -; total TS size = 992 -throttleUseWotModel = bits, U32, 992, [0:0] -throttleModelCrossoverAngle = scalar, S16, 996, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1000, "g/s", 1, 0 -; total TS size = 1004 -m_requested_pump = scalar, F32, 1004, "", 1, 0 -fuel_requested_percent = scalar, F32, 1008, "", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1012, "", 1, 0 -noValve = bits, U32, 1016, [0:0] -angleAboveMin = bits, U32, 1016, [1:1] -isHpfpInactive = bits, U32, 1016, [2:2] -m_pressureTarget_kPa = scalar, F32, 1020, "", 1, 0 -nextLobe = scalar, F32, 1024, "", 1, 0 -di_nextStart = scalar, F32, 1028, "v", 1, 0 -; total TS size = 1032 -m_deadtime = scalar, F32, 1032, "ms", 1, 0 -pressureDelta = scalar, F32, 1036, "kPa", 1, 0 -pressureRatio = scalar, F32, 1040, "", 1, 0 -; total TS size = 1044 -retardThresholdRpm = scalar, S32, 1044, "", 1, 0 -launchActivatePinState = bits, U32, 1048, [0:0] -isPreLaunchCondition = bits, U32, 1048, [1:1] -isLaunchCondition = bits, U32, 1048, [2:2] -isSwitchActivated = bits, U32, 1048, [3:3] -isClutchActivated = bits, U32, 1048, [4:4] -isBrakePedalActivated = bits, U32, 1048, [5:5] -isValidInputPin = bits, U32, 1048, [6:6] -activateSwitchCondition = bits, U32, 1048, [7:7] -rpmLaunchCondition = bits, U32, 1048, [8:8] -rpmPreLaunchCondition = bits, U32, 1048, [9:9] -speedCondition = bits, U32, 1048, [10:10] -tpsCondition = bits, U32, 1048, [11:11] +m_knockSpectrum1 = scalar, U32, 976, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 980, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 984, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 988, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1040, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1042, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1044, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1048, "multiplier", 1, 0 ; total TS size = 1052 -isTorqueReductionTriggerPinValid = bits, U32, 1052, [0:0] -torqueReductionTriggerPinState = bits, U32, 1052, [1:1] -isTimeConditionSatisfied = bits, U32, 1052, [2:2] -isRpmConditionSatisfied = bits, U32, 1052, [3:3] -isAppConditionSatisfied = bits, U32, 1052, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1052, [5:5] -; total TS size = 1056 -isAntilagCondition = bits, U32, 1056, [0:0] -ALSMinRPMCondition = bits, U32, 1056, [1:1] -ALSMaxRPMCondition = bits, U32, 1056, [2:2] -ALSMinCLTCondition = bits, U32, 1056, [3:3] -ALSMaxCLTCondition = bits, U32, 1056, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1056, [5:5] -isALSSwitchActivated = bits, U32, 1056, [6:6] -ALSActivatePinState = bits, U32, 1056, [7:7] -ALSSwitchCondition = bits, U32, 1056, [8:8] -ALSTimerCondition = bits, U32, 1056, [9:9] -fuelALSCorrection = scalar, F32, 1060, "", 1, 0 -timingALSCorrection = scalar, S16, 1064, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1066, "deg", 0.01, 0 +tcuCurrentGear = scalar, S08, 1052, "gear", 1, 0 +tcRatio = scalar, U16, 1054, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1056, "", 1, 0 +tcu_currentRange = scalar, U08, 1060, "", 1, 0 +pressureControlDuty = scalar, S08, 1061, "%", 1,0 +torqueConverterDuty = scalar, S08, 1062, "%", 1,0 +isShifting = bits, U32, 1064, [0:0] ; total TS size = 1068 -isTpsInvalid = bits, U32, 1068, [0:0] -m_shouldResetPid = bits, U32, 1068, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1068, [2:2] -isNotClosedLoop = bits, U32, 1068, [3:3] -isZeroRpm = bits, U32, 1068, [4:4] -hasInitBoost = bits, U32, 1068, [5:5] -rpmTooLow = bits, U32, 1068, [6:6] -tpsTooLow = bits, U32, 1068, [7:7] -mapTooLow = bits, U32, 1068, [8:8] -isPlantValid = bits, U32, 1068, [9:9] -isBoostControlled = bits, U32, 1068, [10:10] -luaTargetAdd = scalar, S16, 1072, "v", 0.5,0 -boostOutput = scalar, S16, 1074, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1076, "v", 1,0 -openLoopPart = scalar, F32, 1080, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1084, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1088, "%", 0.5,0 -boostControlTarget = scalar, S16, 1090, "kPa", 0.03333333333333333,0 -; total TS size = 1092 -acButtonState = scalar, S08, 1092, "", 1, 0 -m_acEnabled = bits, U32, 1096, [0:0] -engineTooSlow = bits, U32, 1096, [1:1] -engineTooFast = bits, U32, 1096, [2:2] -noClt = bits, U32, 1096, [3:3] -engineTooHot = bits, U32, 1096, [4:4] -tpsTooHigh = bits, U32, 1096, [5:5] -isDisabledByLua = bits, U32, 1096, [6:6] -acCompressorState = bits, U32, 1096, [7:7] -acPressureTooLow = bits, U32, 1096, [8:8] -acPressureTooHigh = bits, U32, 1096, [9:9] -; total TS size = 1100 -cranking0 = bits, U32, 1100, [0:0] -notRunning0 = bits, U32, 1100, [1:1] -disabledWhileEngineStopped0 = bits, U32, 1100, [2:2] -brokenClt0 = bits, U32, 1100, [3:3] -enabledForAc0 = bits, U32, 1100, [4:4] -hot0 = bits, U32, 1100, [5:5] -cold0 = bits, U32, 1100, [6:6] -disabledBySpeed0 = bits, U32, 1100, [7:7] -radiatorFanStatus0 = scalar, U08, 1104, "", 1, 0 +throttleUseWotModel = bits, U32, 1068, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1072, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1076, "g/s", 1, 0 +; total TS size = 1080 +m_requested_pump = scalar, F32, 1080, "", 1, 0 +fuel_requested_percent = scalar, F32, 1084, "", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1088, "", 1, 0 +noValve = bits, U32, 1092, [0:0] +angleAboveMin = bits, U32, 1092, [1:1] +isHpfpInactive = bits, U32, 1092, [2:2] +m_pressureTarget_kPa = scalar, F32, 1096, "", 1, 0 +nextLobe = scalar, F32, 1100, "", 1, 0 +di_nextStart = scalar, F32, 1104, "v", 1, 0 ; total TS size = 1108 -cranking1 = bits, U32, 1108, [0:0] -notRunning1 = bits, U32, 1108, [1:1] -disabledWhileEngineStopped1 = bits, U32, 1108, [2:2] -brokenClt1 = bits, U32, 1108, [3:3] -enabledForAc1 = bits, U32, 1108, [4:4] -hot1 = bits, U32, 1108, [5:5] -cold1 = bits, U32, 1108, [6:6] -disabledBySpeed1 = bits, U32, 1108, [7:7] -radiatorFanStatus1 = scalar, U08, 1112, "", 1, 0 -; total TS size = 1116 -isPrime = bits, U32, 1116, [0:0] -engineTurnedRecently = bits, U32, 1116, [1:1] -isFuelPumpOn = bits, U32, 1116, [2:2] -ignitionOn = bits, U32, 1116, [3:3] +m_deadtime = scalar, F32, 1108, "ms", 1, 0 +pressureDelta = scalar, F32, 1112, "kPa", 1, 0 +pressureRatio = scalar, F32, 1116, "", 1, 0 ; total TS size = 1120 -isBenchTest = bits, U32, 1120, [0:0] -hasIgnitionVoltage = bits, U32, 1120, [1:1] -mainRelayState = bits, U32, 1120, [2:2] -delayedShutoffRequested = bits, U32, 1120, [3:3] -; total TS size = 1124 -lua_fuelAdd = scalar, F32, 1124, "g", 1, 0 -lua_fuelMult = scalar, F32, 1128, "", 1, 0 -lua_clutchUpState = bits, U32, 1132, [0:0] -lua_brakePedalState = bits, U32, 1132, [1:1] -lua_acRequestState = bits, U32, 1132, [2:2] -lua_luaDisableEtb = bits, U32, 1132, [3:3] -lua_luaIgnCut = bits, U32, 1132, [4:4] -lua_luaFuelCut = bits, U32, 1132, [5:5] -lua_clutchDownState = bits, U32, 1132, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1132, [7:7] -sd_tCharge = scalar, S16, 1136, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1140, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1144, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1148, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1152, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1156, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1160, "", 1, 0 -hellenBoardId = scalar, S16, 1164, "id", 1, 0 -clutchUpState = scalar, S08, 1166, "", 1, 0 -clutchDownState = scalar, S08, 1167, "", 1, 0 -brakePedalState = scalar, S08, 1168, "", 1, 0 -startStopState = scalar, S08, 1169, "", 1, 0 -smartChipState = scalar, S08, 1170, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1171, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1172, "", 1, 0 -startStopPhysicalState = bits, U32, 1176, [0:0] -acrActive = bits, U32, 1176, [1:1] -acrEngineMovedRecently = bits, U32, 1176, [2:2] -heaterControlEnabled = bits, U32, 1176, [3:3] -luaDigitalState0 = bits, U32, 1176, [4:4] -luaDigitalState1 = bits, U32, 1176, [5:5] -luaDigitalState2 = bits, U32, 1176, [6:6] -luaDigitalState3 = bits, U32, 1176, [7:7] -startStopStateToggleCounter = scalar, U32, 1180, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1184, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1188, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1192, "", 1, 0 -desiredRpmLimit = scalar, S16, 1196, "rpm", 1, 0 -fuelInjectionCounter = scalar, U32, 1200, "", 1, 0 -globalSparkCounter = scalar, U32, 1204, "", 1, 0 -fuelingLoad = scalar, F32, 1208, "", 1, 0 -ignitionLoad = scalar, F32, 1212, "", 1, 0 -veTableYAxis = scalar, U16, 1216, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1218, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1219, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1220, "", 1, 0 -; total TS size = 1224 -tpsFrom = scalar, F32, 1224 -tpsTo = scalar, F32, 1228 -deltaTps = scalar, F32, 1232 -extraFuel = scalar, F32, 1236, "", 1, 0 -valueFromTable = scalar, F32, 1240, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1244, [0:0] -isBelowDecelThreshold = bits, U32, 1244, [1:1] -isTimeToResetAccumulator = bits, U32, 1244, [2:2] -isFractionalEnrichment = bits, U32, 1244, [3:3] -belowEpsilon = bits, U32, 1244, [4:4] -tooShort = bits, U32, 1244, [5:5] -fractionalInjFuel = scalar, F32, 1248, "", 1, 0 -accumulatedValue = scalar, F32, 1252, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1256, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1260, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1264, "", 1, 0 -cycleCnt = scalar, S32, 1268, "", 1, 0 -; total TS size = 1272 -hwEventCounters1 = scalar, U32, 1272, "", 1, 0 -hwEventCounters2 = scalar, U32, 1276, "", 1, 0 -hwEventCounters3 = scalar, U32, 1280, "", 1, 0 -hwEventCounters4 = scalar, U32, 1284, "", 1, 0 -hwEventCounters5 = scalar, U32, 1288, "", 1, 0 -hwEventCounters6 = scalar, U32, 1292, "", 1, 0 -vvtCamCounter = scalar, U32, 1296, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1300, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1304, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1308, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1309, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1312, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1316, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1320, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1324, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1328, [0:0] -triggerElapsedUs = scalar, U32, 1332, "", 1, 0 -; total TS size = 1336 -crankSynchronizationCounter0 = scalar, U32, 1336, "", 1, 0 -vvtSyncGapRatio0 = scalar, F32, 1340, "", 1, 0 -vvtToothDurations00 = scalar, U32, 1344, "us", 1, 0 -vvtCurrentPosition0 = scalar, F32, 1348, "sync: Primary Cam Position", 1, 0 -vvtToothPosition10 = scalar, F32, 1352, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition20 = scalar, F32, 1356, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition30 = scalar, F32, 1360, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition40 = scalar, F32, 1364, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio0 = scalar, F32, 1368, "", 1, 0 -triggerStateIndex0 = scalar, U08, 1372, "", 1, 0 -vvtStateIndex0 = scalar, U08, 1373, "", 1, 0 -; total TS size = 1376 -crankSynchronizationCounter1 = scalar, U32, 1376, "", 1, 0 -vvtSyncGapRatio1 = scalar, F32, 1380, "", 1, 0 -vvtToothDurations01 = scalar, U32, 1384, "us", 1, 0 -vvtCurrentPosition1 = scalar, F32, 1388, "sync: Primary Cam Position", 1, 0 -vvtToothPosition11 = scalar, F32, 1392, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition21 = scalar, F32, 1396, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition31 = scalar, F32, 1400, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition41 = scalar, F32, 1404, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio1 = scalar, F32, 1408, "", 1, 0 -triggerStateIndex1 = scalar, U08, 1412, "", 1, 0 -vvtStateIndex1 = scalar, U08, 1413, "", 1, 0 -; total TS size = 1416 -crankSynchronizationCounter2 = scalar, U32, 1416, "", 1, 0 -vvtSyncGapRatio2 = scalar, F32, 1420, "", 1, 0 -vvtToothDurations02 = scalar, U32, 1424, "us", 1, 0 -vvtCurrentPosition2 = scalar, F32, 1428, "sync: Primary Cam Position", 1, 0 -vvtToothPosition12 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition22 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition32 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition42 = scalar, F32, 1444, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio2 = scalar, F32, 1448, "", 1, 0 -triggerStateIndex2 = scalar, U08, 1452, "", 1, 0 -vvtStateIndex2 = scalar, U08, 1453, "", 1, 0 -; total TS size = 1456 -crankSynchronizationCounter3 = scalar, U32, 1456, "", 1, 0 -vvtSyncGapRatio3 = scalar, F32, 1460, "", 1, 0 -vvtToothDurations03 = scalar, U32, 1464, "us", 1, 0 -vvtCurrentPosition3 = scalar, F32, 1468, "sync: Primary Cam Position", 1, 0 -vvtToothPosition13 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition23 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition33 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition43 = scalar, F32, 1484, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio3 = scalar, F32, 1488, "", 1, 0 -triggerStateIndex3 = scalar, U08, 1492, "", 1, 0 -vvtStateIndex3 = scalar, U08, 1493, "", 1, 0 -; total TS size = 1496 -crankSynchronizationCounter4 = scalar, U32, 1496, "", 1, 0 -vvtSyncGapRatio4 = scalar, F32, 1500, "", 1, 0 -vvtToothDurations04 = scalar, U32, 1504, "us", 1, 0 -vvtCurrentPosition4 = scalar, F32, 1508, "sync: Primary Cam Position", 1, 0 -vvtToothPosition14 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition24 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition34 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition44 = scalar, F32, 1524, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio4 = scalar, F32, 1528, "", 1, 0 -triggerStateIndex4 = scalar, U08, 1532, "", 1, 0 -vvtStateIndex4 = scalar, U08, 1533, "", 1, 0 -; total TS size = 1536 -camResyncCounter = scalar, U08, 1536, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1540, [0:0] -; total TS size = 1544 -wallFuelCorrection = scalar, F32, 1544, "", 1, 0 -wallFuel = scalar, F32, 1548, "", 1, 0 -; total TS size = 1552 -idleState = bits, S32, 1552, [0:2], "not important" -currentIdlePosition = scalar, F32, 1556 -baseIdlePosition = scalar, F32, 1560 -idleClosedLoop = scalar, F32, 1564 -iacByTpsTaper = scalar, F32, 1568 -throttlePedalUpState = scalar, S32, 1572, "", 1, 0 -mightResetPid = bits, U32, 1576, [0:0] -shouldResetPid = bits, U32, 1576, [1:1] -wasResetPid = bits, U32, 1576, [2:2] -mustResetPid = bits, U32, 1576, [3:3] -isCranking = bits, U32, 1576, [4:4] -isIacTableForCoasting = bits, U32, 1576, [5:5] -notIdling = bits, U32, 1576, [6:6] -needReset = bits, U32, 1576, [7:7] -isInDeadZone = bits, U32, 1576, [8:8] -isBlipping = bits, U32, 1576, [9:9] -useClosedLoop = bits, U32, 1576, [10:10] -badTps = bits, U32, 1576, [11:11] -looksLikeRunning = bits, U32, 1576, [12:12] -looksLikeCoasting = bits, U32, 1576, [13:13] -looksLikeCrankToIdle = bits, U32, 1576, [14:14] -isIdleCoasting = bits, U32, 1576, [15:15] -isIdleClosedLoop = bits, U32, 1576, [16:16] -idleTarget = scalar, S32, 1580, "", 1, 0 -targetRpmByClt = scalar, S32, 1584, "", 1, 0 -targetRpmAc = scalar, S32, 1588, "", 1, 0 -iacByRpmTaper = scalar, F32, 1592 -luaAdd = scalar, F32, 1596 -; total TS size = 1600 -targetWithIdlePosition0 = scalar, F32, 1600, "per", 1,0 -trim0 = scalar, F32, 1604, "", 1, 0 -luaAdjustment0 = scalar, F32, 1608, "per", 1,0 -m_wastegatePosition0 = scalar, F32, 1612, "per", 1,0 -etbFeedForward0 = scalar, F32, 1616 -etbIntegralError0 = scalar, F32, 1620, "", 1, 0 -etbCurrentTarget0 = scalar, F32, 1624, "%", 1, 0 -etbCurrentAdjustedTarget0 = scalar, F32, 1628, "%", 1, 0 -etbRevLimitActive0 = bits, U32, 1632, [0:0] -jamDetected0 = bits, U32, 1632, [1:1] -etbTpsErrorCounter0 = scalar, U16, 1636, "count", 1,0 -etbPpsErrorCounter0 = scalar, U16, 1638, "count", 1,0 -etbErrorCode0 = scalar, S08, 1640, "", 1, 0 -tcEtbDrop0 = scalar, S08, 1641, "%", 1, 0 -jamTimer0 = scalar, U16, 1642, "sec", 0.01, 0 -adjustedEtbTarget0 = scalar, S08, 1644, "%", 1, 0 -; total TS size = 1648 -targetWithIdlePosition1 = scalar, F32, 1648, "per", 1,0 -trim1 = scalar, F32, 1652, "", 1, 0 -luaAdjustment1 = scalar, F32, 1656, "per", 1,0 -m_wastegatePosition1 = scalar, F32, 1660, "per", 1,0 -etbFeedForward1 = scalar, F32, 1664 -etbIntegralError1 = scalar, F32, 1668, "", 1, 0 -etbCurrentTarget1 = scalar, F32, 1672, "%", 1, 0 -etbCurrentAdjustedTarget1 = scalar, F32, 1676, "%", 1, 0 -etbRevLimitActive1 = bits, U32, 1680, [0:0] -jamDetected1 = bits, U32, 1680, [1:1] -etbTpsErrorCounter1 = scalar, U16, 1684, "count", 1,0 -etbPpsErrorCounter1 = scalar, U16, 1686, "count", 1,0 -etbErrorCode1 = scalar, S08, 1688, "", 1, 0 -tcEtbDrop1 = scalar, S08, 1689, "%", 1, 0 -jamTimer1 = scalar, U16, 1690, "sec", 0.01, 0 -adjustedEtbTarget1 = scalar, S08, 1692, "%", 1, 0 -; total TS size = 1696 -faultCode0 = scalar, U08, 1696, "", 1, 0 -heaterDuty0 = scalar, U08, 1697, "%", 1, 0 -pumpDuty0 = scalar, U08, 1698, "%", 1, 0 -tempC0 = scalar, U16, 1700, "C", 1, 0 -nernstVoltage0 = scalar, U16, 1702, "V", 0.001, 0 -esr0 = scalar, U16, 1704, "ohm", 1, 0 -; total TS size = 1708 -faultCode1 = scalar, U08, 1708, "", 1, 0 -heaterDuty1 = scalar, U08, 1709, "%", 1, 0 -pumpDuty1 = scalar, U08, 1710, "%", 1, 0 -tempC1 = scalar, U16, 1712, "C", 1, 0 -nernstVoltage1 = scalar, U16, 1714, "V", 0.001, 0 -esr1 = scalar, U16, 1716, "ohm", 1, 0 -; total TS size = 1720 -dcOutput0 = scalar, F32, 1720, "per", 1,0 -isEnabled0_int = scalar, U08, 1724, "per", 1,0 -isEnabled0 = bits, U32, 1728, [0:0] -; total TS size = 1732 -value0 = scalar, U16, 1732, "value", 1,0 -value1 = scalar, U16, 1734, "value", 1,0 -errorRate = scalar, F32, 1736, "ratio", 1,0 -; total TS size = 1740 -vvtTarget = scalar, U16, 1740, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1742, "%", 0.5, 0 -; total TS size = 1744 -lambdaCurrentlyGood = bits, U32, 1744, [0:0] -lambdaMonitorCut = bits, U32, 1744, [1:1] -lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 -; total TS size = 1752 +retardThresholdRpm = scalar, S32, 1120, "", 1, 0 +launchActivatePinState = bits, U32, 1124, [0:0] +isPreLaunchCondition = bits, U32, 1124, [1:1] +isLaunchCondition = bits, U32, 1124, [2:2] +isSwitchActivated = bits, U32, 1124, [3:3] +isClutchActivated = bits, U32, 1124, [4:4] +isBrakePedalActivated = bits, U32, 1124, [5:5] +isValidInputPin = bits, U32, 1124, [6:6] +activateSwitchCondition = bits, U32, 1124, [7:7] +rpmLaunchCondition = bits, U32, 1124, [8:8] +rpmPreLaunchCondition = bits, U32, 1124, [9:9] +speedCondition = bits, U32, 1124, [10:10] +tpsCondition = bits, U32, 1124, [11:11] +; total TS size = 1128 +isTorqueReductionTriggerPinValid = bits, U32, 1128, [0:0] +torqueReductionTriggerPinState = bits, U32, 1128, [1:1] +isTimeConditionSatisfied = bits, U32, 1128, [2:2] +isRpmConditionSatisfied = bits, U32, 1128, [3:3] +isAppConditionSatisfied = bits, U32, 1128, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1128, [5:5] +; total TS size = 1132 +isAntilagCondition = bits, U32, 1132, [0:0] +ALSMinRPMCondition = bits, U32, 1132, [1:1] +ALSMaxRPMCondition = bits, U32, 1132, [2:2] +ALSMinCLTCondition = bits, U32, 1132, [3:3] +ALSMaxCLTCondition = bits, U32, 1132, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1132, [5:5] +isALSSwitchActivated = bits, U32, 1132, [6:6] +ALSActivatePinState = bits, U32, 1132, [7:7] +ALSSwitchCondition = bits, U32, 1132, [8:8] +ALSTimerCondition = bits, U32, 1132, [9:9] +fuelALSCorrection = scalar, F32, 1136, "", 1, 0 +timingALSCorrection = scalar, S16, 1140, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1142, "deg", 0.01, 0 +; total TS size = 1144 +isTpsInvalid = bits, U32, 1144, [0:0] +m_shouldResetPid = bits, U32, 1144, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1144, [2:2] +isNotClosedLoop = bits, U32, 1144, [3:3] +isZeroRpm = bits, U32, 1144, [4:4] +hasInitBoost = bits, U32, 1144, [5:5] +rpmTooLow = bits, U32, 1144, [6:6] +tpsTooLow = bits, U32, 1144, [7:7] +mapTooLow = bits, U32, 1144, [8:8] +isPlantValid = bits, U32, 1144, [9:9] +isBoostControlled = bits, U32, 1144, [10:10] +luaTargetAdd = scalar, S16, 1148, "v", 0.5,0 +boostOutput = scalar, S16, 1150, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1152, "v", 1,0 +openLoopPart = scalar, F32, 1156, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1160, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1164, "%", 0.5,0 +boostControlTarget = scalar, S16, 1166, "kPa", 0.03333333333333333,0 +; total TS size = 1168 +acButtonState = scalar, S08, 1168, "", 1, 0 +m_acEnabled = bits, U32, 1172, [0:0] +engineTooSlow = bits, U32, 1172, [1:1] +engineTooFast = bits, U32, 1172, [2:2] +noClt = bits, U32, 1172, [3:3] +engineTooHot = bits, U32, 1172, [4:4] +tpsTooHigh = bits, U32, 1172, [5:5] +isDisabledByLua = bits, U32, 1172, [6:6] +acCompressorState = bits, U32, 1172, [7:7] +acPressureTooLow = bits, U32, 1172, [8:8] +acPressureTooHigh = bits, U32, 1172, [9:9] +; total TS size = 1176 +cranking0 = bits, U32, 1176, [0:0] +notRunning0 = bits, U32, 1176, [1:1] +disabledWhileEngineStopped0 = bits, U32, 1176, [2:2] +brokenClt0 = bits, U32, 1176, [3:3] +enabledForAc0 = bits, U32, 1176, [4:4] +hot0 = bits, U32, 1176, [5:5] +cold0 = bits, U32, 1176, [6:6] +disabledBySpeed0 = bits, U32, 1176, [7:7] +radiatorFanStatus0 = scalar, U08, 1180, "", 1, 0 +; total TS size = 1184 +cranking1 = bits, U32, 1184, [0:0] +notRunning1 = bits, U32, 1184, [1:1] +disabledWhileEngineStopped1 = bits, U32, 1184, [2:2] +brokenClt1 = bits, U32, 1184, [3:3] +enabledForAc1 = bits, U32, 1184, [4:4] +hot1 = bits, U32, 1184, [5:5] +cold1 = bits, U32, 1184, [6:6] +disabledBySpeed1 = bits, U32, 1184, [7:7] +radiatorFanStatus1 = scalar, U08, 1188, "", 1, 0 +; total TS size = 1192 +isPrime = bits, U32, 1192, [0:0] +engineTurnedRecently = bits, U32, 1192, [1:1] +isFuelPumpOn = bits, U32, 1192, [2:2] +ignitionOn = bits, U32, 1192, [3:3] +; total TS size = 1196 +isBenchTest = bits, U32, 1196, [0:0] +hasIgnitionVoltage = bits, U32, 1196, [1:1] +mainRelayState = bits, U32, 1196, [2:2] +delayedShutoffRequested = bits, U32, 1196, [3:3] +; total TS size = 1200 +lua_fuelAdd = scalar, F32, 1200, "g", 1, 0 +lua_fuelMult = scalar, F32, 1204, "", 1, 0 +lua_clutchUpState = bits, U32, 1208, [0:0] +lua_brakePedalState = bits, U32, 1208, [1:1] +lua_acRequestState = bits, U32, 1208, [2:2] +lua_luaDisableEtb = bits, U32, 1208, [3:3] +lua_luaIgnCut = bits, U32, 1208, [4:4] +lua_luaFuelCut = bits, U32, 1208, [5:5] +lua_clutchDownState = bits, U32, 1208, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1208, [7:7] +sd_tCharge = scalar, S16, 1212, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1216, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1220, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1224, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1228, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1232, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1236, "", 1, 0 +hellenBoardId = scalar, S16, 1240, "id", 1, 0 +clutchUpState = scalar, S08, 1242, "", 1, 0 +clutchDownState = scalar, S08, 1243, "", 1, 0 +brakePedalState = scalar, S08, 1244, "", 1, 0 +startStopState = scalar, S08, 1245, "", 1, 0 +smartChipState = scalar, S08, 1246, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1247, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1248, "", 1, 0 +startStopPhysicalState = bits, U32, 1252, [0:0] +acrActive = bits, U32, 1252, [1:1] +acrEngineMovedRecently = bits, U32, 1252, [2:2] +heaterControlEnabled = bits, U32, 1252, [3:3] +luaDigitalState0 = bits, U32, 1252, [4:4] +luaDigitalState1 = bits, U32, 1252, [5:5] +luaDigitalState2 = bits, U32, 1252, [6:6] +luaDigitalState3 = bits, U32, 1252, [7:7] +startStopStateToggleCounter = scalar, U32, 1256, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1260, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1264, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1268, "", 1, 0 +desiredRpmLimit = scalar, S16, 1272, "rpm", 1, 0 +fuelInjectionCounter = scalar, U32, 1276, "", 1, 0 +globalSparkCounter = scalar, U32, 1280, "", 1, 0 +fuelingLoad = scalar, F32, 1284, "", 1, 0 +ignitionLoad = scalar, F32, 1288, "", 1, 0 +veTableYAxis = scalar, U16, 1292, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1294, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1295, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1296, "", 1, 0 +; total TS size = 1300 +tpsFrom = scalar, F32, 1300 +tpsTo = scalar, F32, 1304 +deltaTps = scalar, F32, 1308 +extraFuel = scalar, F32, 1312, "", 1, 0 +valueFromTable = scalar, F32, 1316, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1320, [0:0] +isBelowDecelThreshold = bits, U32, 1320, [1:1] +isTimeToResetAccumulator = bits, U32, 1320, [2:2] +isFractionalEnrichment = bits, U32, 1320, [3:3] +belowEpsilon = bits, U32, 1320, [4:4] +tooShort = bits, U32, 1320, [5:5] +fractionalInjFuel = scalar, F32, 1324, "", 1, 0 +accumulatedValue = scalar, F32, 1328, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1332, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1336, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1340, "", 1, 0 +cycleCnt = scalar, S32, 1344, "", 1, 0 +; total TS size = 1348 +hwEventCounters1 = scalar, U32, 1348, "", 1, 0 +hwEventCounters2 = scalar, U32, 1352, "", 1, 0 +hwEventCounters3 = scalar, U32, 1356, "", 1, 0 +hwEventCounters4 = scalar, U32, 1360, "", 1, 0 +hwEventCounters5 = scalar, U32, 1364, "", 1, 0 +hwEventCounters6 = scalar, U32, 1368, "", 1, 0 +vvtCamCounter = scalar, U32, 1372, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1376, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1380, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1384, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1385, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1388, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1392, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1396, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1400, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1404, [0:0] +triggerElapsedUs = scalar, U32, 1408, "", 1, 0 +; total TS size = 1412 +crankSynchronizationCounter0 = scalar, U32, 1412, "", 1, 0 +vvtSyncGapRatio0 = scalar, F32, 1416, "", 1, 0 +vvtToothDurations00 = scalar, U32, 1420, "us", 1, 0 +vvtCurrentPosition0 = scalar, F32, 1424, "sync: Primary Cam Position", 1, 0 +vvtToothPosition10 = scalar, F32, 1428, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition20 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition30 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition40 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio0 = scalar, F32, 1444, "", 1, 0 +triggerStateIndex0 = scalar, U08, 1448, "", 1, 0 +vvtStateIndex0 = scalar, U08, 1449, "", 1, 0 +; total TS size = 1452 +crankSynchronizationCounter1 = scalar, U32, 1452, "", 1, 0 +vvtSyncGapRatio1 = scalar, F32, 1456, "", 1, 0 +vvtToothDurations01 = scalar, U32, 1460, "us", 1, 0 +vvtCurrentPosition1 = scalar, F32, 1464, "sync: Primary Cam Position", 1, 0 +vvtToothPosition11 = scalar, F32, 1468, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition21 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition31 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition41 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio1 = scalar, F32, 1484, "", 1, 0 +triggerStateIndex1 = scalar, U08, 1488, "", 1, 0 +vvtStateIndex1 = scalar, U08, 1489, "", 1, 0 +; total TS size = 1492 +crankSynchronizationCounter2 = scalar, U32, 1492, "", 1, 0 +vvtSyncGapRatio2 = scalar, F32, 1496, "", 1, 0 +vvtToothDurations02 = scalar, U32, 1500, "us", 1, 0 +vvtCurrentPosition2 = scalar, F32, 1504, "sync: Primary Cam Position", 1, 0 +vvtToothPosition12 = scalar, F32, 1508, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition22 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition32 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition42 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio2 = scalar, F32, 1524, "", 1, 0 +triggerStateIndex2 = scalar, U08, 1528, "", 1, 0 +vvtStateIndex2 = scalar, U08, 1529, "", 1, 0 +; total TS size = 1532 +crankSynchronizationCounter3 = scalar, U32, 1532, "", 1, 0 +vvtSyncGapRatio3 = scalar, F32, 1536, "", 1, 0 +vvtToothDurations03 = scalar, U32, 1540, "us", 1, 0 +vvtCurrentPosition3 = scalar, F32, 1544, "sync: Primary Cam Position", 1, 0 +vvtToothPosition13 = scalar, F32, 1548, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition23 = scalar, F32, 1552, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition33 = scalar, F32, 1556, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition43 = scalar, F32, 1560, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio3 = scalar, F32, 1564, "", 1, 0 +triggerStateIndex3 = scalar, U08, 1568, "", 1, 0 +vvtStateIndex3 = scalar, U08, 1569, "", 1, 0 +; total TS size = 1572 +crankSynchronizationCounter4 = scalar, U32, 1572, "", 1, 0 +vvtSyncGapRatio4 = scalar, F32, 1576, "", 1, 0 +vvtToothDurations04 = scalar, U32, 1580, "us", 1, 0 +vvtCurrentPosition4 = scalar, F32, 1584, "sync: Primary Cam Position", 1, 0 +vvtToothPosition14 = scalar, F32, 1588, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition24 = scalar, F32, 1592, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition34 = scalar, F32, 1596, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition44 = scalar, F32, 1600, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio4 = scalar, F32, 1604, "", 1, 0 +triggerStateIndex4 = scalar, U08, 1608, "", 1, 0 +vvtStateIndex4 = scalar, U08, 1609, "", 1, 0 +; total TS size = 1612 +camResyncCounter = scalar, U08, 1612, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1616, [0:0] +; total TS size = 1620 +wallFuelCorrection = scalar, F32, 1620, "", 1, 0 +wallFuel = scalar, F32, 1624, "", 1, 0 +; total TS size = 1628 +idleState = bits, S32, 1628, [0:2], "not important" +currentIdlePosition = scalar, F32, 1632 +baseIdlePosition = scalar, F32, 1636 +idleClosedLoop = scalar, F32, 1640 +iacByTpsTaper = scalar, F32, 1644 +throttlePedalUpState = scalar, S32, 1648, "", 1, 0 +mightResetPid = bits, U32, 1652, [0:0] +shouldResetPid = bits, U32, 1652, [1:1] +wasResetPid = bits, U32, 1652, [2:2] +mustResetPid = bits, U32, 1652, [3:3] +isCranking = bits, U32, 1652, [4:4] +isIacTableForCoasting = bits, U32, 1652, [5:5] +notIdling = bits, U32, 1652, [6:6] +needReset = bits, U32, 1652, [7:7] +isInDeadZone = bits, U32, 1652, [8:8] +isBlipping = bits, U32, 1652, [9:9] +useClosedLoop = bits, U32, 1652, [10:10] +badTps = bits, U32, 1652, [11:11] +looksLikeRunning = bits, U32, 1652, [12:12] +looksLikeCoasting = bits, U32, 1652, [13:13] +looksLikeCrankToIdle = bits, U32, 1652, [14:14] +isIdleCoasting = bits, U32, 1652, [15:15] +isIdleClosedLoop = bits, U32, 1652, [16:16] +idleTarget = scalar, S32, 1656, "", 1, 0 +targetRpmByClt = scalar, S32, 1660, "", 1, 0 +targetRpmAc = scalar, S32, 1664, "", 1, 0 +iacByRpmTaper = scalar, F32, 1668 +luaAdd = scalar, F32, 1672 +; total TS size = 1676 +targetWithIdlePosition0 = scalar, F32, 1676, "per", 1,0 +trim0 = scalar, F32, 1680, "", 1, 0 +luaAdjustment0 = scalar, F32, 1684, "per", 1,0 +m_wastegatePosition0 = scalar, F32, 1688, "per", 1,0 +etbFeedForward0 = scalar, F32, 1692 +etbIntegralError0 = scalar, F32, 1696, "", 1, 0 +etbCurrentTarget0 = scalar, F32, 1700, "%", 1, 0 +etbCurrentAdjustedTarget0 = scalar, F32, 1704, "%", 1, 0 +etbRevLimitActive0 = bits, U32, 1708, [0:0] +jamDetected0 = bits, U32, 1708, [1:1] +etbTpsErrorCounter0 = scalar, U16, 1712, "count", 1,0 +etbPpsErrorCounter0 = scalar, U16, 1714, "count", 1,0 +etbErrorCode0 = scalar, S08, 1716, "", 1, 0 +tcEtbDrop0 = scalar, S08, 1717, "%", 1, 0 +jamTimer0 = scalar, U16, 1718, "sec", 0.01, 0 +adjustedEtbTarget0 = scalar, S08, 1720, "%", 1, 0 +; total TS size = 1724 +targetWithIdlePosition1 = scalar, F32, 1724, "per", 1,0 +trim1 = scalar, F32, 1728, "", 1, 0 +luaAdjustment1 = scalar, F32, 1732, "per", 1,0 +m_wastegatePosition1 = scalar, F32, 1736, "per", 1,0 +etbFeedForward1 = scalar, F32, 1740 +etbIntegralError1 = scalar, F32, 1744, "", 1, 0 +etbCurrentTarget1 = scalar, F32, 1748, "%", 1, 0 +etbCurrentAdjustedTarget1 = scalar, F32, 1752, "%", 1, 0 +etbRevLimitActive1 = bits, U32, 1756, [0:0] +jamDetected1 = bits, U32, 1756, [1:1] +etbTpsErrorCounter1 = scalar, U16, 1760, "count", 1,0 +etbPpsErrorCounter1 = scalar, U16, 1762, "count", 1,0 +etbErrorCode1 = scalar, S08, 1764, "", 1, 0 +tcEtbDrop1 = scalar, S08, 1765, "%", 1, 0 +jamTimer1 = scalar, U16, 1766, "sec", 0.01, 0 +adjustedEtbTarget1 = scalar, S08, 1768, "%", 1, 0 +; total TS size = 1772 +faultCode0 = scalar, U08, 1772, "", 1, 0 +heaterDuty0 = scalar, U08, 1773, "%", 1, 0 +pumpDuty0 = scalar, U08, 1774, "%", 1, 0 +tempC0 = scalar, U16, 1776, "C", 1, 0 +nernstVoltage0 = scalar, U16, 1778, "V", 0.001, 0 +esr0 = scalar, U16, 1780, "ohm", 1, 0 +; total TS size = 1784 +faultCode1 = scalar, U08, 1784, "", 1, 0 +heaterDuty1 = scalar, U08, 1785, "%", 1, 0 +pumpDuty1 = scalar, U08, 1786, "%", 1, 0 +tempC1 = scalar, U16, 1788, "C", 1, 0 +nernstVoltage1 = scalar, U16, 1790, "V", 0.001, 0 +esr1 = scalar, U16, 1792, "ohm", 1, 0 +; total TS size = 1796 +dcOutput0 = scalar, F32, 1796, "per", 1,0 +isEnabled0_int = scalar, U08, 1800, "per", 1,0 +isEnabled0 = bits, U32, 1804, [0:0] +; total TS size = 1808 +value0 = scalar, U16, 1808, "value", 1,0 +value1 = scalar, U16, 1810, "value", 1,0 +errorRate = scalar, F32, 1812, "ratio", 1,0 +; total TS size = 1816 +vvtTarget = scalar, U16, 1816, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1818, "%", 0.5, 0 +; total TS size = 1820 +lambdaCurrentlyGood = bits, U32, 1820, [0:0] +lambdaMonitorCut = bits, U32, 1820, [1:1] +lambdaTimeSinceGood = scalar, U16, 1824, "sec", 0.01, 0 +; total TS size = 1828 time = { timeNow } @@ -3616,6 +3648,7 @@ lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs8 requiresPowerCycle = cylinderBore + requiresPowerCycle = knockFrequency readOnly = warning_message readOnly = device_uid1 @@ -5029,6 +5062,26 @@ gaugeCategory = Knock knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knockSpectrumChannelCylGauge = m_knockSpectrumChannelCyl, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStartGauge = m_knockFrequencyStart, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStepGauge = m_knockFrequencyStep, "Knock Frequency Step", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFuelTrimMultiplier = m_knockFuelTrimMultiplier, "Knock Fuel Trim", "mult", 0, 0, 0, 0, 0, 30, 1, 1 + knockSpectrum1 = m_knockSpectrum1, "Knock Spectrum1", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum2 = m_knockSpectrum2, "knockSpectrum2", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum3 = m_knockSpectrum3, "knockSpectrum3", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum4 = m_knockSpectrum4, "knockSpectrum4", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum5 = m_knockSpectrum5, "knockSpectrum5", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum6 = m_knockSpectrum6, "knockSpectrum6", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum7 = m_knockSpectrum7, "knockSpectrum7", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum8 = m_knockSpectrum8, "knockSpectrum8", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum9 = m_knockSpectrum9, "knockSpectrum9", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum10 = m_knockSpectrum10, "knockSpectrum10", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum11 = m_knockSpectrum11, "knockSpectrum11", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum12 = m_knockSpectrum12, "knockSpectrum12", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum13 = m_knockSpectrum13, "knockSpectrum13", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum14 = m_knockSpectrum14, "knockSpectrum14", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum15 = m_knockSpectrum15, "knockSpectrum15", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum16 = m_knockSpectrum16, "knockSpectrum16", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -5629,6 +5682,26 @@ entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" entry = m_knockCount, "Knock: Count", int, "%d" entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_knockFrequency, "knock: frequency", int, "%d" +entry = m_knockSpectrum1, "Knock: SpectrumData 1", int, "%d" +entry = m_knockSpectrum2, "Knock: SpectrumData 2", int, "%d" +entry = m_knockSpectrum3, "Knock: SpectrumData 3", int, "%d" +entry = m_knockSpectrum4, "Knock: SpectrumData 4", int, "%d" +entry = m_knockSpectrum5, "Knock: SpectrumData 5", int, "%d" +entry = m_knockSpectrum6, "Knock: SpectrumData 6", int, "%d" +entry = m_knockSpectrum7, "Knock: SpectrumData 7", int, "%d" +entry = m_knockSpectrum8, "Knock: SpectrumData 8", int, "%d" +entry = m_knockSpectrum9, "Knock: SpectrumData 9", int, "%d" +entry = m_knockSpectrum10, "Knock: SpectrumData 10", int, "%d" +entry = m_knockSpectrum11, "Knock: SpectrumData 11", int, "%d" +entry = m_knockSpectrum12, "Knock: SpectrumData 12", int, "%d" +entry = m_knockSpectrum13, "Knock: SpectrumData 13", int, "%d" +entry = m_knockSpectrum14, "Knock: SpectrumData 14", int, "%d" +entry = m_knockSpectrum15, "Knock: SpectrumData 15", int, "%d" +entry = m_knockSpectrum16, "Knock: SpectrumData 16", int, "%d" +entry = m_knockSpectrumChannelCyl, "Knock: ChannelAndCylNumber", int, "%d" +entry = m_knockFrequencyStart, "Knock: Start Freq", int, "%d" +entry = m_knockFrequencyStep, "Knock: Step Freq", float, "%.3f" +entry = m_knockFuelTrimMultiplier, "Knock: Fuel trim when knock", float, "%.3f" entry = tcuCurrentGear, "TCU: Current Gear", int, "%d" entry = tcRatio, "TCU: Torque Converter Ratio", float, "%.3f" entry = lastShiftTime, "lastShiftTime", float, "%.3f" @@ -6543,6 +6616,31 @@ dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard graphLine = m_knockFrequency + graphLine = m_knockSpectrum1 + graphLine = m_knockSpectrum2 + liveGraph = knock_controller_6_Graph, "Graph", South + graphLine = m_knockSpectrum3 + graphLine = m_knockSpectrum4 + graphLine = m_knockSpectrum5 + graphLine = m_knockSpectrum6 + liveGraph = knock_controller_7_Graph, "Graph", South + graphLine = m_knockSpectrum7 + graphLine = m_knockSpectrum8 + graphLine = m_knockSpectrum9 + graphLine = m_knockSpectrum10 + liveGraph = knock_controller_8_Graph, "Graph", South + graphLine = m_knockSpectrum11 + graphLine = m_knockSpectrum12 + graphLine = m_knockSpectrum13 + graphLine = m_knockSpectrum14 + liveGraph = knock_controller_9_Graph, "Graph", South + graphLine = m_knockSpectrum15 + graphLine = m_knockSpectrum16 + graphLine = m_knockSpectrumChannelCyl + graphLine = m_knockFrequencyStart + liveGraph = knock_controller_10_Graph, "Graph", South + graphLine = m_knockFrequencyStep + graphLine = m_knockFuelTrimMultiplier indicatorPanel = tcu_controllerIndicatorPanel, 2 indicator = {isShifting}, "isShifting No", "isShifting Yes" @@ -8583,9 +8681,13 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockCfg, "Sense" field = "Enable", enableSoftwareKnock field = "Cylinder Bore", cylinderBore, {enableSoftwareKnock} + field = "Estimated Knock Frequency",knockFrequency, {enableSoftwareKnock} field = "Detection mode", knockDetectionUseDoubleFrequency field = "Detection Window Start",knockDetectionWindowStart, {enableSoftwareKnock} field = "Sampling Duration", knockSamplingDuration, {enableSoftwareKnock} + field = "Enable Knock Spectrogram", enableKnockSpectrogram, {enableSoftwareKnock} + field = "Enable Knock Spectrogram Filter", enableKnockSpectrogramFilter, {enableKnockSpectrogram} + field = "Knock Spectrum Sensitivity", knockSpectrumSensitivity, {enableKnockSpectrogram} field = "" field = "Select the nearest sensor for each cylinder" @@ -8601,6 +8703,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockResponseCfg, "Response" field = knockRetardAggression, knockRetardAggression field = knockRetardReapplyRate, knockRetardReapplyRate + field = knockFuelTrimAggression, knockFuelTrimAggression + field = knockFuelTrimReapplyRate, knockFuelTrimReapplyRate + field = knockFuelTrim, knockFuelTrim + field = knockSuppressMinTps, knockSuppressMinTps dialog = softwareKnockLeft, "" panel = softwareKnockCfg diff --git a/firmware/tunerstudio/generated/rusefi_nucleo_f413.ini b/firmware/tunerstudio/generated/rusefi_nucleo_f413.ini index 2a49ce7948..2cd833ebd4 100644 --- a/firmware/tunerstudio/generated/rusefi_nucleo_f413.ini +++ b/firmware/tunerstudio/generated/rusefi_nucleo_f413.ini @@ -38,12 +38,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.10.21.nucleo_f413.2262948377" + signature = "rusEFI master.2024.10.21.nucleo_f413.1523155174" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.10.21.nucleo_f413.2262948377" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.10.21.nucleo_f413.1523155174" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -774,6 +774,7 @@ devBit7 = bits, U32, 1492, [27:27], "false", "true" unusedSkipWasHere = bits, U32, 1492, [28:28], "false", "true" invertExhaustCamVVTSignal = bits, U32, 1492, [29:29], "Rising", "Falling" enableKnockSpectrogram = bits, U32, 1492, [30:30], "false", "true" +enableKnockSpectrogramFilter = bits, U32, 1492, [31:31], "false", "true" afterCrankingIACtaperDuration = scalar, S16, 1496, "cycles", 1, 0, 0, 5000, 0 iacByTpsTaper = scalar, S16, 1498, "percent", 1, 0, 0, 500, 0 unusedAuxSeria = bits, U16, 1500, [0:8], $gpio_list @@ -1394,7 +1395,13 @@ auxLinear4_v1 = scalar, F32, 3880, "volts", 1, 0, 0, 10, 2 auxLinear4_value1 = scalar, F32, 3884, "", 1, 0, -100000, 1000000, 2 auxLinear4_v2 = scalar, F32, 3888, "volts", 1, 0, 0, 10, 2 auxLinear4_value2 = scalar, F32, 3892, "", 1, 0, -100000, 1000000, 2 -unusedOftenChangesDuringFirmwareUpdate = array, U08, 3896, [128], "units", 1, 0, 0, 1, 0 +knockSuppressMinTps = scalar, U08, 3896, "%", 1, 0, 0, 100, 1 +knockFuelTrimAggression = scalar, U08, 3897, "%", 0.1, 0, 0, 20, 1 +knockFuelTrimReapplyRate = scalar, U08, 3898, "deg/s", 0.1, 0, 0, 10, 1 +knockFuelTrim = scalar, U08, 3899, "%", 1, 0, 0, 30, 1 +knockSpectrumSensitivity = scalar, F32, 3900, "sense", 1, 0, 0, 1, 2 +knockFrequency = scalar, F32, 3904, "Hz", 1, 0, 0, 20000, 2 +unusedOftenChangesDuringFirmwareUpdate = array, U08, 3908, [116], "units", 1, 0, 0, 1, 0 postCrankingFactor = array, F32, 4024, [6x6], "mult", 1, 0, 1, 3, 2 postCrankingDurationBins = array, F32, 4168, [6], "count", 1, 0, 0, 1000, 0 postCrankingCLTBins = array, S16, 4192, [6], "C", 1, 0, -100, 250, 0 @@ -2448,6 +2455,11 @@ minimumOilPressureValues = array, U08, 22960, [8], "kPa", 10.0, 0, 0, 1000, 0 minAcPressure = "value of A/C pressure in kPa before that compressor is disengaged" maxAcPressure = "value of A/C pressure in kPa after that compressor is disengaged" minimumOilPressureTimeout = "Delay before cutting fuel due to low oil pressure. Use this to ignore short pressure blips and sensor noise." + knockSuppressMinTps = "Below TPS value all knock suppression will be disabled." + knockFuelTrimAggression = "Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump)," + knockFuelTrimReapplyRate = "After a knock event, reapply fuel at this rate." + knockFuelTrim = "Fuel trim when knock, max 30%" + knockFrequency = "Estimated knock frequency, ignore cylinderBore if this one > 0" etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, open loop component of PID closed loop control" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2560,7 +2572,7 @@ minimumOilPressureValues = array, U08, 22960, [8], "kPa", 10.0, 0, 0, 1000, 0 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1752 + ochBlockSize = 1828 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3101,370 +3113,390 @@ m_knockThreshold = scalar, F32, 960, "", 1, 0 m_knockCount = scalar, U32, 964, "", 1, 0 m_maximumRetard = scalar, F32, 968, "", 1, 0 m_knockFrequency = scalar, U32, 972, "Hz", 1, 0 -; total TS size = 976 -tcuCurrentGear = scalar, S08, 976, "gear", 1, 0 -tcRatio = scalar, U16, 978, "value", 0.01, 0 -lastShiftTime = scalar, F32, 980, "", 1, 0 -tcu_currentRange = scalar, U08, 984, "", 1, 0 -pressureControlDuty = scalar, S08, 985, "%", 1,0 -torqueConverterDuty = scalar, S08, 986, "%", 1,0 -isShifting = bits, U32, 988, [0:0] -; total TS size = 992 -throttleUseWotModel = bits, U32, 992, [0:0] -throttleModelCrossoverAngle = scalar, S16, 996, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1000, "g/s", 1, 0 -; total TS size = 1004 -m_requested_pump = scalar, F32, 1004, "", 1, 0 -fuel_requested_percent = scalar, F32, 1008, "", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1012, "", 1, 0 -noValve = bits, U32, 1016, [0:0] -angleAboveMin = bits, U32, 1016, [1:1] -isHpfpInactive = bits, U32, 1016, [2:2] -m_pressureTarget_kPa = scalar, F32, 1020, "", 1, 0 -nextLobe = scalar, F32, 1024, "", 1, 0 -di_nextStart = scalar, F32, 1028, "v", 1, 0 -; total TS size = 1032 -m_deadtime = scalar, F32, 1032, "ms", 1, 0 -pressureDelta = scalar, F32, 1036, "kPa", 1, 0 -pressureRatio = scalar, F32, 1040, "", 1, 0 -; total TS size = 1044 -retardThresholdRpm = scalar, S32, 1044, "", 1, 0 -launchActivatePinState = bits, U32, 1048, [0:0] -isPreLaunchCondition = bits, U32, 1048, [1:1] -isLaunchCondition = bits, U32, 1048, [2:2] -isSwitchActivated = bits, U32, 1048, [3:3] -isClutchActivated = bits, U32, 1048, [4:4] -isBrakePedalActivated = bits, U32, 1048, [5:5] -isValidInputPin = bits, U32, 1048, [6:6] -activateSwitchCondition = bits, U32, 1048, [7:7] -rpmLaunchCondition = bits, U32, 1048, [8:8] -rpmPreLaunchCondition = bits, U32, 1048, [9:9] -speedCondition = bits, U32, 1048, [10:10] -tpsCondition = bits, U32, 1048, [11:11] +m_knockSpectrum1 = scalar, U32, 976, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 980, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 984, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 988, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1040, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1042, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1044, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1048, "multiplier", 1, 0 ; total TS size = 1052 -isTorqueReductionTriggerPinValid = bits, U32, 1052, [0:0] -torqueReductionTriggerPinState = bits, U32, 1052, [1:1] -isTimeConditionSatisfied = bits, U32, 1052, [2:2] -isRpmConditionSatisfied = bits, U32, 1052, [3:3] -isAppConditionSatisfied = bits, U32, 1052, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1052, [5:5] -; total TS size = 1056 -isAntilagCondition = bits, U32, 1056, [0:0] -ALSMinRPMCondition = bits, U32, 1056, [1:1] -ALSMaxRPMCondition = bits, U32, 1056, [2:2] -ALSMinCLTCondition = bits, U32, 1056, [3:3] -ALSMaxCLTCondition = bits, U32, 1056, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1056, [5:5] -isALSSwitchActivated = bits, U32, 1056, [6:6] -ALSActivatePinState = bits, U32, 1056, [7:7] -ALSSwitchCondition = bits, U32, 1056, [8:8] -ALSTimerCondition = bits, U32, 1056, [9:9] -fuelALSCorrection = scalar, F32, 1060, "", 1, 0 -timingALSCorrection = scalar, S16, 1064, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1066, "deg", 0.01, 0 +tcuCurrentGear = scalar, S08, 1052, "gear", 1, 0 +tcRatio = scalar, U16, 1054, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1056, "", 1, 0 +tcu_currentRange = scalar, U08, 1060, "", 1, 0 +pressureControlDuty = scalar, S08, 1061, "%", 1,0 +torqueConverterDuty = scalar, S08, 1062, "%", 1,0 +isShifting = bits, U32, 1064, [0:0] ; total TS size = 1068 -isTpsInvalid = bits, U32, 1068, [0:0] -m_shouldResetPid = bits, U32, 1068, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1068, [2:2] -isNotClosedLoop = bits, U32, 1068, [3:3] -isZeroRpm = bits, U32, 1068, [4:4] -hasInitBoost = bits, U32, 1068, [5:5] -rpmTooLow = bits, U32, 1068, [6:6] -tpsTooLow = bits, U32, 1068, [7:7] -mapTooLow = bits, U32, 1068, [8:8] -isPlantValid = bits, U32, 1068, [9:9] -isBoostControlled = bits, U32, 1068, [10:10] -luaTargetAdd = scalar, S16, 1072, "v", 0.5,0 -boostOutput = scalar, S16, 1074, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1076, "v", 1,0 -openLoopPart = scalar, F32, 1080, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1084, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1088, "%", 0.5,0 -boostControlTarget = scalar, S16, 1090, "kPa", 0.03333333333333333,0 -; total TS size = 1092 -acButtonState = scalar, S08, 1092, "", 1, 0 -m_acEnabled = bits, U32, 1096, [0:0] -engineTooSlow = bits, U32, 1096, [1:1] -engineTooFast = bits, U32, 1096, [2:2] -noClt = bits, U32, 1096, [3:3] -engineTooHot = bits, U32, 1096, [4:4] -tpsTooHigh = bits, U32, 1096, [5:5] -isDisabledByLua = bits, U32, 1096, [6:6] -acCompressorState = bits, U32, 1096, [7:7] -acPressureTooLow = bits, U32, 1096, [8:8] -acPressureTooHigh = bits, U32, 1096, [9:9] -; total TS size = 1100 -cranking0 = bits, U32, 1100, [0:0] -notRunning0 = bits, U32, 1100, [1:1] -disabledWhileEngineStopped0 = bits, U32, 1100, [2:2] -brokenClt0 = bits, U32, 1100, [3:3] -enabledForAc0 = bits, U32, 1100, [4:4] -hot0 = bits, U32, 1100, [5:5] -cold0 = bits, U32, 1100, [6:6] -disabledBySpeed0 = bits, U32, 1100, [7:7] -radiatorFanStatus0 = scalar, U08, 1104, "", 1, 0 +throttleUseWotModel = bits, U32, 1068, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1072, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1076, "g/s", 1, 0 +; total TS size = 1080 +m_requested_pump = scalar, F32, 1080, "", 1, 0 +fuel_requested_percent = scalar, F32, 1084, "", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1088, "", 1, 0 +noValve = bits, U32, 1092, [0:0] +angleAboveMin = bits, U32, 1092, [1:1] +isHpfpInactive = bits, U32, 1092, [2:2] +m_pressureTarget_kPa = scalar, F32, 1096, "", 1, 0 +nextLobe = scalar, F32, 1100, "", 1, 0 +di_nextStart = scalar, F32, 1104, "v", 1, 0 ; total TS size = 1108 -cranking1 = bits, U32, 1108, [0:0] -notRunning1 = bits, U32, 1108, [1:1] -disabledWhileEngineStopped1 = bits, U32, 1108, [2:2] -brokenClt1 = bits, U32, 1108, [3:3] -enabledForAc1 = bits, U32, 1108, [4:4] -hot1 = bits, U32, 1108, [5:5] -cold1 = bits, U32, 1108, [6:6] -disabledBySpeed1 = bits, U32, 1108, [7:7] -radiatorFanStatus1 = scalar, U08, 1112, "", 1, 0 -; total TS size = 1116 -isPrime = bits, U32, 1116, [0:0] -engineTurnedRecently = bits, U32, 1116, [1:1] -isFuelPumpOn = bits, U32, 1116, [2:2] -ignitionOn = bits, U32, 1116, [3:3] +m_deadtime = scalar, F32, 1108, "ms", 1, 0 +pressureDelta = scalar, F32, 1112, "kPa", 1, 0 +pressureRatio = scalar, F32, 1116, "", 1, 0 ; total TS size = 1120 -isBenchTest = bits, U32, 1120, [0:0] -hasIgnitionVoltage = bits, U32, 1120, [1:1] -mainRelayState = bits, U32, 1120, [2:2] -delayedShutoffRequested = bits, U32, 1120, [3:3] -; total TS size = 1124 -lua_fuelAdd = scalar, F32, 1124, "g", 1, 0 -lua_fuelMult = scalar, F32, 1128, "", 1, 0 -lua_clutchUpState = bits, U32, 1132, [0:0] -lua_brakePedalState = bits, U32, 1132, [1:1] -lua_acRequestState = bits, U32, 1132, [2:2] -lua_luaDisableEtb = bits, U32, 1132, [3:3] -lua_luaIgnCut = bits, U32, 1132, [4:4] -lua_luaFuelCut = bits, U32, 1132, [5:5] -lua_clutchDownState = bits, U32, 1132, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1132, [7:7] -sd_tCharge = scalar, S16, 1136, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1140, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1144, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1148, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1152, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1156, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1160, "", 1, 0 -hellenBoardId = scalar, S16, 1164, "id", 1, 0 -clutchUpState = scalar, S08, 1166, "", 1, 0 -clutchDownState = scalar, S08, 1167, "", 1, 0 -brakePedalState = scalar, S08, 1168, "", 1, 0 -startStopState = scalar, S08, 1169, "", 1, 0 -smartChipState = scalar, S08, 1170, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1171, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1172, "", 1, 0 -startStopPhysicalState = bits, U32, 1176, [0:0] -acrActive = bits, U32, 1176, [1:1] -acrEngineMovedRecently = bits, U32, 1176, [2:2] -heaterControlEnabled = bits, U32, 1176, [3:3] -luaDigitalState0 = bits, U32, 1176, [4:4] -luaDigitalState1 = bits, U32, 1176, [5:5] -luaDigitalState2 = bits, U32, 1176, [6:6] -luaDigitalState3 = bits, U32, 1176, [7:7] -startStopStateToggleCounter = scalar, U32, 1180, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1184, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1188, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1192, "", 1, 0 -desiredRpmLimit = scalar, S16, 1196, "rpm", 1, 0 -fuelInjectionCounter = scalar, U32, 1200, "", 1, 0 -globalSparkCounter = scalar, U32, 1204, "", 1, 0 -fuelingLoad = scalar, F32, 1208, "", 1, 0 -ignitionLoad = scalar, F32, 1212, "", 1, 0 -veTableYAxis = scalar, U16, 1216, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1218, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1219, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1220, "", 1, 0 -; total TS size = 1224 -tpsFrom = scalar, F32, 1224 -tpsTo = scalar, F32, 1228 -deltaTps = scalar, F32, 1232 -extraFuel = scalar, F32, 1236, "", 1, 0 -valueFromTable = scalar, F32, 1240, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1244, [0:0] -isBelowDecelThreshold = bits, U32, 1244, [1:1] -isTimeToResetAccumulator = bits, U32, 1244, [2:2] -isFractionalEnrichment = bits, U32, 1244, [3:3] -belowEpsilon = bits, U32, 1244, [4:4] -tooShort = bits, U32, 1244, [5:5] -fractionalInjFuel = scalar, F32, 1248, "", 1, 0 -accumulatedValue = scalar, F32, 1252, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1256, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1260, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1264, "", 1, 0 -cycleCnt = scalar, S32, 1268, "", 1, 0 -; total TS size = 1272 -hwEventCounters1 = scalar, U32, 1272, "", 1, 0 -hwEventCounters2 = scalar, U32, 1276, "", 1, 0 -hwEventCounters3 = scalar, U32, 1280, "", 1, 0 -hwEventCounters4 = scalar, U32, 1284, "", 1, 0 -hwEventCounters5 = scalar, U32, 1288, "", 1, 0 -hwEventCounters6 = scalar, U32, 1292, "", 1, 0 -vvtCamCounter = scalar, U32, 1296, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1300, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1304, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1308, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1309, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1312, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1316, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1320, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1324, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1328, [0:0] -triggerElapsedUs = scalar, U32, 1332, "", 1, 0 -; total TS size = 1336 -crankSynchronizationCounter0 = scalar, U32, 1336, "", 1, 0 -vvtSyncGapRatio0 = scalar, F32, 1340, "", 1, 0 -vvtToothDurations00 = scalar, U32, 1344, "us", 1, 0 -vvtCurrentPosition0 = scalar, F32, 1348, "sync: Primary Cam Position", 1, 0 -vvtToothPosition10 = scalar, F32, 1352, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition20 = scalar, F32, 1356, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition30 = scalar, F32, 1360, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition40 = scalar, F32, 1364, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio0 = scalar, F32, 1368, "", 1, 0 -triggerStateIndex0 = scalar, U08, 1372, "", 1, 0 -vvtStateIndex0 = scalar, U08, 1373, "", 1, 0 -; total TS size = 1376 -crankSynchronizationCounter1 = scalar, U32, 1376, "", 1, 0 -vvtSyncGapRatio1 = scalar, F32, 1380, "", 1, 0 -vvtToothDurations01 = scalar, U32, 1384, "us", 1, 0 -vvtCurrentPosition1 = scalar, F32, 1388, "sync: Primary Cam Position", 1, 0 -vvtToothPosition11 = scalar, F32, 1392, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition21 = scalar, F32, 1396, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition31 = scalar, F32, 1400, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition41 = scalar, F32, 1404, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio1 = scalar, F32, 1408, "", 1, 0 -triggerStateIndex1 = scalar, U08, 1412, "", 1, 0 -vvtStateIndex1 = scalar, U08, 1413, "", 1, 0 -; total TS size = 1416 -crankSynchronizationCounter2 = scalar, U32, 1416, "", 1, 0 -vvtSyncGapRatio2 = scalar, F32, 1420, "", 1, 0 -vvtToothDurations02 = scalar, U32, 1424, "us", 1, 0 -vvtCurrentPosition2 = scalar, F32, 1428, "sync: Primary Cam Position", 1, 0 -vvtToothPosition12 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition22 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition32 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition42 = scalar, F32, 1444, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio2 = scalar, F32, 1448, "", 1, 0 -triggerStateIndex2 = scalar, U08, 1452, "", 1, 0 -vvtStateIndex2 = scalar, U08, 1453, "", 1, 0 -; total TS size = 1456 -crankSynchronizationCounter3 = scalar, U32, 1456, "", 1, 0 -vvtSyncGapRatio3 = scalar, F32, 1460, "", 1, 0 -vvtToothDurations03 = scalar, U32, 1464, "us", 1, 0 -vvtCurrentPosition3 = scalar, F32, 1468, "sync: Primary Cam Position", 1, 0 -vvtToothPosition13 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition23 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition33 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition43 = scalar, F32, 1484, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio3 = scalar, F32, 1488, "", 1, 0 -triggerStateIndex3 = scalar, U08, 1492, "", 1, 0 -vvtStateIndex3 = scalar, U08, 1493, "", 1, 0 -; total TS size = 1496 -crankSynchronizationCounter4 = scalar, U32, 1496, "", 1, 0 -vvtSyncGapRatio4 = scalar, F32, 1500, "", 1, 0 -vvtToothDurations04 = scalar, U32, 1504, "us", 1, 0 -vvtCurrentPosition4 = scalar, F32, 1508, "sync: Primary Cam Position", 1, 0 -vvtToothPosition14 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition24 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition34 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition44 = scalar, F32, 1524, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio4 = scalar, F32, 1528, "", 1, 0 -triggerStateIndex4 = scalar, U08, 1532, "", 1, 0 -vvtStateIndex4 = scalar, U08, 1533, "", 1, 0 -; total TS size = 1536 -camResyncCounter = scalar, U08, 1536, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1540, [0:0] -; total TS size = 1544 -wallFuelCorrection = scalar, F32, 1544, "", 1, 0 -wallFuel = scalar, F32, 1548, "", 1, 0 -; total TS size = 1552 -idleState = bits, S32, 1552, [0:2], "not important" -currentIdlePosition = scalar, F32, 1556 -baseIdlePosition = scalar, F32, 1560 -idleClosedLoop = scalar, F32, 1564 -iacByTpsTaper = scalar, F32, 1568 -throttlePedalUpState = scalar, S32, 1572, "", 1, 0 -mightResetPid = bits, U32, 1576, [0:0] -shouldResetPid = bits, U32, 1576, [1:1] -wasResetPid = bits, U32, 1576, [2:2] -mustResetPid = bits, U32, 1576, [3:3] -isCranking = bits, U32, 1576, [4:4] -isIacTableForCoasting = bits, U32, 1576, [5:5] -notIdling = bits, U32, 1576, [6:6] -needReset = bits, U32, 1576, [7:7] -isInDeadZone = bits, U32, 1576, [8:8] -isBlipping = bits, U32, 1576, [9:9] -useClosedLoop = bits, U32, 1576, [10:10] -badTps = bits, U32, 1576, [11:11] -looksLikeRunning = bits, U32, 1576, [12:12] -looksLikeCoasting = bits, U32, 1576, [13:13] -looksLikeCrankToIdle = bits, U32, 1576, [14:14] -isIdleCoasting = bits, U32, 1576, [15:15] -isIdleClosedLoop = bits, U32, 1576, [16:16] -idleTarget = scalar, S32, 1580, "", 1, 0 -targetRpmByClt = scalar, S32, 1584, "", 1, 0 -targetRpmAc = scalar, S32, 1588, "", 1, 0 -iacByRpmTaper = scalar, F32, 1592 -luaAdd = scalar, F32, 1596 -; total TS size = 1600 -targetWithIdlePosition0 = scalar, F32, 1600, "per", 1,0 -trim0 = scalar, F32, 1604, "", 1, 0 -luaAdjustment0 = scalar, F32, 1608, "per", 1,0 -m_wastegatePosition0 = scalar, F32, 1612, "per", 1,0 -etbFeedForward0 = scalar, F32, 1616 -etbIntegralError0 = scalar, F32, 1620, "", 1, 0 -etbCurrentTarget0 = scalar, F32, 1624, "%", 1, 0 -etbCurrentAdjustedTarget0 = scalar, F32, 1628, "%", 1, 0 -etbRevLimitActive0 = bits, U32, 1632, [0:0] -jamDetected0 = bits, U32, 1632, [1:1] -etbTpsErrorCounter0 = scalar, U16, 1636, "count", 1,0 -etbPpsErrorCounter0 = scalar, U16, 1638, "count", 1,0 -etbErrorCode0 = scalar, S08, 1640, "", 1, 0 -tcEtbDrop0 = scalar, S08, 1641, "%", 1, 0 -jamTimer0 = scalar, U16, 1642, "sec", 0.01, 0 -adjustedEtbTarget0 = scalar, S08, 1644, "%", 1, 0 -; total TS size = 1648 -targetWithIdlePosition1 = scalar, F32, 1648, "per", 1,0 -trim1 = scalar, F32, 1652, "", 1, 0 -luaAdjustment1 = scalar, F32, 1656, "per", 1,0 -m_wastegatePosition1 = scalar, F32, 1660, "per", 1,0 -etbFeedForward1 = scalar, F32, 1664 -etbIntegralError1 = scalar, F32, 1668, "", 1, 0 -etbCurrentTarget1 = scalar, F32, 1672, "%", 1, 0 -etbCurrentAdjustedTarget1 = scalar, F32, 1676, "%", 1, 0 -etbRevLimitActive1 = bits, U32, 1680, [0:0] -jamDetected1 = bits, U32, 1680, [1:1] -etbTpsErrorCounter1 = scalar, U16, 1684, "count", 1,0 -etbPpsErrorCounter1 = scalar, U16, 1686, "count", 1,0 -etbErrorCode1 = scalar, S08, 1688, "", 1, 0 -tcEtbDrop1 = scalar, S08, 1689, "%", 1, 0 -jamTimer1 = scalar, U16, 1690, "sec", 0.01, 0 -adjustedEtbTarget1 = scalar, S08, 1692, "%", 1, 0 -; total TS size = 1696 -faultCode0 = scalar, U08, 1696, "", 1, 0 -heaterDuty0 = scalar, U08, 1697, "%", 1, 0 -pumpDuty0 = scalar, U08, 1698, "%", 1, 0 -tempC0 = scalar, U16, 1700, "C", 1, 0 -nernstVoltage0 = scalar, U16, 1702, "V", 0.001, 0 -esr0 = scalar, U16, 1704, "ohm", 1, 0 -; total TS size = 1708 -faultCode1 = scalar, U08, 1708, "", 1, 0 -heaterDuty1 = scalar, U08, 1709, "%", 1, 0 -pumpDuty1 = scalar, U08, 1710, "%", 1, 0 -tempC1 = scalar, U16, 1712, "C", 1, 0 -nernstVoltage1 = scalar, U16, 1714, "V", 0.001, 0 -esr1 = scalar, U16, 1716, "ohm", 1, 0 -; total TS size = 1720 -dcOutput0 = scalar, F32, 1720, "per", 1,0 -isEnabled0_int = scalar, U08, 1724, "per", 1,0 -isEnabled0 = bits, U32, 1728, [0:0] -; total TS size = 1732 -value0 = scalar, U16, 1732, "value", 1,0 -value1 = scalar, U16, 1734, "value", 1,0 -errorRate = scalar, F32, 1736, "ratio", 1,0 -; total TS size = 1740 -vvtTarget = scalar, U16, 1740, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1742, "%", 0.5, 0 -; total TS size = 1744 -lambdaCurrentlyGood = bits, U32, 1744, [0:0] -lambdaMonitorCut = bits, U32, 1744, [1:1] -lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 -; total TS size = 1752 +retardThresholdRpm = scalar, S32, 1120, "", 1, 0 +launchActivatePinState = bits, U32, 1124, [0:0] +isPreLaunchCondition = bits, U32, 1124, [1:1] +isLaunchCondition = bits, U32, 1124, [2:2] +isSwitchActivated = bits, U32, 1124, [3:3] +isClutchActivated = bits, U32, 1124, [4:4] +isBrakePedalActivated = bits, U32, 1124, [5:5] +isValidInputPin = bits, U32, 1124, [6:6] +activateSwitchCondition = bits, U32, 1124, [7:7] +rpmLaunchCondition = bits, U32, 1124, [8:8] +rpmPreLaunchCondition = bits, U32, 1124, [9:9] +speedCondition = bits, U32, 1124, [10:10] +tpsCondition = bits, U32, 1124, [11:11] +; total TS size = 1128 +isTorqueReductionTriggerPinValid = bits, U32, 1128, [0:0] +torqueReductionTriggerPinState = bits, U32, 1128, [1:1] +isTimeConditionSatisfied = bits, U32, 1128, [2:2] +isRpmConditionSatisfied = bits, U32, 1128, [3:3] +isAppConditionSatisfied = bits, U32, 1128, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1128, [5:5] +; total TS size = 1132 +isAntilagCondition = bits, U32, 1132, [0:0] +ALSMinRPMCondition = bits, U32, 1132, [1:1] +ALSMaxRPMCondition = bits, U32, 1132, [2:2] +ALSMinCLTCondition = bits, U32, 1132, [3:3] +ALSMaxCLTCondition = bits, U32, 1132, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1132, [5:5] +isALSSwitchActivated = bits, U32, 1132, [6:6] +ALSActivatePinState = bits, U32, 1132, [7:7] +ALSSwitchCondition = bits, U32, 1132, [8:8] +ALSTimerCondition = bits, U32, 1132, [9:9] +fuelALSCorrection = scalar, F32, 1136, "", 1, 0 +timingALSCorrection = scalar, S16, 1140, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1142, "deg", 0.01, 0 +; total TS size = 1144 +isTpsInvalid = bits, U32, 1144, [0:0] +m_shouldResetPid = bits, U32, 1144, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1144, [2:2] +isNotClosedLoop = bits, U32, 1144, [3:3] +isZeroRpm = bits, U32, 1144, [4:4] +hasInitBoost = bits, U32, 1144, [5:5] +rpmTooLow = bits, U32, 1144, [6:6] +tpsTooLow = bits, U32, 1144, [7:7] +mapTooLow = bits, U32, 1144, [8:8] +isPlantValid = bits, U32, 1144, [9:9] +isBoostControlled = bits, U32, 1144, [10:10] +luaTargetAdd = scalar, S16, 1148, "v", 0.5,0 +boostOutput = scalar, S16, 1150, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1152, "v", 1,0 +openLoopPart = scalar, F32, 1156, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1160, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1164, "%", 0.5,0 +boostControlTarget = scalar, S16, 1166, "kPa", 0.03333333333333333,0 +; total TS size = 1168 +acButtonState = scalar, S08, 1168, "", 1, 0 +m_acEnabled = bits, U32, 1172, [0:0] +engineTooSlow = bits, U32, 1172, [1:1] +engineTooFast = bits, U32, 1172, [2:2] +noClt = bits, U32, 1172, [3:3] +engineTooHot = bits, U32, 1172, [4:4] +tpsTooHigh = bits, U32, 1172, [5:5] +isDisabledByLua = bits, U32, 1172, [6:6] +acCompressorState = bits, U32, 1172, [7:7] +acPressureTooLow = bits, U32, 1172, [8:8] +acPressureTooHigh = bits, U32, 1172, [9:9] +; total TS size = 1176 +cranking0 = bits, U32, 1176, [0:0] +notRunning0 = bits, U32, 1176, [1:1] +disabledWhileEngineStopped0 = bits, U32, 1176, [2:2] +brokenClt0 = bits, U32, 1176, [3:3] +enabledForAc0 = bits, U32, 1176, [4:4] +hot0 = bits, U32, 1176, [5:5] +cold0 = bits, U32, 1176, [6:6] +disabledBySpeed0 = bits, U32, 1176, [7:7] +radiatorFanStatus0 = scalar, U08, 1180, "", 1, 0 +; total TS size = 1184 +cranking1 = bits, U32, 1184, [0:0] +notRunning1 = bits, U32, 1184, [1:1] +disabledWhileEngineStopped1 = bits, U32, 1184, [2:2] +brokenClt1 = bits, U32, 1184, [3:3] +enabledForAc1 = bits, U32, 1184, [4:4] +hot1 = bits, U32, 1184, [5:5] +cold1 = bits, U32, 1184, [6:6] +disabledBySpeed1 = bits, U32, 1184, [7:7] +radiatorFanStatus1 = scalar, U08, 1188, "", 1, 0 +; total TS size = 1192 +isPrime = bits, U32, 1192, [0:0] +engineTurnedRecently = bits, U32, 1192, [1:1] +isFuelPumpOn = bits, U32, 1192, [2:2] +ignitionOn = bits, U32, 1192, [3:3] +; total TS size = 1196 +isBenchTest = bits, U32, 1196, [0:0] +hasIgnitionVoltage = bits, U32, 1196, [1:1] +mainRelayState = bits, U32, 1196, [2:2] +delayedShutoffRequested = bits, U32, 1196, [3:3] +; total TS size = 1200 +lua_fuelAdd = scalar, F32, 1200, "g", 1, 0 +lua_fuelMult = scalar, F32, 1204, "", 1, 0 +lua_clutchUpState = bits, U32, 1208, [0:0] +lua_brakePedalState = bits, U32, 1208, [1:1] +lua_acRequestState = bits, U32, 1208, [2:2] +lua_luaDisableEtb = bits, U32, 1208, [3:3] +lua_luaIgnCut = bits, U32, 1208, [4:4] +lua_luaFuelCut = bits, U32, 1208, [5:5] +lua_clutchDownState = bits, U32, 1208, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1208, [7:7] +sd_tCharge = scalar, S16, 1212, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1216, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1220, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1224, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1228, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1232, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1236, "", 1, 0 +hellenBoardId = scalar, S16, 1240, "id", 1, 0 +clutchUpState = scalar, S08, 1242, "", 1, 0 +clutchDownState = scalar, S08, 1243, "", 1, 0 +brakePedalState = scalar, S08, 1244, "", 1, 0 +startStopState = scalar, S08, 1245, "", 1, 0 +smartChipState = scalar, S08, 1246, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1247, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1248, "", 1, 0 +startStopPhysicalState = bits, U32, 1252, [0:0] +acrActive = bits, U32, 1252, [1:1] +acrEngineMovedRecently = bits, U32, 1252, [2:2] +heaterControlEnabled = bits, U32, 1252, [3:3] +luaDigitalState0 = bits, U32, 1252, [4:4] +luaDigitalState1 = bits, U32, 1252, [5:5] +luaDigitalState2 = bits, U32, 1252, [6:6] +luaDigitalState3 = bits, U32, 1252, [7:7] +startStopStateToggleCounter = scalar, U32, 1256, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1260, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1264, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1268, "", 1, 0 +desiredRpmLimit = scalar, S16, 1272, "rpm", 1, 0 +fuelInjectionCounter = scalar, U32, 1276, "", 1, 0 +globalSparkCounter = scalar, U32, 1280, "", 1, 0 +fuelingLoad = scalar, F32, 1284, "", 1, 0 +ignitionLoad = scalar, F32, 1288, "", 1, 0 +veTableYAxis = scalar, U16, 1292, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1294, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1295, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1296, "", 1, 0 +; total TS size = 1300 +tpsFrom = scalar, F32, 1300 +tpsTo = scalar, F32, 1304 +deltaTps = scalar, F32, 1308 +extraFuel = scalar, F32, 1312, "", 1, 0 +valueFromTable = scalar, F32, 1316, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1320, [0:0] +isBelowDecelThreshold = bits, U32, 1320, [1:1] +isTimeToResetAccumulator = bits, U32, 1320, [2:2] +isFractionalEnrichment = bits, U32, 1320, [3:3] +belowEpsilon = bits, U32, 1320, [4:4] +tooShort = bits, U32, 1320, [5:5] +fractionalInjFuel = scalar, F32, 1324, "", 1, 0 +accumulatedValue = scalar, F32, 1328, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1332, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1336, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1340, "", 1, 0 +cycleCnt = scalar, S32, 1344, "", 1, 0 +; total TS size = 1348 +hwEventCounters1 = scalar, U32, 1348, "", 1, 0 +hwEventCounters2 = scalar, U32, 1352, "", 1, 0 +hwEventCounters3 = scalar, U32, 1356, "", 1, 0 +hwEventCounters4 = scalar, U32, 1360, "", 1, 0 +hwEventCounters5 = scalar, U32, 1364, "", 1, 0 +hwEventCounters6 = scalar, U32, 1368, "", 1, 0 +vvtCamCounter = scalar, U32, 1372, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1376, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1380, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1384, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1385, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1388, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1392, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1396, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1400, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1404, [0:0] +triggerElapsedUs = scalar, U32, 1408, "", 1, 0 +; total TS size = 1412 +crankSynchronizationCounter0 = scalar, U32, 1412, "", 1, 0 +vvtSyncGapRatio0 = scalar, F32, 1416, "", 1, 0 +vvtToothDurations00 = scalar, U32, 1420, "us", 1, 0 +vvtCurrentPosition0 = scalar, F32, 1424, "sync: Primary Cam Position", 1, 0 +vvtToothPosition10 = scalar, F32, 1428, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition20 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition30 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition40 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio0 = scalar, F32, 1444, "", 1, 0 +triggerStateIndex0 = scalar, U08, 1448, "", 1, 0 +vvtStateIndex0 = scalar, U08, 1449, "", 1, 0 +; total TS size = 1452 +crankSynchronizationCounter1 = scalar, U32, 1452, "", 1, 0 +vvtSyncGapRatio1 = scalar, F32, 1456, "", 1, 0 +vvtToothDurations01 = scalar, U32, 1460, "us", 1, 0 +vvtCurrentPosition1 = scalar, F32, 1464, "sync: Primary Cam Position", 1, 0 +vvtToothPosition11 = scalar, F32, 1468, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition21 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition31 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition41 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio1 = scalar, F32, 1484, "", 1, 0 +triggerStateIndex1 = scalar, U08, 1488, "", 1, 0 +vvtStateIndex1 = scalar, U08, 1489, "", 1, 0 +; total TS size = 1492 +crankSynchronizationCounter2 = scalar, U32, 1492, "", 1, 0 +vvtSyncGapRatio2 = scalar, F32, 1496, "", 1, 0 +vvtToothDurations02 = scalar, U32, 1500, "us", 1, 0 +vvtCurrentPosition2 = scalar, F32, 1504, "sync: Primary Cam Position", 1, 0 +vvtToothPosition12 = scalar, F32, 1508, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition22 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition32 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition42 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio2 = scalar, F32, 1524, "", 1, 0 +triggerStateIndex2 = scalar, U08, 1528, "", 1, 0 +vvtStateIndex2 = scalar, U08, 1529, "", 1, 0 +; total TS size = 1532 +crankSynchronizationCounter3 = scalar, U32, 1532, "", 1, 0 +vvtSyncGapRatio3 = scalar, F32, 1536, "", 1, 0 +vvtToothDurations03 = scalar, U32, 1540, "us", 1, 0 +vvtCurrentPosition3 = scalar, F32, 1544, "sync: Primary Cam Position", 1, 0 +vvtToothPosition13 = scalar, F32, 1548, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition23 = scalar, F32, 1552, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition33 = scalar, F32, 1556, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition43 = scalar, F32, 1560, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio3 = scalar, F32, 1564, "", 1, 0 +triggerStateIndex3 = scalar, U08, 1568, "", 1, 0 +vvtStateIndex3 = scalar, U08, 1569, "", 1, 0 +; total TS size = 1572 +crankSynchronizationCounter4 = scalar, U32, 1572, "", 1, 0 +vvtSyncGapRatio4 = scalar, F32, 1576, "", 1, 0 +vvtToothDurations04 = scalar, U32, 1580, "us", 1, 0 +vvtCurrentPosition4 = scalar, F32, 1584, "sync: Primary Cam Position", 1, 0 +vvtToothPosition14 = scalar, F32, 1588, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition24 = scalar, F32, 1592, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition34 = scalar, F32, 1596, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition44 = scalar, F32, 1600, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio4 = scalar, F32, 1604, "", 1, 0 +triggerStateIndex4 = scalar, U08, 1608, "", 1, 0 +vvtStateIndex4 = scalar, U08, 1609, "", 1, 0 +; total TS size = 1612 +camResyncCounter = scalar, U08, 1612, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1616, [0:0] +; total TS size = 1620 +wallFuelCorrection = scalar, F32, 1620, "", 1, 0 +wallFuel = scalar, F32, 1624, "", 1, 0 +; total TS size = 1628 +idleState = bits, S32, 1628, [0:2], "not important" +currentIdlePosition = scalar, F32, 1632 +baseIdlePosition = scalar, F32, 1636 +idleClosedLoop = scalar, F32, 1640 +iacByTpsTaper = scalar, F32, 1644 +throttlePedalUpState = scalar, S32, 1648, "", 1, 0 +mightResetPid = bits, U32, 1652, [0:0] +shouldResetPid = bits, U32, 1652, [1:1] +wasResetPid = bits, U32, 1652, [2:2] +mustResetPid = bits, U32, 1652, [3:3] +isCranking = bits, U32, 1652, [4:4] +isIacTableForCoasting = bits, U32, 1652, [5:5] +notIdling = bits, U32, 1652, [6:6] +needReset = bits, U32, 1652, [7:7] +isInDeadZone = bits, U32, 1652, [8:8] +isBlipping = bits, U32, 1652, [9:9] +useClosedLoop = bits, U32, 1652, [10:10] +badTps = bits, U32, 1652, [11:11] +looksLikeRunning = bits, U32, 1652, [12:12] +looksLikeCoasting = bits, U32, 1652, [13:13] +looksLikeCrankToIdle = bits, U32, 1652, [14:14] +isIdleCoasting = bits, U32, 1652, [15:15] +isIdleClosedLoop = bits, U32, 1652, [16:16] +idleTarget = scalar, S32, 1656, "", 1, 0 +targetRpmByClt = scalar, S32, 1660, "", 1, 0 +targetRpmAc = scalar, S32, 1664, "", 1, 0 +iacByRpmTaper = scalar, F32, 1668 +luaAdd = scalar, F32, 1672 +; total TS size = 1676 +targetWithIdlePosition0 = scalar, F32, 1676, "per", 1,0 +trim0 = scalar, F32, 1680, "", 1, 0 +luaAdjustment0 = scalar, F32, 1684, "per", 1,0 +m_wastegatePosition0 = scalar, F32, 1688, "per", 1,0 +etbFeedForward0 = scalar, F32, 1692 +etbIntegralError0 = scalar, F32, 1696, "", 1, 0 +etbCurrentTarget0 = scalar, F32, 1700, "%", 1, 0 +etbCurrentAdjustedTarget0 = scalar, F32, 1704, "%", 1, 0 +etbRevLimitActive0 = bits, U32, 1708, [0:0] +jamDetected0 = bits, U32, 1708, [1:1] +etbTpsErrorCounter0 = scalar, U16, 1712, "count", 1,0 +etbPpsErrorCounter0 = scalar, U16, 1714, "count", 1,0 +etbErrorCode0 = scalar, S08, 1716, "", 1, 0 +tcEtbDrop0 = scalar, S08, 1717, "%", 1, 0 +jamTimer0 = scalar, U16, 1718, "sec", 0.01, 0 +adjustedEtbTarget0 = scalar, S08, 1720, "%", 1, 0 +; total TS size = 1724 +targetWithIdlePosition1 = scalar, F32, 1724, "per", 1,0 +trim1 = scalar, F32, 1728, "", 1, 0 +luaAdjustment1 = scalar, F32, 1732, "per", 1,0 +m_wastegatePosition1 = scalar, F32, 1736, "per", 1,0 +etbFeedForward1 = scalar, F32, 1740 +etbIntegralError1 = scalar, F32, 1744, "", 1, 0 +etbCurrentTarget1 = scalar, F32, 1748, "%", 1, 0 +etbCurrentAdjustedTarget1 = scalar, F32, 1752, "%", 1, 0 +etbRevLimitActive1 = bits, U32, 1756, [0:0] +jamDetected1 = bits, U32, 1756, [1:1] +etbTpsErrorCounter1 = scalar, U16, 1760, "count", 1,0 +etbPpsErrorCounter1 = scalar, U16, 1762, "count", 1,0 +etbErrorCode1 = scalar, S08, 1764, "", 1, 0 +tcEtbDrop1 = scalar, S08, 1765, "%", 1, 0 +jamTimer1 = scalar, U16, 1766, "sec", 0.01, 0 +adjustedEtbTarget1 = scalar, S08, 1768, "%", 1, 0 +; total TS size = 1772 +faultCode0 = scalar, U08, 1772, "", 1, 0 +heaterDuty0 = scalar, U08, 1773, "%", 1, 0 +pumpDuty0 = scalar, U08, 1774, "%", 1, 0 +tempC0 = scalar, U16, 1776, "C", 1, 0 +nernstVoltage0 = scalar, U16, 1778, "V", 0.001, 0 +esr0 = scalar, U16, 1780, "ohm", 1, 0 +; total TS size = 1784 +faultCode1 = scalar, U08, 1784, "", 1, 0 +heaterDuty1 = scalar, U08, 1785, "%", 1, 0 +pumpDuty1 = scalar, U08, 1786, "%", 1, 0 +tempC1 = scalar, U16, 1788, "C", 1, 0 +nernstVoltage1 = scalar, U16, 1790, "V", 0.001, 0 +esr1 = scalar, U16, 1792, "ohm", 1, 0 +; total TS size = 1796 +dcOutput0 = scalar, F32, 1796, "per", 1,0 +isEnabled0_int = scalar, U08, 1800, "per", 1,0 +isEnabled0 = bits, U32, 1804, [0:0] +; total TS size = 1808 +value0 = scalar, U16, 1808, "value", 1,0 +value1 = scalar, U16, 1810, "value", 1,0 +errorRate = scalar, F32, 1812, "ratio", 1,0 +; total TS size = 1816 +vvtTarget = scalar, U16, 1816, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1818, "%", 0.5, 0 +; total TS size = 1820 +lambdaCurrentlyGood = bits, U32, 1820, [0:0] +lambdaMonitorCut = bits, U32, 1820, [1:1] +lambdaTimeSinceGood = scalar, U16, 1824, "sec", 0.01, 0 +; total TS size = 1828 time = { timeNow } @@ -3616,6 +3648,7 @@ lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs8 requiresPowerCycle = cylinderBore + requiresPowerCycle = knockFrequency readOnly = warning_message readOnly = device_uid1 @@ -5033,6 +5066,26 @@ gaugeCategory = Knock knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knockSpectrumChannelCylGauge = m_knockSpectrumChannelCyl, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStartGauge = m_knockFrequencyStart, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStepGauge = m_knockFrequencyStep, "Knock Frequency Step", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFuelTrimMultiplier = m_knockFuelTrimMultiplier, "Knock Fuel Trim", "mult", 0, 0, 0, 0, 0, 30, 1, 1 + knockSpectrum1 = m_knockSpectrum1, "Knock Spectrum1", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum2 = m_knockSpectrum2, "knockSpectrum2", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum3 = m_knockSpectrum3, "knockSpectrum3", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum4 = m_knockSpectrum4, "knockSpectrum4", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum5 = m_knockSpectrum5, "knockSpectrum5", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum6 = m_knockSpectrum6, "knockSpectrum6", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum7 = m_knockSpectrum7, "knockSpectrum7", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum8 = m_knockSpectrum8, "knockSpectrum8", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum9 = m_knockSpectrum9, "knockSpectrum9", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum10 = m_knockSpectrum10, "knockSpectrum10", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum11 = m_knockSpectrum11, "knockSpectrum11", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum12 = m_knockSpectrum12, "knockSpectrum12", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum13 = m_knockSpectrum13, "knockSpectrum13", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum14 = m_knockSpectrum14, "knockSpectrum14", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum15 = m_knockSpectrum15, "knockSpectrum15", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum16 = m_knockSpectrum16, "knockSpectrum16", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -5631,6 +5684,26 @@ entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" entry = m_knockCount, "Knock: Count", int, "%d" entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_knockFrequency, "knock: frequency", int, "%d" +entry = m_knockSpectrum1, "Knock: SpectrumData 1", int, "%d" +entry = m_knockSpectrum2, "Knock: SpectrumData 2", int, "%d" +entry = m_knockSpectrum3, "Knock: SpectrumData 3", int, "%d" +entry = m_knockSpectrum4, "Knock: SpectrumData 4", int, "%d" +entry = m_knockSpectrum5, "Knock: SpectrumData 5", int, "%d" +entry = m_knockSpectrum6, "Knock: SpectrumData 6", int, "%d" +entry = m_knockSpectrum7, "Knock: SpectrumData 7", int, "%d" +entry = m_knockSpectrum8, "Knock: SpectrumData 8", int, "%d" +entry = m_knockSpectrum9, "Knock: SpectrumData 9", int, "%d" +entry = m_knockSpectrum10, "Knock: SpectrumData 10", int, "%d" +entry = m_knockSpectrum11, "Knock: SpectrumData 11", int, "%d" +entry = m_knockSpectrum12, "Knock: SpectrumData 12", int, "%d" +entry = m_knockSpectrum13, "Knock: SpectrumData 13", int, "%d" +entry = m_knockSpectrum14, "Knock: SpectrumData 14", int, "%d" +entry = m_knockSpectrum15, "Knock: SpectrumData 15", int, "%d" +entry = m_knockSpectrum16, "Knock: SpectrumData 16", int, "%d" +entry = m_knockSpectrumChannelCyl, "Knock: ChannelAndCylNumber", int, "%d" +entry = m_knockFrequencyStart, "Knock: Start Freq", int, "%d" +entry = m_knockFrequencyStep, "Knock: Step Freq", float, "%.3f" +entry = m_knockFuelTrimMultiplier, "Knock: Fuel trim when knock", float, "%.3f" entry = tcuCurrentGear, "TCU: Current Gear", int, "%d" entry = tcRatio, "TCU: Torque Converter Ratio", float, "%.3f" entry = lastShiftTime, "lastShiftTime", float, "%.3f" @@ -6527,6 +6600,31 @@ dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard graphLine = m_knockFrequency + graphLine = m_knockSpectrum1 + graphLine = m_knockSpectrum2 + liveGraph = knock_controller_6_Graph, "Graph", South + graphLine = m_knockSpectrum3 + graphLine = m_knockSpectrum4 + graphLine = m_knockSpectrum5 + graphLine = m_knockSpectrum6 + liveGraph = knock_controller_7_Graph, "Graph", South + graphLine = m_knockSpectrum7 + graphLine = m_knockSpectrum8 + graphLine = m_knockSpectrum9 + graphLine = m_knockSpectrum10 + liveGraph = knock_controller_8_Graph, "Graph", South + graphLine = m_knockSpectrum11 + graphLine = m_knockSpectrum12 + graphLine = m_knockSpectrum13 + graphLine = m_knockSpectrum14 + liveGraph = knock_controller_9_Graph, "Graph", South + graphLine = m_knockSpectrum15 + graphLine = m_knockSpectrum16 + graphLine = m_knockSpectrumChannelCyl + graphLine = m_knockFrequencyStart + liveGraph = knock_controller_10_Graph, "Graph", South + graphLine = m_knockFrequencyStep + graphLine = m_knockFuelTrimMultiplier indicatorPanel = tcu_controllerIndicatorPanel, 2 indicator = {isShifting}, "isShifting No", "isShifting Yes" @@ -8595,9 +8693,13 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockCfg, "Sense" field = "Enable", enableSoftwareKnock field = "Cylinder Bore", cylinderBore, {enableSoftwareKnock} + field = "Estimated Knock Frequency",knockFrequency, {enableSoftwareKnock} field = "Detection mode", knockDetectionUseDoubleFrequency field = "Detection Window Start",knockDetectionWindowStart, {enableSoftwareKnock} field = "Sampling Duration", knockSamplingDuration, {enableSoftwareKnock} + field = "Enable Knock Spectrogram", enableKnockSpectrogram, {enableSoftwareKnock} + field = "Enable Knock Spectrogram Filter", enableKnockSpectrogramFilter, {enableKnockSpectrogram} + field = "Knock Spectrum Sensitivity", knockSpectrumSensitivity, {enableKnockSpectrogram} field = "" field = "Select the nearest sensor for each cylinder" @@ -8617,6 +8719,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockResponseCfg, "Response" field = knockRetardAggression, knockRetardAggression field = knockRetardReapplyRate, knockRetardReapplyRate + field = knockFuelTrimAggression, knockFuelTrimAggression + field = knockFuelTrimReapplyRate, knockFuelTrimReapplyRate + field = knockFuelTrim, knockFuelTrim + field = knockSuppressMinTps, knockSuppressMinTps dialog = softwareKnockLeft, "" panel = softwareKnockCfg diff --git a/firmware/tunerstudio/generated/rusefi_proteus_f4.ini b/firmware/tunerstudio/generated/rusefi_proteus_f4.ini index ca7d385b99..b8f55f542c 100644 --- a/firmware/tunerstudio/generated/rusefi_proteus_f4.ini +++ b/firmware/tunerstudio/generated/rusefi_proteus_f4.ini @@ -38,12 +38,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.10.21.proteus_f4.3780242052" + signature = "rusEFI master.2024.10.21.proteus_f4.1031385211" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.10.21.proteus_f4.3780242052" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.10.21.proteus_f4.1031385211" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -774,6 +774,7 @@ devBit7 = bits, U32, 1492, [27:27], "false", "true" unusedSkipWasHere = bits, U32, 1492, [28:28], "false", "true" invertExhaustCamVVTSignal = bits, U32, 1492, [29:29], "Rising", "Falling" enableKnockSpectrogram = bits, U32, 1492, [30:30], "false", "true" +enableKnockSpectrogramFilter = bits, U32, 1492, [31:31], "false", "true" afterCrankingIACtaperDuration = scalar, S16, 1496, "cycles", 1, 0, 0, 5000, 0 iacByTpsTaper = scalar, S16, 1498, "percent", 1, 0, 0, 500, 0 unusedAuxSeria = bits, U16, 1500, [0:8], $gpio_list @@ -1394,7 +1395,13 @@ auxLinear4_v1 = scalar, F32, 3880, "volts", 1, 0, 0, 10, 2 auxLinear4_value1 = scalar, F32, 3884, "", 1, 0, -100000, 1000000, 2 auxLinear4_v2 = scalar, F32, 3888, "volts", 1, 0, 0, 10, 2 auxLinear4_value2 = scalar, F32, 3892, "", 1, 0, -100000, 1000000, 2 -unusedOftenChangesDuringFirmwareUpdate = array, U08, 3896, [128], "units", 1, 0, 0, 1, 0 +knockSuppressMinTps = scalar, U08, 3896, "%", 1, 0, 0, 100, 1 +knockFuelTrimAggression = scalar, U08, 3897, "%", 0.1, 0, 0, 20, 1 +knockFuelTrimReapplyRate = scalar, U08, 3898, "deg/s", 0.1, 0, 0, 10, 1 +knockFuelTrim = scalar, U08, 3899, "%", 1, 0, 0, 30, 1 +knockSpectrumSensitivity = scalar, F32, 3900, "sense", 1, 0, 0, 1, 2 +knockFrequency = scalar, F32, 3904, "Hz", 1, 0, 0, 20000, 2 +unusedOftenChangesDuringFirmwareUpdate = array, U08, 3908, [116], "units", 1, 0, 0, 1, 0 postCrankingFactor = array, F32, 4024, [6x6], "mult", 1, 0, 1, 3, 2 postCrankingDurationBins = array, F32, 4168, [6], "count", 1, 0, 0, 1000, 0 postCrankingCLTBins = array, S16, 4192, [6], "C", 1, 0, -100, 250, 0 @@ -2448,6 +2455,11 @@ minimumOilPressureValues = array, U08, 28460, [8], "kPa", 10.0, 0, 0, 1000, 0 minAcPressure = "value of A/C pressure in kPa before that compressor is disengaged" maxAcPressure = "value of A/C pressure in kPa after that compressor is disengaged" minimumOilPressureTimeout = "Delay before cutting fuel due to low oil pressure. Use this to ignore short pressure blips and sensor noise." + knockSuppressMinTps = "Below TPS value all knock suppression will be disabled." + knockFuelTrimAggression = "Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump)," + knockFuelTrimReapplyRate = "After a knock event, reapply fuel at this rate." + knockFuelTrim = "Fuel trim when knock, max 30%" + knockFrequency = "Estimated knock frequency, ignore cylinderBore if this one > 0" etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, open loop component of PID closed loop control" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2560,7 +2572,7 @@ minimumOilPressureValues = array, U08, 28460, [8], "kPa", 10.0, 0, 0, 1000, 0 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1752 + ochBlockSize = 1828 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3101,370 +3113,390 @@ m_knockThreshold = scalar, F32, 960, "", 1, 0 m_knockCount = scalar, U32, 964, "", 1, 0 m_maximumRetard = scalar, F32, 968, "", 1, 0 m_knockFrequency = scalar, U32, 972, "Hz", 1, 0 -; total TS size = 976 -tcuCurrentGear = scalar, S08, 976, "gear", 1, 0 -tcRatio = scalar, U16, 978, "value", 0.01, 0 -lastShiftTime = scalar, F32, 980, "", 1, 0 -tcu_currentRange = scalar, U08, 984, "", 1, 0 -pressureControlDuty = scalar, S08, 985, "%", 1,0 -torqueConverterDuty = scalar, S08, 986, "%", 1,0 -isShifting = bits, U32, 988, [0:0] -; total TS size = 992 -throttleUseWotModel = bits, U32, 992, [0:0] -throttleModelCrossoverAngle = scalar, S16, 996, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1000, "g/s", 1, 0 -; total TS size = 1004 -m_requested_pump = scalar, F32, 1004, "", 1, 0 -fuel_requested_percent = scalar, F32, 1008, "", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1012, "", 1, 0 -noValve = bits, U32, 1016, [0:0] -angleAboveMin = bits, U32, 1016, [1:1] -isHpfpInactive = bits, U32, 1016, [2:2] -m_pressureTarget_kPa = scalar, F32, 1020, "", 1, 0 -nextLobe = scalar, F32, 1024, "", 1, 0 -di_nextStart = scalar, F32, 1028, "v", 1, 0 -; total TS size = 1032 -m_deadtime = scalar, F32, 1032, "ms", 1, 0 -pressureDelta = scalar, F32, 1036, "kPa", 1, 0 -pressureRatio = scalar, F32, 1040, "", 1, 0 -; total TS size = 1044 -retardThresholdRpm = scalar, S32, 1044, "", 1, 0 -launchActivatePinState = bits, U32, 1048, [0:0] -isPreLaunchCondition = bits, U32, 1048, [1:1] -isLaunchCondition = bits, U32, 1048, [2:2] -isSwitchActivated = bits, U32, 1048, [3:3] -isClutchActivated = bits, U32, 1048, [4:4] -isBrakePedalActivated = bits, U32, 1048, [5:5] -isValidInputPin = bits, U32, 1048, [6:6] -activateSwitchCondition = bits, U32, 1048, [7:7] -rpmLaunchCondition = bits, U32, 1048, [8:8] -rpmPreLaunchCondition = bits, U32, 1048, [9:9] -speedCondition = bits, U32, 1048, [10:10] -tpsCondition = bits, U32, 1048, [11:11] +m_knockSpectrum1 = scalar, U32, 976, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 980, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 984, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 988, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1040, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1042, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1044, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1048, "multiplier", 1, 0 ; total TS size = 1052 -isTorqueReductionTriggerPinValid = bits, U32, 1052, [0:0] -torqueReductionTriggerPinState = bits, U32, 1052, [1:1] -isTimeConditionSatisfied = bits, U32, 1052, [2:2] -isRpmConditionSatisfied = bits, U32, 1052, [3:3] -isAppConditionSatisfied = bits, U32, 1052, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1052, [5:5] -; total TS size = 1056 -isAntilagCondition = bits, U32, 1056, [0:0] -ALSMinRPMCondition = bits, U32, 1056, [1:1] -ALSMaxRPMCondition = bits, U32, 1056, [2:2] -ALSMinCLTCondition = bits, U32, 1056, [3:3] -ALSMaxCLTCondition = bits, U32, 1056, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1056, [5:5] -isALSSwitchActivated = bits, U32, 1056, [6:6] -ALSActivatePinState = bits, U32, 1056, [7:7] -ALSSwitchCondition = bits, U32, 1056, [8:8] -ALSTimerCondition = bits, U32, 1056, [9:9] -fuelALSCorrection = scalar, F32, 1060, "", 1, 0 -timingALSCorrection = scalar, S16, 1064, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1066, "deg", 0.01, 0 +tcuCurrentGear = scalar, S08, 1052, "gear", 1, 0 +tcRatio = scalar, U16, 1054, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1056, "", 1, 0 +tcu_currentRange = scalar, U08, 1060, "", 1, 0 +pressureControlDuty = scalar, S08, 1061, "%", 1,0 +torqueConverterDuty = scalar, S08, 1062, "%", 1,0 +isShifting = bits, U32, 1064, [0:0] ; total TS size = 1068 -isTpsInvalid = bits, U32, 1068, [0:0] -m_shouldResetPid = bits, U32, 1068, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1068, [2:2] -isNotClosedLoop = bits, U32, 1068, [3:3] -isZeroRpm = bits, U32, 1068, [4:4] -hasInitBoost = bits, U32, 1068, [5:5] -rpmTooLow = bits, U32, 1068, [6:6] -tpsTooLow = bits, U32, 1068, [7:7] -mapTooLow = bits, U32, 1068, [8:8] -isPlantValid = bits, U32, 1068, [9:9] -isBoostControlled = bits, U32, 1068, [10:10] -luaTargetAdd = scalar, S16, 1072, "v", 0.5,0 -boostOutput = scalar, S16, 1074, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1076, "v", 1,0 -openLoopPart = scalar, F32, 1080, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1084, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1088, "%", 0.5,0 -boostControlTarget = scalar, S16, 1090, "kPa", 0.03333333333333333,0 -; total TS size = 1092 -acButtonState = scalar, S08, 1092, "", 1, 0 -m_acEnabled = bits, U32, 1096, [0:0] -engineTooSlow = bits, U32, 1096, [1:1] -engineTooFast = bits, U32, 1096, [2:2] -noClt = bits, U32, 1096, [3:3] -engineTooHot = bits, U32, 1096, [4:4] -tpsTooHigh = bits, U32, 1096, [5:5] -isDisabledByLua = bits, U32, 1096, [6:6] -acCompressorState = bits, U32, 1096, [7:7] -acPressureTooLow = bits, U32, 1096, [8:8] -acPressureTooHigh = bits, U32, 1096, [9:9] -; total TS size = 1100 -cranking0 = bits, U32, 1100, [0:0] -notRunning0 = bits, U32, 1100, [1:1] -disabledWhileEngineStopped0 = bits, U32, 1100, [2:2] -brokenClt0 = bits, U32, 1100, [3:3] -enabledForAc0 = bits, U32, 1100, [4:4] -hot0 = bits, U32, 1100, [5:5] -cold0 = bits, U32, 1100, [6:6] -disabledBySpeed0 = bits, U32, 1100, [7:7] -radiatorFanStatus0 = scalar, U08, 1104, "", 1, 0 +throttleUseWotModel = bits, U32, 1068, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1072, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1076, "g/s", 1, 0 +; total TS size = 1080 +m_requested_pump = scalar, F32, 1080, "", 1, 0 +fuel_requested_percent = scalar, F32, 1084, "", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1088, "", 1, 0 +noValve = bits, U32, 1092, [0:0] +angleAboveMin = bits, U32, 1092, [1:1] +isHpfpInactive = bits, U32, 1092, [2:2] +m_pressureTarget_kPa = scalar, F32, 1096, "", 1, 0 +nextLobe = scalar, F32, 1100, "", 1, 0 +di_nextStart = scalar, F32, 1104, "v", 1, 0 ; total TS size = 1108 -cranking1 = bits, U32, 1108, [0:0] -notRunning1 = bits, U32, 1108, [1:1] -disabledWhileEngineStopped1 = bits, U32, 1108, [2:2] -brokenClt1 = bits, U32, 1108, [3:3] -enabledForAc1 = bits, U32, 1108, [4:4] -hot1 = bits, U32, 1108, [5:5] -cold1 = bits, U32, 1108, [6:6] -disabledBySpeed1 = bits, U32, 1108, [7:7] -radiatorFanStatus1 = scalar, U08, 1112, "", 1, 0 -; total TS size = 1116 -isPrime = bits, U32, 1116, [0:0] -engineTurnedRecently = bits, U32, 1116, [1:1] -isFuelPumpOn = bits, U32, 1116, [2:2] -ignitionOn = bits, U32, 1116, [3:3] +m_deadtime = scalar, F32, 1108, "ms", 1, 0 +pressureDelta = scalar, F32, 1112, "kPa", 1, 0 +pressureRatio = scalar, F32, 1116, "", 1, 0 ; total TS size = 1120 -isBenchTest = bits, U32, 1120, [0:0] -hasIgnitionVoltage = bits, U32, 1120, [1:1] -mainRelayState = bits, U32, 1120, [2:2] -delayedShutoffRequested = bits, U32, 1120, [3:3] -; total TS size = 1124 -lua_fuelAdd = scalar, F32, 1124, "g", 1, 0 -lua_fuelMult = scalar, F32, 1128, "", 1, 0 -lua_clutchUpState = bits, U32, 1132, [0:0] -lua_brakePedalState = bits, U32, 1132, [1:1] -lua_acRequestState = bits, U32, 1132, [2:2] -lua_luaDisableEtb = bits, U32, 1132, [3:3] -lua_luaIgnCut = bits, U32, 1132, [4:4] -lua_luaFuelCut = bits, U32, 1132, [5:5] -lua_clutchDownState = bits, U32, 1132, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1132, [7:7] -sd_tCharge = scalar, S16, 1136, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1140, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1144, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1148, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1152, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1156, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1160, "", 1, 0 -hellenBoardId = scalar, S16, 1164, "id", 1, 0 -clutchUpState = scalar, S08, 1166, "", 1, 0 -clutchDownState = scalar, S08, 1167, "", 1, 0 -brakePedalState = scalar, S08, 1168, "", 1, 0 -startStopState = scalar, S08, 1169, "", 1, 0 -smartChipState = scalar, S08, 1170, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1171, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1172, "", 1, 0 -startStopPhysicalState = bits, U32, 1176, [0:0] -acrActive = bits, U32, 1176, [1:1] -acrEngineMovedRecently = bits, U32, 1176, [2:2] -heaterControlEnabled = bits, U32, 1176, [3:3] -luaDigitalState0 = bits, U32, 1176, [4:4] -luaDigitalState1 = bits, U32, 1176, [5:5] -luaDigitalState2 = bits, U32, 1176, [6:6] -luaDigitalState3 = bits, U32, 1176, [7:7] -startStopStateToggleCounter = scalar, U32, 1180, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1184, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1188, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1192, "", 1, 0 -desiredRpmLimit = scalar, S16, 1196, "rpm", 1, 0 -fuelInjectionCounter = scalar, U32, 1200, "", 1, 0 -globalSparkCounter = scalar, U32, 1204, "", 1, 0 -fuelingLoad = scalar, F32, 1208, "", 1, 0 -ignitionLoad = scalar, F32, 1212, "", 1, 0 -veTableYAxis = scalar, U16, 1216, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1218, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1219, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1220, "", 1, 0 -; total TS size = 1224 -tpsFrom = scalar, F32, 1224 -tpsTo = scalar, F32, 1228 -deltaTps = scalar, F32, 1232 -extraFuel = scalar, F32, 1236, "", 1, 0 -valueFromTable = scalar, F32, 1240, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1244, [0:0] -isBelowDecelThreshold = bits, U32, 1244, [1:1] -isTimeToResetAccumulator = bits, U32, 1244, [2:2] -isFractionalEnrichment = bits, U32, 1244, [3:3] -belowEpsilon = bits, U32, 1244, [4:4] -tooShort = bits, U32, 1244, [5:5] -fractionalInjFuel = scalar, F32, 1248, "", 1, 0 -accumulatedValue = scalar, F32, 1252, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1256, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1260, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1264, "", 1, 0 -cycleCnt = scalar, S32, 1268, "", 1, 0 -; total TS size = 1272 -hwEventCounters1 = scalar, U32, 1272, "", 1, 0 -hwEventCounters2 = scalar, U32, 1276, "", 1, 0 -hwEventCounters3 = scalar, U32, 1280, "", 1, 0 -hwEventCounters4 = scalar, U32, 1284, "", 1, 0 -hwEventCounters5 = scalar, U32, 1288, "", 1, 0 -hwEventCounters6 = scalar, U32, 1292, "", 1, 0 -vvtCamCounter = scalar, U32, 1296, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1300, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1304, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1308, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1309, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1312, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1316, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1320, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1324, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1328, [0:0] -triggerElapsedUs = scalar, U32, 1332, "", 1, 0 -; total TS size = 1336 -crankSynchronizationCounter0 = scalar, U32, 1336, "", 1, 0 -vvtSyncGapRatio0 = scalar, F32, 1340, "", 1, 0 -vvtToothDurations00 = scalar, U32, 1344, "us", 1, 0 -vvtCurrentPosition0 = scalar, F32, 1348, "sync: Primary Cam Position", 1, 0 -vvtToothPosition10 = scalar, F32, 1352, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition20 = scalar, F32, 1356, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition30 = scalar, F32, 1360, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition40 = scalar, F32, 1364, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio0 = scalar, F32, 1368, "", 1, 0 -triggerStateIndex0 = scalar, U08, 1372, "", 1, 0 -vvtStateIndex0 = scalar, U08, 1373, "", 1, 0 -; total TS size = 1376 -crankSynchronizationCounter1 = scalar, U32, 1376, "", 1, 0 -vvtSyncGapRatio1 = scalar, F32, 1380, "", 1, 0 -vvtToothDurations01 = scalar, U32, 1384, "us", 1, 0 -vvtCurrentPosition1 = scalar, F32, 1388, "sync: Primary Cam Position", 1, 0 -vvtToothPosition11 = scalar, F32, 1392, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition21 = scalar, F32, 1396, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition31 = scalar, F32, 1400, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition41 = scalar, F32, 1404, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio1 = scalar, F32, 1408, "", 1, 0 -triggerStateIndex1 = scalar, U08, 1412, "", 1, 0 -vvtStateIndex1 = scalar, U08, 1413, "", 1, 0 -; total TS size = 1416 -crankSynchronizationCounter2 = scalar, U32, 1416, "", 1, 0 -vvtSyncGapRatio2 = scalar, F32, 1420, "", 1, 0 -vvtToothDurations02 = scalar, U32, 1424, "us", 1, 0 -vvtCurrentPosition2 = scalar, F32, 1428, "sync: Primary Cam Position", 1, 0 -vvtToothPosition12 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition22 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition32 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition42 = scalar, F32, 1444, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio2 = scalar, F32, 1448, "", 1, 0 -triggerStateIndex2 = scalar, U08, 1452, "", 1, 0 -vvtStateIndex2 = scalar, U08, 1453, "", 1, 0 -; total TS size = 1456 -crankSynchronizationCounter3 = scalar, U32, 1456, "", 1, 0 -vvtSyncGapRatio3 = scalar, F32, 1460, "", 1, 0 -vvtToothDurations03 = scalar, U32, 1464, "us", 1, 0 -vvtCurrentPosition3 = scalar, F32, 1468, "sync: Primary Cam Position", 1, 0 -vvtToothPosition13 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition23 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition33 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition43 = scalar, F32, 1484, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio3 = scalar, F32, 1488, "", 1, 0 -triggerStateIndex3 = scalar, U08, 1492, "", 1, 0 -vvtStateIndex3 = scalar, U08, 1493, "", 1, 0 -; total TS size = 1496 -crankSynchronizationCounter4 = scalar, U32, 1496, "", 1, 0 -vvtSyncGapRatio4 = scalar, F32, 1500, "", 1, 0 -vvtToothDurations04 = scalar, U32, 1504, "us", 1, 0 -vvtCurrentPosition4 = scalar, F32, 1508, "sync: Primary Cam Position", 1, 0 -vvtToothPosition14 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition24 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition34 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition44 = scalar, F32, 1524, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio4 = scalar, F32, 1528, "", 1, 0 -triggerStateIndex4 = scalar, U08, 1532, "", 1, 0 -vvtStateIndex4 = scalar, U08, 1533, "", 1, 0 -; total TS size = 1536 -camResyncCounter = scalar, U08, 1536, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1540, [0:0] -; total TS size = 1544 -wallFuelCorrection = scalar, F32, 1544, "", 1, 0 -wallFuel = scalar, F32, 1548, "", 1, 0 -; total TS size = 1552 -idleState = bits, S32, 1552, [0:2], "not important" -currentIdlePosition = scalar, F32, 1556 -baseIdlePosition = scalar, F32, 1560 -idleClosedLoop = scalar, F32, 1564 -iacByTpsTaper = scalar, F32, 1568 -throttlePedalUpState = scalar, S32, 1572, "", 1, 0 -mightResetPid = bits, U32, 1576, [0:0] -shouldResetPid = bits, U32, 1576, [1:1] -wasResetPid = bits, U32, 1576, [2:2] -mustResetPid = bits, U32, 1576, [3:3] -isCranking = bits, U32, 1576, [4:4] -isIacTableForCoasting = bits, U32, 1576, [5:5] -notIdling = bits, U32, 1576, [6:6] -needReset = bits, U32, 1576, [7:7] -isInDeadZone = bits, U32, 1576, [8:8] -isBlipping = bits, U32, 1576, [9:9] -useClosedLoop = bits, U32, 1576, [10:10] -badTps = bits, U32, 1576, [11:11] -looksLikeRunning = bits, U32, 1576, [12:12] -looksLikeCoasting = bits, U32, 1576, [13:13] -looksLikeCrankToIdle = bits, U32, 1576, [14:14] -isIdleCoasting = bits, U32, 1576, [15:15] -isIdleClosedLoop = bits, U32, 1576, [16:16] -idleTarget = scalar, S32, 1580, "", 1, 0 -targetRpmByClt = scalar, S32, 1584, "", 1, 0 -targetRpmAc = scalar, S32, 1588, "", 1, 0 -iacByRpmTaper = scalar, F32, 1592 -luaAdd = scalar, F32, 1596 -; total TS size = 1600 -targetWithIdlePosition0 = scalar, F32, 1600, "per", 1,0 -trim0 = scalar, F32, 1604, "", 1, 0 -luaAdjustment0 = scalar, F32, 1608, "per", 1,0 -m_wastegatePosition0 = scalar, F32, 1612, "per", 1,0 -etbFeedForward0 = scalar, F32, 1616 -etbIntegralError0 = scalar, F32, 1620, "", 1, 0 -etbCurrentTarget0 = scalar, F32, 1624, "%", 1, 0 -etbCurrentAdjustedTarget0 = scalar, F32, 1628, "%", 1, 0 -etbRevLimitActive0 = bits, U32, 1632, [0:0] -jamDetected0 = bits, U32, 1632, [1:1] -etbTpsErrorCounter0 = scalar, U16, 1636, "count", 1,0 -etbPpsErrorCounter0 = scalar, U16, 1638, "count", 1,0 -etbErrorCode0 = scalar, S08, 1640, "", 1, 0 -tcEtbDrop0 = scalar, S08, 1641, "%", 1, 0 -jamTimer0 = scalar, U16, 1642, "sec", 0.01, 0 -adjustedEtbTarget0 = scalar, S08, 1644, "%", 1, 0 -; total TS size = 1648 -targetWithIdlePosition1 = scalar, F32, 1648, "per", 1,0 -trim1 = scalar, F32, 1652, "", 1, 0 -luaAdjustment1 = scalar, F32, 1656, "per", 1,0 -m_wastegatePosition1 = scalar, F32, 1660, "per", 1,0 -etbFeedForward1 = scalar, F32, 1664 -etbIntegralError1 = scalar, F32, 1668, "", 1, 0 -etbCurrentTarget1 = scalar, F32, 1672, "%", 1, 0 -etbCurrentAdjustedTarget1 = scalar, F32, 1676, "%", 1, 0 -etbRevLimitActive1 = bits, U32, 1680, [0:0] -jamDetected1 = bits, U32, 1680, [1:1] -etbTpsErrorCounter1 = scalar, U16, 1684, "count", 1,0 -etbPpsErrorCounter1 = scalar, U16, 1686, "count", 1,0 -etbErrorCode1 = scalar, S08, 1688, "", 1, 0 -tcEtbDrop1 = scalar, S08, 1689, "%", 1, 0 -jamTimer1 = scalar, U16, 1690, "sec", 0.01, 0 -adjustedEtbTarget1 = scalar, S08, 1692, "%", 1, 0 -; total TS size = 1696 -faultCode0 = scalar, U08, 1696, "", 1, 0 -heaterDuty0 = scalar, U08, 1697, "%", 1, 0 -pumpDuty0 = scalar, U08, 1698, "%", 1, 0 -tempC0 = scalar, U16, 1700, "C", 1, 0 -nernstVoltage0 = scalar, U16, 1702, "V", 0.001, 0 -esr0 = scalar, U16, 1704, "ohm", 1, 0 -; total TS size = 1708 -faultCode1 = scalar, U08, 1708, "", 1, 0 -heaterDuty1 = scalar, U08, 1709, "%", 1, 0 -pumpDuty1 = scalar, U08, 1710, "%", 1, 0 -tempC1 = scalar, U16, 1712, "C", 1, 0 -nernstVoltage1 = scalar, U16, 1714, "V", 0.001, 0 -esr1 = scalar, U16, 1716, "ohm", 1, 0 -; total TS size = 1720 -dcOutput0 = scalar, F32, 1720, "per", 1,0 -isEnabled0_int = scalar, U08, 1724, "per", 1,0 -isEnabled0 = bits, U32, 1728, [0:0] -; total TS size = 1732 -value0 = scalar, U16, 1732, "value", 1,0 -value1 = scalar, U16, 1734, "value", 1,0 -errorRate = scalar, F32, 1736, "ratio", 1,0 -; total TS size = 1740 -vvtTarget = scalar, U16, 1740, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1742, "%", 0.5, 0 -; total TS size = 1744 -lambdaCurrentlyGood = bits, U32, 1744, [0:0] -lambdaMonitorCut = bits, U32, 1744, [1:1] -lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 -; total TS size = 1752 +retardThresholdRpm = scalar, S32, 1120, "", 1, 0 +launchActivatePinState = bits, U32, 1124, [0:0] +isPreLaunchCondition = bits, U32, 1124, [1:1] +isLaunchCondition = bits, U32, 1124, [2:2] +isSwitchActivated = bits, U32, 1124, [3:3] +isClutchActivated = bits, U32, 1124, [4:4] +isBrakePedalActivated = bits, U32, 1124, [5:5] +isValidInputPin = bits, U32, 1124, [6:6] +activateSwitchCondition = bits, U32, 1124, [7:7] +rpmLaunchCondition = bits, U32, 1124, [8:8] +rpmPreLaunchCondition = bits, U32, 1124, [9:9] +speedCondition = bits, U32, 1124, [10:10] +tpsCondition = bits, U32, 1124, [11:11] +; total TS size = 1128 +isTorqueReductionTriggerPinValid = bits, U32, 1128, [0:0] +torqueReductionTriggerPinState = bits, U32, 1128, [1:1] +isTimeConditionSatisfied = bits, U32, 1128, [2:2] +isRpmConditionSatisfied = bits, U32, 1128, [3:3] +isAppConditionSatisfied = bits, U32, 1128, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1128, [5:5] +; total TS size = 1132 +isAntilagCondition = bits, U32, 1132, [0:0] +ALSMinRPMCondition = bits, U32, 1132, [1:1] +ALSMaxRPMCondition = bits, U32, 1132, [2:2] +ALSMinCLTCondition = bits, U32, 1132, [3:3] +ALSMaxCLTCondition = bits, U32, 1132, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1132, [5:5] +isALSSwitchActivated = bits, U32, 1132, [6:6] +ALSActivatePinState = bits, U32, 1132, [7:7] +ALSSwitchCondition = bits, U32, 1132, [8:8] +ALSTimerCondition = bits, U32, 1132, [9:9] +fuelALSCorrection = scalar, F32, 1136, "", 1, 0 +timingALSCorrection = scalar, S16, 1140, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1142, "deg", 0.01, 0 +; total TS size = 1144 +isTpsInvalid = bits, U32, 1144, [0:0] +m_shouldResetPid = bits, U32, 1144, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1144, [2:2] +isNotClosedLoop = bits, U32, 1144, [3:3] +isZeroRpm = bits, U32, 1144, [4:4] +hasInitBoost = bits, U32, 1144, [5:5] +rpmTooLow = bits, U32, 1144, [6:6] +tpsTooLow = bits, U32, 1144, [7:7] +mapTooLow = bits, U32, 1144, [8:8] +isPlantValid = bits, U32, 1144, [9:9] +isBoostControlled = bits, U32, 1144, [10:10] +luaTargetAdd = scalar, S16, 1148, "v", 0.5,0 +boostOutput = scalar, S16, 1150, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1152, "v", 1,0 +openLoopPart = scalar, F32, 1156, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1160, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1164, "%", 0.5,0 +boostControlTarget = scalar, S16, 1166, "kPa", 0.03333333333333333,0 +; total TS size = 1168 +acButtonState = scalar, S08, 1168, "", 1, 0 +m_acEnabled = bits, U32, 1172, [0:0] +engineTooSlow = bits, U32, 1172, [1:1] +engineTooFast = bits, U32, 1172, [2:2] +noClt = bits, U32, 1172, [3:3] +engineTooHot = bits, U32, 1172, [4:4] +tpsTooHigh = bits, U32, 1172, [5:5] +isDisabledByLua = bits, U32, 1172, [6:6] +acCompressorState = bits, U32, 1172, [7:7] +acPressureTooLow = bits, U32, 1172, [8:8] +acPressureTooHigh = bits, U32, 1172, [9:9] +; total TS size = 1176 +cranking0 = bits, U32, 1176, [0:0] +notRunning0 = bits, U32, 1176, [1:1] +disabledWhileEngineStopped0 = bits, U32, 1176, [2:2] +brokenClt0 = bits, U32, 1176, [3:3] +enabledForAc0 = bits, U32, 1176, [4:4] +hot0 = bits, U32, 1176, [5:5] +cold0 = bits, U32, 1176, [6:6] +disabledBySpeed0 = bits, U32, 1176, [7:7] +radiatorFanStatus0 = scalar, U08, 1180, "", 1, 0 +; total TS size = 1184 +cranking1 = bits, U32, 1184, [0:0] +notRunning1 = bits, U32, 1184, [1:1] +disabledWhileEngineStopped1 = bits, U32, 1184, [2:2] +brokenClt1 = bits, U32, 1184, [3:3] +enabledForAc1 = bits, U32, 1184, [4:4] +hot1 = bits, U32, 1184, [5:5] +cold1 = bits, U32, 1184, [6:6] +disabledBySpeed1 = bits, U32, 1184, [7:7] +radiatorFanStatus1 = scalar, U08, 1188, "", 1, 0 +; total TS size = 1192 +isPrime = bits, U32, 1192, [0:0] +engineTurnedRecently = bits, U32, 1192, [1:1] +isFuelPumpOn = bits, U32, 1192, [2:2] +ignitionOn = bits, U32, 1192, [3:3] +; total TS size = 1196 +isBenchTest = bits, U32, 1196, [0:0] +hasIgnitionVoltage = bits, U32, 1196, [1:1] +mainRelayState = bits, U32, 1196, [2:2] +delayedShutoffRequested = bits, U32, 1196, [3:3] +; total TS size = 1200 +lua_fuelAdd = scalar, F32, 1200, "g", 1, 0 +lua_fuelMult = scalar, F32, 1204, "", 1, 0 +lua_clutchUpState = bits, U32, 1208, [0:0] +lua_brakePedalState = bits, U32, 1208, [1:1] +lua_acRequestState = bits, U32, 1208, [2:2] +lua_luaDisableEtb = bits, U32, 1208, [3:3] +lua_luaIgnCut = bits, U32, 1208, [4:4] +lua_luaFuelCut = bits, U32, 1208, [5:5] +lua_clutchDownState = bits, U32, 1208, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1208, [7:7] +sd_tCharge = scalar, S16, 1212, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1216, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1220, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1224, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1228, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1232, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1236, "", 1, 0 +hellenBoardId = scalar, S16, 1240, "id", 1, 0 +clutchUpState = scalar, S08, 1242, "", 1, 0 +clutchDownState = scalar, S08, 1243, "", 1, 0 +brakePedalState = scalar, S08, 1244, "", 1, 0 +startStopState = scalar, S08, 1245, "", 1, 0 +smartChipState = scalar, S08, 1246, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1247, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1248, "", 1, 0 +startStopPhysicalState = bits, U32, 1252, [0:0] +acrActive = bits, U32, 1252, [1:1] +acrEngineMovedRecently = bits, U32, 1252, [2:2] +heaterControlEnabled = bits, U32, 1252, [3:3] +luaDigitalState0 = bits, U32, 1252, [4:4] +luaDigitalState1 = bits, U32, 1252, [5:5] +luaDigitalState2 = bits, U32, 1252, [6:6] +luaDigitalState3 = bits, U32, 1252, [7:7] +startStopStateToggleCounter = scalar, U32, 1256, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1260, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1264, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1268, "", 1, 0 +desiredRpmLimit = scalar, S16, 1272, "rpm", 1, 0 +fuelInjectionCounter = scalar, U32, 1276, "", 1, 0 +globalSparkCounter = scalar, U32, 1280, "", 1, 0 +fuelingLoad = scalar, F32, 1284, "", 1, 0 +ignitionLoad = scalar, F32, 1288, "", 1, 0 +veTableYAxis = scalar, U16, 1292, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1294, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1295, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1296, "", 1, 0 +; total TS size = 1300 +tpsFrom = scalar, F32, 1300 +tpsTo = scalar, F32, 1304 +deltaTps = scalar, F32, 1308 +extraFuel = scalar, F32, 1312, "", 1, 0 +valueFromTable = scalar, F32, 1316, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1320, [0:0] +isBelowDecelThreshold = bits, U32, 1320, [1:1] +isTimeToResetAccumulator = bits, U32, 1320, [2:2] +isFractionalEnrichment = bits, U32, 1320, [3:3] +belowEpsilon = bits, U32, 1320, [4:4] +tooShort = bits, U32, 1320, [5:5] +fractionalInjFuel = scalar, F32, 1324, "", 1, 0 +accumulatedValue = scalar, F32, 1328, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1332, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1336, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1340, "", 1, 0 +cycleCnt = scalar, S32, 1344, "", 1, 0 +; total TS size = 1348 +hwEventCounters1 = scalar, U32, 1348, "", 1, 0 +hwEventCounters2 = scalar, U32, 1352, "", 1, 0 +hwEventCounters3 = scalar, U32, 1356, "", 1, 0 +hwEventCounters4 = scalar, U32, 1360, "", 1, 0 +hwEventCounters5 = scalar, U32, 1364, "", 1, 0 +hwEventCounters6 = scalar, U32, 1368, "", 1, 0 +vvtCamCounter = scalar, U32, 1372, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1376, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1380, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1384, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1385, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1388, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1392, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1396, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1400, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1404, [0:0] +triggerElapsedUs = scalar, U32, 1408, "", 1, 0 +; total TS size = 1412 +crankSynchronizationCounter0 = scalar, U32, 1412, "", 1, 0 +vvtSyncGapRatio0 = scalar, F32, 1416, "", 1, 0 +vvtToothDurations00 = scalar, U32, 1420, "us", 1, 0 +vvtCurrentPosition0 = scalar, F32, 1424, "sync: Primary Cam Position", 1, 0 +vvtToothPosition10 = scalar, F32, 1428, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition20 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition30 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition40 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio0 = scalar, F32, 1444, "", 1, 0 +triggerStateIndex0 = scalar, U08, 1448, "", 1, 0 +vvtStateIndex0 = scalar, U08, 1449, "", 1, 0 +; total TS size = 1452 +crankSynchronizationCounter1 = scalar, U32, 1452, "", 1, 0 +vvtSyncGapRatio1 = scalar, F32, 1456, "", 1, 0 +vvtToothDurations01 = scalar, U32, 1460, "us", 1, 0 +vvtCurrentPosition1 = scalar, F32, 1464, "sync: Primary Cam Position", 1, 0 +vvtToothPosition11 = scalar, F32, 1468, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition21 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition31 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition41 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio1 = scalar, F32, 1484, "", 1, 0 +triggerStateIndex1 = scalar, U08, 1488, "", 1, 0 +vvtStateIndex1 = scalar, U08, 1489, "", 1, 0 +; total TS size = 1492 +crankSynchronizationCounter2 = scalar, U32, 1492, "", 1, 0 +vvtSyncGapRatio2 = scalar, F32, 1496, "", 1, 0 +vvtToothDurations02 = scalar, U32, 1500, "us", 1, 0 +vvtCurrentPosition2 = scalar, F32, 1504, "sync: Primary Cam Position", 1, 0 +vvtToothPosition12 = scalar, F32, 1508, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition22 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition32 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition42 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio2 = scalar, F32, 1524, "", 1, 0 +triggerStateIndex2 = scalar, U08, 1528, "", 1, 0 +vvtStateIndex2 = scalar, U08, 1529, "", 1, 0 +; total TS size = 1532 +crankSynchronizationCounter3 = scalar, U32, 1532, "", 1, 0 +vvtSyncGapRatio3 = scalar, F32, 1536, "", 1, 0 +vvtToothDurations03 = scalar, U32, 1540, "us", 1, 0 +vvtCurrentPosition3 = scalar, F32, 1544, "sync: Primary Cam Position", 1, 0 +vvtToothPosition13 = scalar, F32, 1548, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition23 = scalar, F32, 1552, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition33 = scalar, F32, 1556, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition43 = scalar, F32, 1560, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio3 = scalar, F32, 1564, "", 1, 0 +triggerStateIndex3 = scalar, U08, 1568, "", 1, 0 +vvtStateIndex3 = scalar, U08, 1569, "", 1, 0 +; total TS size = 1572 +crankSynchronizationCounter4 = scalar, U32, 1572, "", 1, 0 +vvtSyncGapRatio4 = scalar, F32, 1576, "", 1, 0 +vvtToothDurations04 = scalar, U32, 1580, "us", 1, 0 +vvtCurrentPosition4 = scalar, F32, 1584, "sync: Primary Cam Position", 1, 0 +vvtToothPosition14 = scalar, F32, 1588, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition24 = scalar, F32, 1592, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition34 = scalar, F32, 1596, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition44 = scalar, F32, 1600, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio4 = scalar, F32, 1604, "", 1, 0 +triggerStateIndex4 = scalar, U08, 1608, "", 1, 0 +vvtStateIndex4 = scalar, U08, 1609, "", 1, 0 +; total TS size = 1612 +camResyncCounter = scalar, U08, 1612, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1616, [0:0] +; total TS size = 1620 +wallFuelCorrection = scalar, F32, 1620, "", 1, 0 +wallFuel = scalar, F32, 1624, "", 1, 0 +; total TS size = 1628 +idleState = bits, S32, 1628, [0:2], "not important" +currentIdlePosition = scalar, F32, 1632 +baseIdlePosition = scalar, F32, 1636 +idleClosedLoop = scalar, F32, 1640 +iacByTpsTaper = scalar, F32, 1644 +throttlePedalUpState = scalar, S32, 1648, "", 1, 0 +mightResetPid = bits, U32, 1652, [0:0] +shouldResetPid = bits, U32, 1652, [1:1] +wasResetPid = bits, U32, 1652, [2:2] +mustResetPid = bits, U32, 1652, [3:3] +isCranking = bits, U32, 1652, [4:4] +isIacTableForCoasting = bits, U32, 1652, [5:5] +notIdling = bits, U32, 1652, [6:6] +needReset = bits, U32, 1652, [7:7] +isInDeadZone = bits, U32, 1652, [8:8] +isBlipping = bits, U32, 1652, [9:9] +useClosedLoop = bits, U32, 1652, [10:10] +badTps = bits, U32, 1652, [11:11] +looksLikeRunning = bits, U32, 1652, [12:12] +looksLikeCoasting = bits, U32, 1652, [13:13] +looksLikeCrankToIdle = bits, U32, 1652, [14:14] +isIdleCoasting = bits, U32, 1652, [15:15] +isIdleClosedLoop = bits, U32, 1652, [16:16] +idleTarget = scalar, S32, 1656, "", 1, 0 +targetRpmByClt = scalar, S32, 1660, "", 1, 0 +targetRpmAc = scalar, S32, 1664, "", 1, 0 +iacByRpmTaper = scalar, F32, 1668 +luaAdd = scalar, F32, 1672 +; total TS size = 1676 +targetWithIdlePosition0 = scalar, F32, 1676, "per", 1,0 +trim0 = scalar, F32, 1680, "", 1, 0 +luaAdjustment0 = scalar, F32, 1684, "per", 1,0 +m_wastegatePosition0 = scalar, F32, 1688, "per", 1,0 +etbFeedForward0 = scalar, F32, 1692 +etbIntegralError0 = scalar, F32, 1696, "", 1, 0 +etbCurrentTarget0 = scalar, F32, 1700, "%", 1, 0 +etbCurrentAdjustedTarget0 = scalar, F32, 1704, "%", 1, 0 +etbRevLimitActive0 = bits, U32, 1708, [0:0] +jamDetected0 = bits, U32, 1708, [1:1] +etbTpsErrorCounter0 = scalar, U16, 1712, "count", 1,0 +etbPpsErrorCounter0 = scalar, U16, 1714, "count", 1,0 +etbErrorCode0 = scalar, S08, 1716, "", 1, 0 +tcEtbDrop0 = scalar, S08, 1717, "%", 1, 0 +jamTimer0 = scalar, U16, 1718, "sec", 0.01, 0 +adjustedEtbTarget0 = scalar, S08, 1720, "%", 1, 0 +; total TS size = 1724 +targetWithIdlePosition1 = scalar, F32, 1724, "per", 1,0 +trim1 = scalar, F32, 1728, "", 1, 0 +luaAdjustment1 = scalar, F32, 1732, "per", 1,0 +m_wastegatePosition1 = scalar, F32, 1736, "per", 1,0 +etbFeedForward1 = scalar, F32, 1740 +etbIntegralError1 = scalar, F32, 1744, "", 1, 0 +etbCurrentTarget1 = scalar, F32, 1748, "%", 1, 0 +etbCurrentAdjustedTarget1 = scalar, F32, 1752, "%", 1, 0 +etbRevLimitActive1 = bits, U32, 1756, [0:0] +jamDetected1 = bits, U32, 1756, [1:1] +etbTpsErrorCounter1 = scalar, U16, 1760, "count", 1,0 +etbPpsErrorCounter1 = scalar, U16, 1762, "count", 1,0 +etbErrorCode1 = scalar, S08, 1764, "", 1, 0 +tcEtbDrop1 = scalar, S08, 1765, "%", 1, 0 +jamTimer1 = scalar, U16, 1766, "sec", 0.01, 0 +adjustedEtbTarget1 = scalar, S08, 1768, "%", 1, 0 +; total TS size = 1772 +faultCode0 = scalar, U08, 1772, "", 1, 0 +heaterDuty0 = scalar, U08, 1773, "%", 1, 0 +pumpDuty0 = scalar, U08, 1774, "%", 1, 0 +tempC0 = scalar, U16, 1776, "C", 1, 0 +nernstVoltage0 = scalar, U16, 1778, "V", 0.001, 0 +esr0 = scalar, U16, 1780, "ohm", 1, 0 +; total TS size = 1784 +faultCode1 = scalar, U08, 1784, "", 1, 0 +heaterDuty1 = scalar, U08, 1785, "%", 1, 0 +pumpDuty1 = scalar, U08, 1786, "%", 1, 0 +tempC1 = scalar, U16, 1788, "C", 1, 0 +nernstVoltage1 = scalar, U16, 1790, "V", 0.001, 0 +esr1 = scalar, U16, 1792, "ohm", 1, 0 +; total TS size = 1796 +dcOutput0 = scalar, F32, 1796, "per", 1,0 +isEnabled0_int = scalar, U08, 1800, "per", 1,0 +isEnabled0 = bits, U32, 1804, [0:0] +; total TS size = 1808 +value0 = scalar, U16, 1808, "value", 1,0 +value1 = scalar, U16, 1810, "value", 1,0 +errorRate = scalar, F32, 1812, "ratio", 1,0 +; total TS size = 1816 +vvtTarget = scalar, U16, 1816, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1818, "%", 0.5, 0 +; total TS size = 1820 +lambdaCurrentlyGood = bits, U32, 1820, [0:0] +lambdaMonitorCut = bits, U32, 1820, [1:1] +lambdaTimeSinceGood = scalar, U16, 1824, "sec", 0.01, 0 +; total TS size = 1828 time = { timeNow } @@ -3616,6 +3648,7 @@ lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs8 requiresPowerCycle = cylinderBore + requiresPowerCycle = knockFrequency readOnly = warning_message readOnly = device_uid1 @@ -5033,6 +5066,26 @@ gaugeCategory = Knock knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knockSpectrumChannelCylGauge = m_knockSpectrumChannelCyl, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStartGauge = m_knockFrequencyStart, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStepGauge = m_knockFrequencyStep, "Knock Frequency Step", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFuelTrimMultiplier = m_knockFuelTrimMultiplier, "Knock Fuel Trim", "mult", 0, 0, 0, 0, 0, 30, 1, 1 + knockSpectrum1 = m_knockSpectrum1, "Knock Spectrum1", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum2 = m_knockSpectrum2, "knockSpectrum2", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum3 = m_knockSpectrum3, "knockSpectrum3", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum4 = m_knockSpectrum4, "knockSpectrum4", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum5 = m_knockSpectrum5, "knockSpectrum5", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum6 = m_knockSpectrum6, "knockSpectrum6", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum7 = m_knockSpectrum7, "knockSpectrum7", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum8 = m_knockSpectrum8, "knockSpectrum8", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum9 = m_knockSpectrum9, "knockSpectrum9", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum10 = m_knockSpectrum10, "knockSpectrum10", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum11 = m_knockSpectrum11, "knockSpectrum11", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum12 = m_knockSpectrum12, "knockSpectrum12", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum13 = m_knockSpectrum13, "knockSpectrum13", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum14 = m_knockSpectrum14, "knockSpectrum14", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum15 = m_knockSpectrum15, "knockSpectrum15", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum16 = m_knockSpectrum16, "knockSpectrum16", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -5632,6 +5685,26 @@ entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" entry = m_knockCount, "Knock: Count", int, "%d" entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_knockFrequency, "knock: frequency", int, "%d" +entry = m_knockSpectrum1, "Knock: SpectrumData 1", int, "%d" +entry = m_knockSpectrum2, "Knock: SpectrumData 2", int, "%d" +entry = m_knockSpectrum3, "Knock: SpectrumData 3", int, "%d" +entry = m_knockSpectrum4, "Knock: SpectrumData 4", int, "%d" +entry = m_knockSpectrum5, "Knock: SpectrumData 5", int, "%d" +entry = m_knockSpectrum6, "Knock: SpectrumData 6", int, "%d" +entry = m_knockSpectrum7, "Knock: SpectrumData 7", int, "%d" +entry = m_knockSpectrum8, "Knock: SpectrumData 8", int, "%d" +entry = m_knockSpectrum9, "Knock: SpectrumData 9", int, "%d" +entry = m_knockSpectrum10, "Knock: SpectrumData 10", int, "%d" +entry = m_knockSpectrum11, "Knock: SpectrumData 11", int, "%d" +entry = m_knockSpectrum12, "Knock: SpectrumData 12", int, "%d" +entry = m_knockSpectrum13, "Knock: SpectrumData 13", int, "%d" +entry = m_knockSpectrum14, "Knock: SpectrumData 14", int, "%d" +entry = m_knockSpectrum15, "Knock: SpectrumData 15", int, "%d" +entry = m_knockSpectrum16, "Knock: SpectrumData 16", int, "%d" +entry = m_knockSpectrumChannelCyl, "Knock: ChannelAndCylNumber", int, "%d" +entry = m_knockFrequencyStart, "Knock: Start Freq", int, "%d" +entry = m_knockFrequencyStep, "Knock: Step Freq", float, "%.3f" +entry = m_knockFuelTrimMultiplier, "Knock: Fuel trim when knock", float, "%.3f" entry = tcuCurrentGear, "TCU: Current Gear", int, "%d" entry = tcRatio, "TCU: Torque Converter Ratio", float, "%.3f" entry = lastShiftTime, "lastShiftTime", float, "%.3f" @@ -6555,6 +6628,31 @@ dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard graphLine = m_knockFrequency + graphLine = m_knockSpectrum1 + graphLine = m_knockSpectrum2 + liveGraph = knock_controller_6_Graph, "Graph", South + graphLine = m_knockSpectrum3 + graphLine = m_knockSpectrum4 + graphLine = m_knockSpectrum5 + graphLine = m_knockSpectrum6 + liveGraph = knock_controller_7_Graph, "Graph", South + graphLine = m_knockSpectrum7 + graphLine = m_knockSpectrum8 + graphLine = m_knockSpectrum9 + graphLine = m_knockSpectrum10 + liveGraph = knock_controller_8_Graph, "Graph", South + graphLine = m_knockSpectrum11 + graphLine = m_knockSpectrum12 + graphLine = m_knockSpectrum13 + graphLine = m_knockSpectrum14 + liveGraph = knock_controller_9_Graph, "Graph", South + graphLine = m_knockSpectrum15 + graphLine = m_knockSpectrum16 + graphLine = m_knockSpectrumChannelCyl + graphLine = m_knockFrequencyStart + liveGraph = knock_controller_10_Graph, "Graph", South + graphLine = m_knockFrequencyStep + graphLine = m_knockFuelTrimMultiplier indicatorPanel = tcu_controllerIndicatorPanel, 2 indicator = {isShifting}, "isShifting No", "isShifting Yes" @@ -8619,9 +8717,13 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockCfg, "Sense" field = "Enable", enableSoftwareKnock field = "Cylinder Bore", cylinderBore, {enableSoftwareKnock} + field = "Estimated Knock Frequency",knockFrequency, {enableSoftwareKnock} field = "Detection mode", knockDetectionUseDoubleFrequency field = "Detection Window Start",knockDetectionWindowStart, {enableSoftwareKnock} field = "Sampling Duration", knockSamplingDuration, {enableSoftwareKnock} + field = "Enable Knock Spectrogram", enableKnockSpectrogram, {enableSoftwareKnock} + field = "Enable Knock Spectrogram Filter", enableKnockSpectrogramFilter, {enableKnockSpectrogram} + field = "Knock Spectrum Sensitivity", knockSpectrumSensitivity, {enableKnockSpectrogram} field = "" field = "Select the nearest sensor for each cylinder" @@ -8641,6 +8743,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockResponseCfg, "Response" field = knockRetardAggression, knockRetardAggression field = knockRetardReapplyRate, knockRetardReapplyRate + field = knockFuelTrimAggression, knockFuelTrimAggression + field = knockFuelTrimReapplyRate, knockFuelTrimReapplyRate + field = knockFuelTrim, knockFuelTrim + field = knockSuppressMinTps, knockSuppressMinTps dialog = softwareKnockLeft, "" panel = softwareKnockCfg diff --git a/firmware/tunerstudio/generated/rusefi_proteus_f7.ini b/firmware/tunerstudio/generated/rusefi_proteus_f7.ini index a929059e55..9ee908316c 100644 --- a/firmware/tunerstudio/generated/rusefi_proteus_f7.ini +++ b/firmware/tunerstudio/generated/rusefi_proteus_f7.ini @@ -38,12 +38,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.10.21.proteus_f7.3780242052" + signature = "rusEFI master.2024.10.21.proteus_f7.1031385211" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.10.21.proteus_f7.3780242052" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.10.21.proteus_f7.1031385211" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -774,6 +774,7 @@ devBit7 = bits, U32, 1492, [27:27], "false", "true" unusedSkipWasHere = bits, U32, 1492, [28:28], "false", "true" invertExhaustCamVVTSignal = bits, U32, 1492, [29:29], "Rising", "Falling" enableKnockSpectrogram = bits, U32, 1492, [30:30], "false", "true" +enableKnockSpectrogramFilter = bits, U32, 1492, [31:31], "false", "true" afterCrankingIACtaperDuration = scalar, S16, 1496, "cycles", 1, 0, 0, 5000, 0 iacByTpsTaper = scalar, S16, 1498, "percent", 1, 0, 0, 500, 0 unusedAuxSeria = bits, U16, 1500, [0:8], $gpio_list @@ -1394,7 +1395,13 @@ auxLinear4_v1 = scalar, F32, 3880, "volts", 1, 0, 0, 10, 2 auxLinear4_value1 = scalar, F32, 3884, "", 1, 0, -100000, 1000000, 2 auxLinear4_v2 = scalar, F32, 3888, "volts", 1, 0, 0, 10, 2 auxLinear4_value2 = scalar, F32, 3892, "", 1, 0, -100000, 1000000, 2 -unusedOftenChangesDuringFirmwareUpdate = array, U08, 3896, [128], "units", 1, 0, 0, 1, 0 +knockSuppressMinTps = scalar, U08, 3896, "%", 1, 0, 0, 100, 1 +knockFuelTrimAggression = scalar, U08, 3897, "%", 0.1, 0, 0, 20, 1 +knockFuelTrimReapplyRate = scalar, U08, 3898, "deg/s", 0.1, 0, 0, 10, 1 +knockFuelTrim = scalar, U08, 3899, "%", 1, 0, 0, 30, 1 +knockSpectrumSensitivity = scalar, F32, 3900, "sense", 1, 0, 0, 1, 2 +knockFrequency = scalar, F32, 3904, "Hz", 1, 0, 0, 20000, 2 +unusedOftenChangesDuringFirmwareUpdate = array, U08, 3908, [116], "units", 1, 0, 0, 1, 0 postCrankingFactor = array, F32, 4024, [6x6], "mult", 1, 0, 1, 3, 2 postCrankingDurationBins = array, F32, 4168, [6], "count", 1, 0, 0, 1000, 0 postCrankingCLTBins = array, S16, 4192, [6], "C", 1, 0, -100, 250, 0 @@ -2448,6 +2455,11 @@ minimumOilPressureValues = array, U08, 28460, [8], "kPa", 10.0, 0, 0, 1000, 0 minAcPressure = "value of A/C pressure in kPa before that compressor is disengaged" maxAcPressure = "value of A/C pressure in kPa after that compressor is disengaged" minimumOilPressureTimeout = "Delay before cutting fuel due to low oil pressure. Use this to ignore short pressure blips and sensor noise." + knockSuppressMinTps = "Below TPS value all knock suppression will be disabled." + knockFuelTrimAggression = "Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump)," + knockFuelTrimReapplyRate = "After a knock event, reapply fuel at this rate." + knockFuelTrim = "Fuel trim when knock, max 30%" + knockFrequency = "Estimated knock frequency, ignore cylinderBore if this one > 0" etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, open loop component of PID closed loop control" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2560,7 +2572,7 @@ minimumOilPressureValues = array, U08, 28460, [8], "kPa", 10.0, 0, 0, 1000, 0 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1752 + ochBlockSize = 1828 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3101,370 +3113,390 @@ m_knockThreshold = scalar, F32, 960, "", 1, 0 m_knockCount = scalar, U32, 964, "", 1, 0 m_maximumRetard = scalar, F32, 968, "", 1, 0 m_knockFrequency = scalar, U32, 972, "Hz", 1, 0 -; total TS size = 976 -tcuCurrentGear = scalar, S08, 976, "gear", 1, 0 -tcRatio = scalar, U16, 978, "value", 0.01, 0 -lastShiftTime = scalar, F32, 980, "", 1, 0 -tcu_currentRange = scalar, U08, 984, "", 1, 0 -pressureControlDuty = scalar, S08, 985, "%", 1,0 -torqueConverterDuty = scalar, S08, 986, "%", 1,0 -isShifting = bits, U32, 988, [0:0] -; total TS size = 992 -throttleUseWotModel = bits, U32, 992, [0:0] -throttleModelCrossoverAngle = scalar, S16, 996, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1000, "g/s", 1, 0 -; total TS size = 1004 -m_requested_pump = scalar, F32, 1004, "", 1, 0 -fuel_requested_percent = scalar, F32, 1008, "", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1012, "", 1, 0 -noValve = bits, U32, 1016, [0:0] -angleAboveMin = bits, U32, 1016, [1:1] -isHpfpInactive = bits, U32, 1016, [2:2] -m_pressureTarget_kPa = scalar, F32, 1020, "", 1, 0 -nextLobe = scalar, F32, 1024, "", 1, 0 -di_nextStart = scalar, F32, 1028, "v", 1, 0 -; total TS size = 1032 -m_deadtime = scalar, F32, 1032, "ms", 1, 0 -pressureDelta = scalar, F32, 1036, "kPa", 1, 0 -pressureRatio = scalar, F32, 1040, "", 1, 0 -; total TS size = 1044 -retardThresholdRpm = scalar, S32, 1044, "", 1, 0 -launchActivatePinState = bits, U32, 1048, [0:0] -isPreLaunchCondition = bits, U32, 1048, [1:1] -isLaunchCondition = bits, U32, 1048, [2:2] -isSwitchActivated = bits, U32, 1048, [3:3] -isClutchActivated = bits, U32, 1048, [4:4] -isBrakePedalActivated = bits, U32, 1048, [5:5] -isValidInputPin = bits, U32, 1048, [6:6] -activateSwitchCondition = bits, U32, 1048, [7:7] -rpmLaunchCondition = bits, U32, 1048, [8:8] -rpmPreLaunchCondition = bits, U32, 1048, [9:9] -speedCondition = bits, U32, 1048, [10:10] -tpsCondition = bits, U32, 1048, [11:11] +m_knockSpectrum1 = scalar, U32, 976, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 980, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 984, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 988, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1040, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1042, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1044, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1048, "multiplier", 1, 0 ; total TS size = 1052 -isTorqueReductionTriggerPinValid = bits, U32, 1052, [0:0] -torqueReductionTriggerPinState = bits, U32, 1052, [1:1] -isTimeConditionSatisfied = bits, U32, 1052, [2:2] -isRpmConditionSatisfied = bits, U32, 1052, [3:3] -isAppConditionSatisfied = bits, U32, 1052, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1052, [5:5] -; total TS size = 1056 -isAntilagCondition = bits, U32, 1056, [0:0] -ALSMinRPMCondition = bits, U32, 1056, [1:1] -ALSMaxRPMCondition = bits, U32, 1056, [2:2] -ALSMinCLTCondition = bits, U32, 1056, [3:3] -ALSMaxCLTCondition = bits, U32, 1056, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1056, [5:5] -isALSSwitchActivated = bits, U32, 1056, [6:6] -ALSActivatePinState = bits, U32, 1056, [7:7] -ALSSwitchCondition = bits, U32, 1056, [8:8] -ALSTimerCondition = bits, U32, 1056, [9:9] -fuelALSCorrection = scalar, F32, 1060, "", 1, 0 -timingALSCorrection = scalar, S16, 1064, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1066, "deg", 0.01, 0 +tcuCurrentGear = scalar, S08, 1052, "gear", 1, 0 +tcRatio = scalar, U16, 1054, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1056, "", 1, 0 +tcu_currentRange = scalar, U08, 1060, "", 1, 0 +pressureControlDuty = scalar, S08, 1061, "%", 1,0 +torqueConverterDuty = scalar, S08, 1062, "%", 1,0 +isShifting = bits, U32, 1064, [0:0] ; total TS size = 1068 -isTpsInvalid = bits, U32, 1068, [0:0] -m_shouldResetPid = bits, U32, 1068, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1068, [2:2] -isNotClosedLoop = bits, U32, 1068, [3:3] -isZeroRpm = bits, U32, 1068, [4:4] -hasInitBoost = bits, U32, 1068, [5:5] -rpmTooLow = bits, U32, 1068, [6:6] -tpsTooLow = bits, U32, 1068, [7:7] -mapTooLow = bits, U32, 1068, [8:8] -isPlantValid = bits, U32, 1068, [9:9] -isBoostControlled = bits, U32, 1068, [10:10] -luaTargetAdd = scalar, S16, 1072, "v", 0.5,0 -boostOutput = scalar, S16, 1074, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1076, "v", 1,0 -openLoopPart = scalar, F32, 1080, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1084, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1088, "%", 0.5,0 -boostControlTarget = scalar, S16, 1090, "kPa", 0.03333333333333333,0 -; total TS size = 1092 -acButtonState = scalar, S08, 1092, "", 1, 0 -m_acEnabled = bits, U32, 1096, [0:0] -engineTooSlow = bits, U32, 1096, [1:1] -engineTooFast = bits, U32, 1096, [2:2] -noClt = bits, U32, 1096, [3:3] -engineTooHot = bits, U32, 1096, [4:4] -tpsTooHigh = bits, U32, 1096, [5:5] -isDisabledByLua = bits, U32, 1096, [6:6] -acCompressorState = bits, U32, 1096, [7:7] -acPressureTooLow = bits, U32, 1096, [8:8] -acPressureTooHigh = bits, U32, 1096, [9:9] -; total TS size = 1100 -cranking0 = bits, U32, 1100, [0:0] -notRunning0 = bits, U32, 1100, [1:1] -disabledWhileEngineStopped0 = bits, U32, 1100, [2:2] -brokenClt0 = bits, U32, 1100, [3:3] -enabledForAc0 = bits, U32, 1100, [4:4] -hot0 = bits, U32, 1100, [5:5] -cold0 = bits, U32, 1100, [6:6] -disabledBySpeed0 = bits, U32, 1100, [7:7] -radiatorFanStatus0 = scalar, U08, 1104, "", 1, 0 +throttleUseWotModel = bits, U32, 1068, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1072, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1076, "g/s", 1, 0 +; total TS size = 1080 +m_requested_pump = scalar, F32, 1080, "", 1, 0 +fuel_requested_percent = scalar, F32, 1084, "", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1088, "", 1, 0 +noValve = bits, U32, 1092, [0:0] +angleAboveMin = bits, U32, 1092, [1:1] +isHpfpInactive = bits, U32, 1092, [2:2] +m_pressureTarget_kPa = scalar, F32, 1096, "", 1, 0 +nextLobe = scalar, F32, 1100, "", 1, 0 +di_nextStart = scalar, F32, 1104, "v", 1, 0 ; total TS size = 1108 -cranking1 = bits, U32, 1108, [0:0] -notRunning1 = bits, U32, 1108, [1:1] -disabledWhileEngineStopped1 = bits, U32, 1108, [2:2] -brokenClt1 = bits, U32, 1108, [3:3] -enabledForAc1 = bits, U32, 1108, [4:4] -hot1 = bits, U32, 1108, [5:5] -cold1 = bits, U32, 1108, [6:6] -disabledBySpeed1 = bits, U32, 1108, [7:7] -radiatorFanStatus1 = scalar, U08, 1112, "", 1, 0 -; total TS size = 1116 -isPrime = bits, U32, 1116, [0:0] -engineTurnedRecently = bits, U32, 1116, [1:1] -isFuelPumpOn = bits, U32, 1116, [2:2] -ignitionOn = bits, U32, 1116, [3:3] +m_deadtime = scalar, F32, 1108, "ms", 1, 0 +pressureDelta = scalar, F32, 1112, "kPa", 1, 0 +pressureRatio = scalar, F32, 1116, "", 1, 0 ; total TS size = 1120 -isBenchTest = bits, U32, 1120, [0:0] -hasIgnitionVoltage = bits, U32, 1120, [1:1] -mainRelayState = bits, U32, 1120, [2:2] -delayedShutoffRequested = bits, U32, 1120, [3:3] -; total TS size = 1124 -lua_fuelAdd = scalar, F32, 1124, "g", 1, 0 -lua_fuelMult = scalar, F32, 1128, "", 1, 0 -lua_clutchUpState = bits, U32, 1132, [0:0] -lua_brakePedalState = bits, U32, 1132, [1:1] -lua_acRequestState = bits, U32, 1132, [2:2] -lua_luaDisableEtb = bits, U32, 1132, [3:3] -lua_luaIgnCut = bits, U32, 1132, [4:4] -lua_luaFuelCut = bits, U32, 1132, [5:5] -lua_clutchDownState = bits, U32, 1132, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1132, [7:7] -sd_tCharge = scalar, S16, 1136, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1140, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1144, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1148, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1152, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1156, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1160, "", 1, 0 -hellenBoardId = scalar, S16, 1164, "id", 1, 0 -clutchUpState = scalar, S08, 1166, "", 1, 0 -clutchDownState = scalar, S08, 1167, "", 1, 0 -brakePedalState = scalar, S08, 1168, "", 1, 0 -startStopState = scalar, S08, 1169, "", 1, 0 -smartChipState = scalar, S08, 1170, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1171, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1172, "", 1, 0 -startStopPhysicalState = bits, U32, 1176, [0:0] -acrActive = bits, U32, 1176, [1:1] -acrEngineMovedRecently = bits, U32, 1176, [2:2] -heaterControlEnabled = bits, U32, 1176, [3:3] -luaDigitalState0 = bits, U32, 1176, [4:4] -luaDigitalState1 = bits, U32, 1176, [5:5] -luaDigitalState2 = bits, U32, 1176, [6:6] -luaDigitalState3 = bits, U32, 1176, [7:7] -startStopStateToggleCounter = scalar, U32, 1180, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1184, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1188, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1192, "", 1, 0 -desiredRpmLimit = scalar, S16, 1196, "rpm", 1, 0 -fuelInjectionCounter = scalar, U32, 1200, "", 1, 0 -globalSparkCounter = scalar, U32, 1204, "", 1, 0 -fuelingLoad = scalar, F32, 1208, "", 1, 0 -ignitionLoad = scalar, F32, 1212, "", 1, 0 -veTableYAxis = scalar, U16, 1216, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1218, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1219, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1220, "", 1, 0 -; total TS size = 1224 -tpsFrom = scalar, F32, 1224 -tpsTo = scalar, F32, 1228 -deltaTps = scalar, F32, 1232 -extraFuel = scalar, F32, 1236, "", 1, 0 -valueFromTable = scalar, F32, 1240, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1244, [0:0] -isBelowDecelThreshold = bits, U32, 1244, [1:1] -isTimeToResetAccumulator = bits, U32, 1244, [2:2] -isFractionalEnrichment = bits, U32, 1244, [3:3] -belowEpsilon = bits, U32, 1244, [4:4] -tooShort = bits, U32, 1244, [5:5] -fractionalInjFuel = scalar, F32, 1248, "", 1, 0 -accumulatedValue = scalar, F32, 1252, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1256, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1260, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1264, "", 1, 0 -cycleCnt = scalar, S32, 1268, "", 1, 0 -; total TS size = 1272 -hwEventCounters1 = scalar, U32, 1272, "", 1, 0 -hwEventCounters2 = scalar, U32, 1276, "", 1, 0 -hwEventCounters3 = scalar, U32, 1280, "", 1, 0 -hwEventCounters4 = scalar, U32, 1284, "", 1, 0 -hwEventCounters5 = scalar, U32, 1288, "", 1, 0 -hwEventCounters6 = scalar, U32, 1292, "", 1, 0 -vvtCamCounter = scalar, U32, 1296, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1300, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1304, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1308, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1309, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1312, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1316, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1320, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1324, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1328, [0:0] -triggerElapsedUs = scalar, U32, 1332, "", 1, 0 -; total TS size = 1336 -crankSynchronizationCounter0 = scalar, U32, 1336, "", 1, 0 -vvtSyncGapRatio0 = scalar, F32, 1340, "", 1, 0 -vvtToothDurations00 = scalar, U32, 1344, "us", 1, 0 -vvtCurrentPosition0 = scalar, F32, 1348, "sync: Primary Cam Position", 1, 0 -vvtToothPosition10 = scalar, F32, 1352, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition20 = scalar, F32, 1356, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition30 = scalar, F32, 1360, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition40 = scalar, F32, 1364, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio0 = scalar, F32, 1368, "", 1, 0 -triggerStateIndex0 = scalar, U08, 1372, "", 1, 0 -vvtStateIndex0 = scalar, U08, 1373, "", 1, 0 -; total TS size = 1376 -crankSynchronizationCounter1 = scalar, U32, 1376, "", 1, 0 -vvtSyncGapRatio1 = scalar, F32, 1380, "", 1, 0 -vvtToothDurations01 = scalar, U32, 1384, "us", 1, 0 -vvtCurrentPosition1 = scalar, F32, 1388, "sync: Primary Cam Position", 1, 0 -vvtToothPosition11 = scalar, F32, 1392, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition21 = scalar, F32, 1396, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition31 = scalar, F32, 1400, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition41 = scalar, F32, 1404, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio1 = scalar, F32, 1408, "", 1, 0 -triggerStateIndex1 = scalar, U08, 1412, "", 1, 0 -vvtStateIndex1 = scalar, U08, 1413, "", 1, 0 -; total TS size = 1416 -crankSynchronizationCounter2 = scalar, U32, 1416, "", 1, 0 -vvtSyncGapRatio2 = scalar, F32, 1420, "", 1, 0 -vvtToothDurations02 = scalar, U32, 1424, "us", 1, 0 -vvtCurrentPosition2 = scalar, F32, 1428, "sync: Primary Cam Position", 1, 0 -vvtToothPosition12 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition22 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition32 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition42 = scalar, F32, 1444, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio2 = scalar, F32, 1448, "", 1, 0 -triggerStateIndex2 = scalar, U08, 1452, "", 1, 0 -vvtStateIndex2 = scalar, U08, 1453, "", 1, 0 -; total TS size = 1456 -crankSynchronizationCounter3 = scalar, U32, 1456, "", 1, 0 -vvtSyncGapRatio3 = scalar, F32, 1460, "", 1, 0 -vvtToothDurations03 = scalar, U32, 1464, "us", 1, 0 -vvtCurrentPosition3 = scalar, F32, 1468, "sync: Primary Cam Position", 1, 0 -vvtToothPosition13 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition23 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition33 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition43 = scalar, F32, 1484, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio3 = scalar, F32, 1488, "", 1, 0 -triggerStateIndex3 = scalar, U08, 1492, "", 1, 0 -vvtStateIndex3 = scalar, U08, 1493, "", 1, 0 -; total TS size = 1496 -crankSynchronizationCounter4 = scalar, U32, 1496, "", 1, 0 -vvtSyncGapRatio4 = scalar, F32, 1500, "", 1, 0 -vvtToothDurations04 = scalar, U32, 1504, "us", 1, 0 -vvtCurrentPosition4 = scalar, F32, 1508, "sync: Primary Cam Position", 1, 0 -vvtToothPosition14 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition24 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition34 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition44 = scalar, F32, 1524, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio4 = scalar, F32, 1528, "", 1, 0 -triggerStateIndex4 = scalar, U08, 1532, "", 1, 0 -vvtStateIndex4 = scalar, U08, 1533, "", 1, 0 -; total TS size = 1536 -camResyncCounter = scalar, U08, 1536, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1540, [0:0] -; total TS size = 1544 -wallFuelCorrection = scalar, F32, 1544, "", 1, 0 -wallFuel = scalar, F32, 1548, "", 1, 0 -; total TS size = 1552 -idleState = bits, S32, 1552, [0:2], "not important" -currentIdlePosition = scalar, F32, 1556 -baseIdlePosition = scalar, F32, 1560 -idleClosedLoop = scalar, F32, 1564 -iacByTpsTaper = scalar, F32, 1568 -throttlePedalUpState = scalar, S32, 1572, "", 1, 0 -mightResetPid = bits, U32, 1576, [0:0] -shouldResetPid = bits, U32, 1576, [1:1] -wasResetPid = bits, U32, 1576, [2:2] -mustResetPid = bits, U32, 1576, [3:3] -isCranking = bits, U32, 1576, [4:4] -isIacTableForCoasting = bits, U32, 1576, [5:5] -notIdling = bits, U32, 1576, [6:6] -needReset = bits, U32, 1576, [7:7] -isInDeadZone = bits, U32, 1576, [8:8] -isBlipping = bits, U32, 1576, [9:9] -useClosedLoop = bits, U32, 1576, [10:10] -badTps = bits, U32, 1576, [11:11] -looksLikeRunning = bits, U32, 1576, [12:12] -looksLikeCoasting = bits, U32, 1576, [13:13] -looksLikeCrankToIdle = bits, U32, 1576, [14:14] -isIdleCoasting = bits, U32, 1576, [15:15] -isIdleClosedLoop = bits, U32, 1576, [16:16] -idleTarget = scalar, S32, 1580, "", 1, 0 -targetRpmByClt = scalar, S32, 1584, "", 1, 0 -targetRpmAc = scalar, S32, 1588, "", 1, 0 -iacByRpmTaper = scalar, F32, 1592 -luaAdd = scalar, F32, 1596 -; total TS size = 1600 -targetWithIdlePosition0 = scalar, F32, 1600, "per", 1,0 -trim0 = scalar, F32, 1604, "", 1, 0 -luaAdjustment0 = scalar, F32, 1608, "per", 1,0 -m_wastegatePosition0 = scalar, F32, 1612, "per", 1,0 -etbFeedForward0 = scalar, F32, 1616 -etbIntegralError0 = scalar, F32, 1620, "", 1, 0 -etbCurrentTarget0 = scalar, F32, 1624, "%", 1, 0 -etbCurrentAdjustedTarget0 = scalar, F32, 1628, "%", 1, 0 -etbRevLimitActive0 = bits, U32, 1632, [0:0] -jamDetected0 = bits, U32, 1632, [1:1] -etbTpsErrorCounter0 = scalar, U16, 1636, "count", 1,0 -etbPpsErrorCounter0 = scalar, U16, 1638, "count", 1,0 -etbErrorCode0 = scalar, S08, 1640, "", 1, 0 -tcEtbDrop0 = scalar, S08, 1641, "%", 1, 0 -jamTimer0 = scalar, U16, 1642, "sec", 0.01, 0 -adjustedEtbTarget0 = scalar, S08, 1644, "%", 1, 0 -; total TS size = 1648 -targetWithIdlePosition1 = scalar, F32, 1648, "per", 1,0 -trim1 = scalar, F32, 1652, "", 1, 0 -luaAdjustment1 = scalar, F32, 1656, "per", 1,0 -m_wastegatePosition1 = scalar, F32, 1660, "per", 1,0 -etbFeedForward1 = scalar, F32, 1664 -etbIntegralError1 = scalar, F32, 1668, "", 1, 0 -etbCurrentTarget1 = scalar, F32, 1672, "%", 1, 0 -etbCurrentAdjustedTarget1 = scalar, F32, 1676, "%", 1, 0 -etbRevLimitActive1 = bits, U32, 1680, [0:0] -jamDetected1 = bits, U32, 1680, [1:1] -etbTpsErrorCounter1 = scalar, U16, 1684, "count", 1,0 -etbPpsErrorCounter1 = scalar, U16, 1686, "count", 1,0 -etbErrorCode1 = scalar, S08, 1688, "", 1, 0 -tcEtbDrop1 = scalar, S08, 1689, "%", 1, 0 -jamTimer1 = scalar, U16, 1690, "sec", 0.01, 0 -adjustedEtbTarget1 = scalar, S08, 1692, "%", 1, 0 -; total TS size = 1696 -faultCode0 = scalar, U08, 1696, "", 1, 0 -heaterDuty0 = scalar, U08, 1697, "%", 1, 0 -pumpDuty0 = scalar, U08, 1698, "%", 1, 0 -tempC0 = scalar, U16, 1700, "C", 1, 0 -nernstVoltage0 = scalar, U16, 1702, "V", 0.001, 0 -esr0 = scalar, U16, 1704, "ohm", 1, 0 -; total TS size = 1708 -faultCode1 = scalar, U08, 1708, "", 1, 0 -heaterDuty1 = scalar, U08, 1709, "%", 1, 0 -pumpDuty1 = scalar, U08, 1710, "%", 1, 0 -tempC1 = scalar, U16, 1712, "C", 1, 0 -nernstVoltage1 = scalar, U16, 1714, "V", 0.001, 0 -esr1 = scalar, U16, 1716, "ohm", 1, 0 -; total TS size = 1720 -dcOutput0 = scalar, F32, 1720, "per", 1,0 -isEnabled0_int = scalar, U08, 1724, "per", 1,0 -isEnabled0 = bits, U32, 1728, [0:0] -; total TS size = 1732 -value0 = scalar, U16, 1732, "value", 1,0 -value1 = scalar, U16, 1734, "value", 1,0 -errorRate = scalar, F32, 1736, "ratio", 1,0 -; total TS size = 1740 -vvtTarget = scalar, U16, 1740, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1742, "%", 0.5, 0 -; total TS size = 1744 -lambdaCurrentlyGood = bits, U32, 1744, [0:0] -lambdaMonitorCut = bits, U32, 1744, [1:1] -lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 -; total TS size = 1752 +retardThresholdRpm = scalar, S32, 1120, "", 1, 0 +launchActivatePinState = bits, U32, 1124, [0:0] +isPreLaunchCondition = bits, U32, 1124, [1:1] +isLaunchCondition = bits, U32, 1124, [2:2] +isSwitchActivated = bits, U32, 1124, [3:3] +isClutchActivated = bits, U32, 1124, [4:4] +isBrakePedalActivated = bits, U32, 1124, [5:5] +isValidInputPin = bits, U32, 1124, [6:6] +activateSwitchCondition = bits, U32, 1124, [7:7] +rpmLaunchCondition = bits, U32, 1124, [8:8] +rpmPreLaunchCondition = bits, U32, 1124, [9:9] +speedCondition = bits, U32, 1124, [10:10] +tpsCondition = bits, U32, 1124, [11:11] +; total TS size = 1128 +isTorqueReductionTriggerPinValid = bits, U32, 1128, [0:0] +torqueReductionTriggerPinState = bits, U32, 1128, [1:1] +isTimeConditionSatisfied = bits, U32, 1128, [2:2] +isRpmConditionSatisfied = bits, U32, 1128, [3:3] +isAppConditionSatisfied = bits, U32, 1128, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1128, [5:5] +; total TS size = 1132 +isAntilagCondition = bits, U32, 1132, [0:0] +ALSMinRPMCondition = bits, U32, 1132, [1:1] +ALSMaxRPMCondition = bits, U32, 1132, [2:2] +ALSMinCLTCondition = bits, U32, 1132, [3:3] +ALSMaxCLTCondition = bits, U32, 1132, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1132, [5:5] +isALSSwitchActivated = bits, U32, 1132, [6:6] +ALSActivatePinState = bits, U32, 1132, [7:7] +ALSSwitchCondition = bits, U32, 1132, [8:8] +ALSTimerCondition = bits, U32, 1132, [9:9] +fuelALSCorrection = scalar, F32, 1136, "", 1, 0 +timingALSCorrection = scalar, S16, 1140, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1142, "deg", 0.01, 0 +; total TS size = 1144 +isTpsInvalid = bits, U32, 1144, [0:0] +m_shouldResetPid = bits, U32, 1144, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1144, [2:2] +isNotClosedLoop = bits, U32, 1144, [3:3] +isZeroRpm = bits, U32, 1144, [4:4] +hasInitBoost = bits, U32, 1144, [5:5] +rpmTooLow = bits, U32, 1144, [6:6] +tpsTooLow = bits, U32, 1144, [7:7] +mapTooLow = bits, U32, 1144, [8:8] +isPlantValid = bits, U32, 1144, [9:9] +isBoostControlled = bits, U32, 1144, [10:10] +luaTargetAdd = scalar, S16, 1148, "v", 0.5,0 +boostOutput = scalar, S16, 1150, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1152, "v", 1,0 +openLoopPart = scalar, F32, 1156, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1160, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1164, "%", 0.5,0 +boostControlTarget = scalar, S16, 1166, "kPa", 0.03333333333333333,0 +; total TS size = 1168 +acButtonState = scalar, S08, 1168, "", 1, 0 +m_acEnabled = bits, U32, 1172, [0:0] +engineTooSlow = bits, U32, 1172, [1:1] +engineTooFast = bits, U32, 1172, [2:2] +noClt = bits, U32, 1172, [3:3] +engineTooHot = bits, U32, 1172, [4:4] +tpsTooHigh = bits, U32, 1172, [5:5] +isDisabledByLua = bits, U32, 1172, [6:6] +acCompressorState = bits, U32, 1172, [7:7] +acPressureTooLow = bits, U32, 1172, [8:8] +acPressureTooHigh = bits, U32, 1172, [9:9] +; total TS size = 1176 +cranking0 = bits, U32, 1176, [0:0] +notRunning0 = bits, U32, 1176, [1:1] +disabledWhileEngineStopped0 = bits, U32, 1176, [2:2] +brokenClt0 = bits, U32, 1176, [3:3] +enabledForAc0 = bits, U32, 1176, [4:4] +hot0 = bits, U32, 1176, [5:5] +cold0 = bits, U32, 1176, [6:6] +disabledBySpeed0 = bits, U32, 1176, [7:7] +radiatorFanStatus0 = scalar, U08, 1180, "", 1, 0 +; total TS size = 1184 +cranking1 = bits, U32, 1184, [0:0] +notRunning1 = bits, U32, 1184, [1:1] +disabledWhileEngineStopped1 = bits, U32, 1184, [2:2] +brokenClt1 = bits, U32, 1184, [3:3] +enabledForAc1 = bits, U32, 1184, [4:4] +hot1 = bits, U32, 1184, [5:5] +cold1 = bits, U32, 1184, [6:6] +disabledBySpeed1 = bits, U32, 1184, [7:7] +radiatorFanStatus1 = scalar, U08, 1188, "", 1, 0 +; total TS size = 1192 +isPrime = bits, U32, 1192, [0:0] +engineTurnedRecently = bits, U32, 1192, [1:1] +isFuelPumpOn = bits, U32, 1192, [2:2] +ignitionOn = bits, U32, 1192, [3:3] +; total TS size = 1196 +isBenchTest = bits, U32, 1196, [0:0] +hasIgnitionVoltage = bits, U32, 1196, [1:1] +mainRelayState = bits, U32, 1196, [2:2] +delayedShutoffRequested = bits, U32, 1196, [3:3] +; total TS size = 1200 +lua_fuelAdd = scalar, F32, 1200, "g", 1, 0 +lua_fuelMult = scalar, F32, 1204, "", 1, 0 +lua_clutchUpState = bits, U32, 1208, [0:0] +lua_brakePedalState = bits, U32, 1208, [1:1] +lua_acRequestState = bits, U32, 1208, [2:2] +lua_luaDisableEtb = bits, U32, 1208, [3:3] +lua_luaIgnCut = bits, U32, 1208, [4:4] +lua_luaFuelCut = bits, U32, 1208, [5:5] +lua_clutchDownState = bits, U32, 1208, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1208, [7:7] +sd_tCharge = scalar, S16, 1212, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1216, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1220, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1224, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1228, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1232, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1236, "", 1, 0 +hellenBoardId = scalar, S16, 1240, "id", 1, 0 +clutchUpState = scalar, S08, 1242, "", 1, 0 +clutchDownState = scalar, S08, 1243, "", 1, 0 +brakePedalState = scalar, S08, 1244, "", 1, 0 +startStopState = scalar, S08, 1245, "", 1, 0 +smartChipState = scalar, S08, 1246, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1247, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1248, "", 1, 0 +startStopPhysicalState = bits, U32, 1252, [0:0] +acrActive = bits, U32, 1252, [1:1] +acrEngineMovedRecently = bits, U32, 1252, [2:2] +heaterControlEnabled = bits, U32, 1252, [3:3] +luaDigitalState0 = bits, U32, 1252, [4:4] +luaDigitalState1 = bits, U32, 1252, [5:5] +luaDigitalState2 = bits, U32, 1252, [6:6] +luaDigitalState3 = bits, U32, 1252, [7:7] +startStopStateToggleCounter = scalar, U32, 1256, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1260, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1264, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1268, "", 1, 0 +desiredRpmLimit = scalar, S16, 1272, "rpm", 1, 0 +fuelInjectionCounter = scalar, U32, 1276, "", 1, 0 +globalSparkCounter = scalar, U32, 1280, "", 1, 0 +fuelingLoad = scalar, F32, 1284, "", 1, 0 +ignitionLoad = scalar, F32, 1288, "", 1, 0 +veTableYAxis = scalar, U16, 1292, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1294, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1295, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1296, "", 1, 0 +; total TS size = 1300 +tpsFrom = scalar, F32, 1300 +tpsTo = scalar, F32, 1304 +deltaTps = scalar, F32, 1308 +extraFuel = scalar, F32, 1312, "", 1, 0 +valueFromTable = scalar, F32, 1316, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1320, [0:0] +isBelowDecelThreshold = bits, U32, 1320, [1:1] +isTimeToResetAccumulator = bits, U32, 1320, [2:2] +isFractionalEnrichment = bits, U32, 1320, [3:3] +belowEpsilon = bits, U32, 1320, [4:4] +tooShort = bits, U32, 1320, [5:5] +fractionalInjFuel = scalar, F32, 1324, "", 1, 0 +accumulatedValue = scalar, F32, 1328, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1332, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1336, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1340, "", 1, 0 +cycleCnt = scalar, S32, 1344, "", 1, 0 +; total TS size = 1348 +hwEventCounters1 = scalar, U32, 1348, "", 1, 0 +hwEventCounters2 = scalar, U32, 1352, "", 1, 0 +hwEventCounters3 = scalar, U32, 1356, "", 1, 0 +hwEventCounters4 = scalar, U32, 1360, "", 1, 0 +hwEventCounters5 = scalar, U32, 1364, "", 1, 0 +hwEventCounters6 = scalar, U32, 1368, "", 1, 0 +vvtCamCounter = scalar, U32, 1372, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1376, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1380, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1384, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1385, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1388, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1392, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1396, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1400, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1404, [0:0] +triggerElapsedUs = scalar, U32, 1408, "", 1, 0 +; total TS size = 1412 +crankSynchronizationCounter0 = scalar, U32, 1412, "", 1, 0 +vvtSyncGapRatio0 = scalar, F32, 1416, "", 1, 0 +vvtToothDurations00 = scalar, U32, 1420, "us", 1, 0 +vvtCurrentPosition0 = scalar, F32, 1424, "sync: Primary Cam Position", 1, 0 +vvtToothPosition10 = scalar, F32, 1428, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition20 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition30 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition40 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio0 = scalar, F32, 1444, "", 1, 0 +triggerStateIndex0 = scalar, U08, 1448, "", 1, 0 +vvtStateIndex0 = scalar, U08, 1449, "", 1, 0 +; total TS size = 1452 +crankSynchronizationCounter1 = scalar, U32, 1452, "", 1, 0 +vvtSyncGapRatio1 = scalar, F32, 1456, "", 1, 0 +vvtToothDurations01 = scalar, U32, 1460, "us", 1, 0 +vvtCurrentPosition1 = scalar, F32, 1464, "sync: Primary Cam Position", 1, 0 +vvtToothPosition11 = scalar, F32, 1468, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition21 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition31 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition41 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio1 = scalar, F32, 1484, "", 1, 0 +triggerStateIndex1 = scalar, U08, 1488, "", 1, 0 +vvtStateIndex1 = scalar, U08, 1489, "", 1, 0 +; total TS size = 1492 +crankSynchronizationCounter2 = scalar, U32, 1492, "", 1, 0 +vvtSyncGapRatio2 = scalar, F32, 1496, "", 1, 0 +vvtToothDurations02 = scalar, U32, 1500, "us", 1, 0 +vvtCurrentPosition2 = scalar, F32, 1504, "sync: Primary Cam Position", 1, 0 +vvtToothPosition12 = scalar, F32, 1508, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition22 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition32 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition42 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio2 = scalar, F32, 1524, "", 1, 0 +triggerStateIndex2 = scalar, U08, 1528, "", 1, 0 +vvtStateIndex2 = scalar, U08, 1529, "", 1, 0 +; total TS size = 1532 +crankSynchronizationCounter3 = scalar, U32, 1532, "", 1, 0 +vvtSyncGapRatio3 = scalar, F32, 1536, "", 1, 0 +vvtToothDurations03 = scalar, U32, 1540, "us", 1, 0 +vvtCurrentPosition3 = scalar, F32, 1544, "sync: Primary Cam Position", 1, 0 +vvtToothPosition13 = scalar, F32, 1548, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition23 = scalar, F32, 1552, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition33 = scalar, F32, 1556, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition43 = scalar, F32, 1560, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio3 = scalar, F32, 1564, "", 1, 0 +triggerStateIndex3 = scalar, U08, 1568, "", 1, 0 +vvtStateIndex3 = scalar, U08, 1569, "", 1, 0 +; total TS size = 1572 +crankSynchronizationCounter4 = scalar, U32, 1572, "", 1, 0 +vvtSyncGapRatio4 = scalar, F32, 1576, "", 1, 0 +vvtToothDurations04 = scalar, U32, 1580, "us", 1, 0 +vvtCurrentPosition4 = scalar, F32, 1584, "sync: Primary Cam Position", 1, 0 +vvtToothPosition14 = scalar, F32, 1588, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition24 = scalar, F32, 1592, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition34 = scalar, F32, 1596, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition44 = scalar, F32, 1600, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio4 = scalar, F32, 1604, "", 1, 0 +triggerStateIndex4 = scalar, U08, 1608, "", 1, 0 +vvtStateIndex4 = scalar, U08, 1609, "", 1, 0 +; total TS size = 1612 +camResyncCounter = scalar, U08, 1612, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1616, [0:0] +; total TS size = 1620 +wallFuelCorrection = scalar, F32, 1620, "", 1, 0 +wallFuel = scalar, F32, 1624, "", 1, 0 +; total TS size = 1628 +idleState = bits, S32, 1628, [0:2], "not important" +currentIdlePosition = scalar, F32, 1632 +baseIdlePosition = scalar, F32, 1636 +idleClosedLoop = scalar, F32, 1640 +iacByTpsTaper = scalar, F32, 1644 +throttlePedalUpState = scalar, S32, 1648, "", 1, 0 +mightResetPid = bits, U32, 1652, [0:0] +shouldResetPid = bits, U32, 1652, [1:1] +wasResetPid = bits, U32, 1652, [2:2] +mustResetPid = bits, U32, 1652, [3:3] +isCranking = bits, U32, 1652, [4:4] +isIacTableForCoasting = bits, U32, 1652, [5:5] +notIdling = bits, U32, 1652, [6:6] +needReset = bits, U32, 1652, [7:7] +isInDeadZone = bits, U32, 1652, [8:8] +isBlipping = bits, U32, 1652, [9:9] +useClosedLoop = bits, U32, 1652, [10:10] +badTps = bits, U32, 1652, [11:11] +looksLikeRunning = bits, U32, 1652, [12:12] +looksLikeCoasting = bits, U32, 1652, [13:13] +looksLikeCrankToIdle = bits, U32, 1652, [14:14] +isIdleCoasting = bits, U32, 1652, [15:15] +isIdleClosedLoop = bits, U32, 1652, [16:16] +idleTarget = scalar, S32, 1656, "", 1, 0 +targetRpmByClt = scalar, S32, 1660, "", 1, 0 +targetRpmAc = scalar, S32, 1664, "", 1, 0 +iacByRpmTaper = scalar, F32, 1668 +luaAdd = scalar, F32, 1672 +; total TS size = 1676 +targetWithIdlePosition0 = scalar, F32, 1676, "per", 1,0 +trim0 = scalar, F32, 1680, "", 1, 0 +luaAdjustment0 = scalar, F32, 1684, "per", 1,0 +m_wastegatePosition0 = scalar, F32, 1688, "per", 1,0 +etbFeedForward0 = scalar, F32, 1692 +etbIntegralError0 = scalar, F32, 1696, "", 1, 0 +etbCurrentTarget0 = scalar, F32, 1700, "%", 1, 0 +etbCurrentAdjustedTarget0 = scalar, F32, 1704, "%", 1, 0 +etbRevLimitActive0 = bits, U32, 1708, [0:0] +jamDetected0 = bits, U32, 1708, [1:1] +etbTpsErrorCounter0 = scalar, U16, 1712, "count", 1,0 +etbPpsErrorCounter0 = scalar, U16, 1714, "count", 1,0 +etbErrorCode0 = scalar, S08, 1716, "", 1, 0 +tcEtbDrop0 = scalar, S08, 1717, "%", 1, 0 +jamTimer0 = scalar, U16, 1718, "sec", 0.01, 0 +adjustedEtbTarget0 = scalar, S08, 1720, "%", 1, 0 +; total TS size = 1724 +targetWithIdlePosition1 = scalar, F32, 1724, "per", 1,0 +trim1 = scalar, F32, 1728, "", 1, 0 +luaAdjustment1 = scalar, F32, 1732, "per", 1,0 +m_wastegatePosition1 = scalar, F32, 1736, "per", 1,0 +etbFeedForward1 = scalar, F32, 1740 +etbIntegralError1 = scalar, F32, 1744, "", 1, 0 +etbCurrentTarget1 = scalar, F32, 1748, "%", 1, 0 +etbCurrentAdjustedTarget1 = scalar, F32, 1752, "%", 1, 0 +etbRevLimitActive1 = bits, U32, 1756, [0:0] +jamDetected1 = bits, U32, 1756, [1:1] +etbTpsErrorCounter1 = scalar, U16, 1760, "count", 1,0 +etbPpsErrorCounter1 = scalar, U16, 1762, "count", 1,0 +etbErrorCode1 = scalar, S08, 1764, "", 1, 0 +tcEtbDrop1 = scalar, S08, 1765, "%", 1, 0 +jamTimer1 = scalar, U16, 1766, "sec", 0.01, 0 +adjustedEtbTarget1 = scalar, S08, 1768, "%", 1, 0 +; total TS size = 1772 +faultCode0 = scalar, U08, 1772, "", 1, 0 +heaterDuty0 = scalar, U08, 1773, "%", 1, 0 +pumpDuty0 = scalar, U08, 1774, "%", 1, 0 +tempC0 = scalar, U16, 1776, "C", 1, 0 +nernstVoltage0 = scalar, U16, 1778, "V", 0.001, 0 +esr0 = scalar, U16, 1780, "ohm", 1, 0 +; total TS size = 1784 +faultCode1 = scalar, U08, 1784, "", 1, 0 +heaterDuty1 = scalar, U08, 1785, "%", 1, 0 +pumpDuty1 = scalar, U08, 1786, "%", 1, 0 +tempC1 = scalar, U16, 1788, "C", 1, 0 +nernstVoltage1 = scalar, U16, 1790, "V", 0.001, 0 +esr1 = scalar, U16, 1792, "ohm", 1, 0 +; total TS size = 1796 +dcOutput0 = scalar, F32, 1796, "per", 1,0 +isEnabled0_int = scalar, U08, 1800, "per", 1,0 +isEnabled0 = bits, U32, 1804, [0:0] +; total TS size = 1808 +value0 = scalar, U16, 1808, "value", 1,0 +value1 = scalar, U16, 1810, "value", 1,0 +errorRate = scalar, F32, 1812, "ratio", 1,0 +; total TS size = 1816 +vvtTarget = scalar, U16, 1816, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1818, "%", 0.5, 0 +; total TS size = 1820 +lambdaCurrentlyGood = bits, U32, 1820, [0:0] +lambdaMonitorCut = bits, U32, 1820, [1:1] +lambdaTimeSinceGood = scalar, U16, 1824, "sec", 0.01, 0 +; total TS size = 1828 time = { timeNow } @@ -3616,6 +3648,7 @@ lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs8 requiresPowerCycle = cylinderBore + requiresPowerCycle = knockFrequency readOnly = warning_message readOnly = device_uid1 @@ -5033,6 +5066,26 @@ gaugeCategory = Knock knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knockSpectrumChannelCylGauge = m_knockSpectrumChannelCyl, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStartGauge = m_knockFrequencyStart, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStepGauge = m_knockFrequencyStep, "Knock Frequency Step", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFuelTrimMultiplier = m_knockFuelTrimMultiplier, "Knock Fuel Trim", "mult", 0, 0, 0, 0, 0, 30, 1, 1 + knockSpectrum1 = m_knockSpectrum1, "Knock Spectrum1", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum2 = m_knockSpectrum2, "knockSpectrum2", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum3 = m_knockSpectrum3, "knockSpectrum3", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum4 = m_knockSpectrum4, "knockSpectrum4", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum5 = m_knockSpectrum5, "knockSpectrum5", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum6 = m_knockSpectrum6, "knockSpectrum6", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum7 = m_knockSpectrum7, "knockSpectrum7", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum8 = m_knockSpectrum8, "knockSpectrum8", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum9 = m_knockSpectrum9, "knockSpectrum9", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum10 = m_knockSpectrum10, "knockSpectrum10", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum11 = m_knockSpectrum11, "knockSpectrum11", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum12 = m_knockSpectrum12, "knockSpectrum12", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum13 = m_knockSpectrum13, "knockSpectrum13", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum14 = m_knockSpectrum14, "knockSpectrum14", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum15 = m_knockSpectrum15, "knockSpectrum15", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum16 = m_knockSpectrum16, "knockSpectrum16", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -5632,6 +5685,26 @@ entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" entry = m_knockCount, "Knock: Count", int, "%d" entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_knockFrequency, "knock: frequency", int, "%d" +entry = m_knockSpectrum1, "Knock: SpectrumData 1", int, "%d" +entry = m_knockSpectrum2, "Knock: SpectrumData 2", int, "%d" +entry = m_knockSpectrum3, "Knock: SpectrumData 3", int, "%d" +entry = m_knockSpectrum4, "Knock: SpectrumData 4", int, "%d" +entry = m_knockSpectrum5, "Knock: SpectrumData 5", int, "%d" +entry = m_knockSpectrum6, "Knock: SpectrumData 6", int, "%d" +entry = m_knockSpectrum7, "Knock: SpectrumData 7", int, "%d" +entry = m_knockSpectrum8, "Knock: SpectrumData 8", int, "%d" +entry = m_knockSpectrum9, "Knock: SpectrumData 9", int, "%d" +entry = m_knockSpectrum10, "Knock: SpectrumData 10", int, "%d" +entry = m_knockSpectrum11, "Knock: SpectrumData 11", int, "%d" +entry = m_knockSpectrum12, "Knock: SpectrumData 12", int, "%d" +entry = m_knockSpectrum13, "Knock: SpectrumData 13", int, "%d" +entry = m_knockSpectrum14, "Knock: SpectrumData 14", int, "%d" +entry = m_knockSpectrum15, "Knock: SpectrumData 15", int, "%d" +entry = m_knockSpectrum16, "Knock: SpectrumData 16", int, "%d" +entry = m_knockSpectrumChannelCyl, "Knock: ChannelAndCylNumber", int, "%d" +entry = m_knockFrequencyStart, "Knock: Start Freq", int, "%d" +entry = m_knockFrequencyStep, "Knock: Step Freq", float, "%.3f" +entry = m_knockFuelTrimMultiplier, "Knock: Fuel trim when knock", float, "%.3f" entry = tcuCurrentGear, "TCU: Current Gear", int, "%d" entry = tcRatio, "TCU: Torque Converter Ratio", float, "%.3f" entry = lastShiftTime, "lastShiftTime", float, "%.3f" @@ -6555,6 +6628,31 @@ dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard graphLine = m_knockFrequency + graphLine = m_knockSpectrum1 + graphLine = m_knockSpectrum2 + liveGraph = knock_controller_6_Graph, "Graph", South + graphLine = m_knockSpectrum3 + graphLine = m_knockSpectrum4 + graphLine = m_knockSpectrum5 + graphLine = m_knockSpectrum6 + liveGraph = knock_controller_7_Graph, "Graph", South + graphLine = m_knockSpectrum7 + graphLine = m_knockSpectrum8 + graphLine = m_knockSpectrum9 + graphLine = m_knockSpectrum10 + liveGraph = knock_controller_8_Graph, "Graph", South + graphLine = m_knockSpectrum11 + graphLine = m_knockSpectrum12 + graphLine = m_knockSpectrum13 + graphLine = m_knockSpectrum14 + liveGraph = knock_controller_9_Graph, "Graph", South + graphLine = m_knockSpectrum15 + graphLine = m_knockSpectrum16 + graphLine = m_knockSpectrumChannelCyl + graphLine = m_knockFrequencyStart + liveGraph = knock_controller_10_Graph, "Graph", South + graphLine = m_knockFrequencyStep + graphLine = m_knockFuelTrimMultiplier indicatorPanel = tcu_controllerIndicatorPanel, 2 indicator = {isShifting}, "isShifting No", "isShifting Yes" @@ -8619,9 +8717,13 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockCfg, "Sense" field = "Enable", enableSoftwareKnock field = "Cylinder Bore", cylinderBore, {enableSoftwareKnock} + field = "Estimated Knock Frequency",knockFrequency, {enableSoftwareKnock} field = "Detection mode", knockDetectionUseDoubleFrequency field = "Detection Window Start",knockDetectionWindowStart, {enableSoftwareKnock} field = "Sampling Duration", knockSamplingDuration, {enableSoftwareKnock} + field = "Enable Knock Spectrogram", enableKnockSpectrogram, {enableSoftwareKnock} + field = "Enable Knock Spectrogram Filter", enableKnockSpectrogramFilter, {enableKnockSpectrogram} + field = "Knock Spectrum Sensitivity", knockSpectrumSensitivity, {enableKnockSpectrogram} field = "" field = "Select the nearest sensor for each cylinder" @@ -8641,6 +8743,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockResponseCfg, "Response" field = knockRetardAggression, knockRetardAggression field = knockRetardReapplyRate, knockRetardReapplyRate + field = knockFuelTrimAggression, knockFuelTrimAggression + field = knockFuelTrimReapplyRate, knockFuelTrimReapplyRate + field = knockFuelTrim, knockFuelTrim + field = knockSuppressMinTps, knockSuppressMinTps dialog = softwareKnockLeft, "" panel = softwareKnockCfg diff --git a/firmware/tunerstudio/generated/rusefi_proteus_h7.ini b/firmware/tunerstudio/generated/rusefi_proteus_h7.ini index b24c27c59b..70cbfaa369 100644 --- a/firmware/tunerstudio/generated/rusefi_proteus_h7.ini +++ b/firmware/tunerstudio/generated/rusefi_proteus_h7.ini @@ -38,12 +38,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.10.21.proteus_h7.3780242052" + signature = "rusEFI master.2024.10.21.proteus_h7.1031385211" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.10.21.proteus_h7.3780242052" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.10.21.proteus_h7.1031385211" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -774,6 +774,7 @@ devBit7 = bits, U32, 1492, [27:27], "false", "true" unusedSkipWasHere = bits, U32, 1492, [28:28], "false", "true" invertExhaustCamVVTSignal = bits, U32, 1492, [29:29], "Rising", "Falling" enableKnockSpectrogram = bits, U32, 1492, [30:30], "false", "true" +enableKnockSpectrogramFilter = bits, U32, 1492, [31:31], "false", "true" afterCrankingIACtaperDuration = scalar, S16, 1496, "cycles", 1, 0, 0, 5000, 0 iacByTpsTaper = scalar, S16, 1498, "percent", 1, 0, 0, 500, 0 unusedAuxSeria = bits, U16, 1500, [0:8], $gpio_list @@ -1394,7 +1395,13 @@ auxLinear4_v1 = scalar, F32, 3880, "volts", 1, 0, 0, 10, 2 auxLinear4_value1 = scalar, F32, 3884, "", 1, 0, -100000, 1000000, 2 auxLinear4_v2 = scalar, F32, 3888, "volts", 1, 0, 0, 10, 2 auxLinear4_value2 = scalar, F32, 3892, "", 1, 0, -100000, 1000000, 2 -unusedOftenChangesDuringFirmwareUpdate = array, U08, 3896, [128], "units", 1, 0, 0, 1, 0 +knockSuppressMinTps = scalar, U08, 3896, "%", 1, 0, 0, 100, 1 +knockFuelTrimAggression = scalar, U08, 3897, "%", 0.1, 0, 0, 20, 1 +knockFuelTrimReapplyRate = scalar, U08, 3898, "deg/s", 0.1, 0, 0, 10, 1 +knockFuelTrim = scalar, U08, 3899, "%", 1, 0, 0, 30, 1 +knockSpectrumSensitivity = scalar, F32, 3900, "sense", 1, 0, 0, 1, 2 +knockFrequency = scalar, F32, 3904, "Hz", 1, 0, 0, 20000, 2 +unusedOftenChangesDuringFirmwareUpdate = array, U08, 3908, [116], "units", 1, 0, 0, 1, 0 postCrankingFactor = array, F32, 4024, [6x6], "mult", 1, 0, 1, 3, 2 postCrankingDurationBins = array, F32, 4168, [6], "count", 1, 0, 0, 1000, 0 postCrankingCLTBins = array, S16, 4192, [6], "C", 1, 0, -100, 250, 0 @@ -2448,6 +2455,11 @@ minimumOilPressureValues = array, U08, 28460, [8], "kPa", 10.0, 0, 0, 1000, 0 minAcPressure = "value of A/C pressure in kPa before that compressor is disengaged" maxAcPressure = "value of A/C pressure in kPa after that compressor is disengaged" minimumOilPressureTimeout = "Delay before cutting fuel due to low oil pressure. Use this to ignore short pressure blips and sensor noise." + knockSuppressMinTps = "Below TPS value all knock suppression will be disabled." + knockFuelTrimAggression = "Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump)," + knockFuelTrimReapplyRate = "After a knock event, reapply fuel at this rate." + knockFuelTrim = "Fuel trim when knock, max 30%" + knockFrequency = "Estimated knock frequency, ignore cylinderBore if this one > 0" etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, open loop component of PID closed loop control" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2560,7 +2572,7 @@ minimumOilPressureValues = array, U08, 28460, [8], "kPa", 10.0, 0, 0, 1000, 0 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1752 + ochBlockSize = 1828 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3101,370 +3113,390 @@ m_knockThreshold = scalar, F32, 960, "", 1, 0 m_knockCount = scalar, U32, 964, "", 1, 0 m_maximumRetard = scalar, F32, 968, "", 1, 0 m_knockFrequency = scalar, U32, 972, "Hz", 1, 0 -; total TS size = 976 -tcuCurrentGear = scalar, S08, 976, "gear", 1, 0 -tcRatio = scalar, U16, 978, "value", 0.01, 0 -lastShiftTime = scalar, F32, 980, "", 1, 0 -tcu_currentRange = scalar, U08, 984, "", 1, 0 -pressureControlDuty = scalar, S08, 985, "%", 1,0 -torqueConverterDuty = scalar, S08, 986, "%", 1,0 -isShifting = bits, U32, 988, [0:0] -; total TS size = 992 -throttleUseWotModel = bits, U32, 992, [0:0] -throttleModelCrossoverAngle = scalar, S16, 996, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1000, "g/s", 1, 0 -; total TS size = 1004 -m_requested_pump = scalar, F32, 1004, "", 1, 0 -fuel_requested_percent = scalar, F32, 1008, "", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1012, "", 1, 0 -noValve = bits, U32, 1016, [0:0] -angleAboveMin = bits, U32, 1016, [1:1] -isHpfpInactive = bits, U32, 1016, [2:2] -m_pressureTarget_kPa = scalar, F32, 1020, "", 1, 0 -nextLobe = scalar, F32, 1024, "", 1, 0 -di_nextStart = scalar, F32, 1028, "v", 1, 0 -; total TS size = 1032 -m_deadtime = scalar, F32, 1032, "ms", 1, 0 -pressureDelta = scalar, F32, 1036, "kPa", 1, 0 -pressureRatio = scalar, F32, 1040, "", 1, 0 -; total TS size = 1044 -retardThresholdRpm = scalar, S32, 1044, "", 1, 0 -launchActivatePinState = bits, U32, 1048, [0:0] -isPreLaunchCondition = bits, U32, 1048, [1:1] -isLaunchCondition = bits, U32, 1048, [2:2] -isSwitchActivated = bits, U32, 1048, [3:3] -isClutchActivated = bits, U32, 1048, [4:4] -isBrakePedalActivated = bits, U32, 1048, [5:5] -isValidInputPin = bits, U32, 1048, [6:6] -activateSwitchCondition = bits, U32, 1048, [7:7] -rpmLaunchCondition = bits, U32, 1048, [8:8] -rpmPreLaunchCondition = bits, U32, 1048, [9:9] -speedCondition = bits, U32, 1048, [10:10] -tpsCondition = bits, U32, 1048, [11:11] +m_knockSpectrum1 = scalar, U32, 976, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 980, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 984, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 988, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1040, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1042, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1044, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1048, "multiplier", 1, 0 ; total TS size = 1052 -isTorqueReductionTriggerPinValid = bits, U32, 1052, [0:0] -torqueReductionTriggerPinState = bits, U32, 1052, [1:1] -isTimeConditionSatisfied = bits, U32, 1052, [2:2] -isRpmConditionSatisfied = bits, U32, 1052, [3:3] -isAppConditionSatisfied = bits, U32, 1052, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1052, [5:5] -; total TS size = 1056 -isAntilagCondition = bits, U32, 1056, [0:0] -ALSMinRPMCondition = bits, U32, 1056, [1:1] -ALSMaxRPMCondition = bits, U32, 1056, [2:2] -ALSMinCLTCondition = bits, U32, 1056, [3:3] -ALSMaxCLTCondition = bits, U32, 1056, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1056, [5:5] -isALSSwitchActivated = bits, U32, 1056, [6:6] -ALSActivatePinState = bits, U32, 1056, [7:7] -ALSSwitchCondition = bits, U32, 1056, [8:8] -ALSTimerCondition = bits, U32, 1056, [9:9] -fuelALSCorrection = scalar, F32, 1060, "", 1, 0 -timingALSCorrection = scalar, S16, 1064, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1066, "deg", 0.01, 0 +tcuCurrentGear = scalar, S08, 1052, "gear", 1, 0 +tcRatio = scalar, U16, 1054, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1056, "", 1, 0 +tcu_currentRange = scalar, U08, 1060, "", 1, 0 +pressureControlDuty = scalar, S08, 1061, "%", 1,0 +torqueConverterDuty = scalar, S08, 1062, "%", 1,0 +isShifting = bits, U32, 1064, [0:0] ; total TS size = 1068 -isTpsInvalid = bits, U32, 1068, [0:0] -m_shouldResetPid = bits, U32, 1068, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1068, [2:2] -isNotClosedLoop = bits, U32, 1068, [3:3] -isZeroRpm = bits, U32, 1068, [4:4] -hasInitBoost = bits, U32, 1068, [5:5] -rpmTooLow = bits, U32, 1068, [6:6] -tpsTooLow = bits, U32, 1068, [7:7] -mapTooLow = bits, U32, 1068, [8:8] -isPlantValid = bits, U32, 1068, [9:9] -isBoostControlled = bits, U32, 1068, [10:10] -luaTargetAdd = scalar, S16, 1072, "v", 0.5,0 -boostOutput = scalar, S16, 1074, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1076, "v", 1,0 -openLoopPart = scalar, F32, 1080, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1084, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1088, "%", 0.5,0 -boostControlTarget = scalar, S16, 1090, "kPa", 0.03333333333333333,0 -; total TS size = 1092 -acButtonState = scalar, S08, 1092, "", 1, 0 -m_acEnabled = bits, U32, 1096, [0:0] -engineTooSlow = bits, U32, 1096, [1:1] -engineTooFast = bits, U32, 1096, [2:2] -noClt = bits, U32, 1096, [3:3] -engineTooHot = bits, U32, 1096, [4:4] -tpsTooHigh = bits, U32, 1096, [5:5] -isDisabledByLua = bits, U32, 1096, [6:6] -acCompressorState = bits, U32, 1096, [7:7] -acPressureTooLow = bits, U32, 1096, [8:8] -acPressureTooHigh = bits, U32, 1096, [9:9] -; total TS size = 1100 -cranking0 = bits, U32, 1100, [0:0] -notRunning0 = bits, U32, 1100, [1:1] -disabledWhileEngineStopped0 = bits, U32, 1100, [2:2] -brokenClt0 = bits, U32, 1100, [3:3] -enabledForAc0 = bits, U32, 1100, [4:4] -hot0 = bits, U32, 1100, [5:5] -cold0 = bits, U32, 1100, [6:6] -disabledBySpeed0 = bits, U32, 1100, [7:7] -radiatorFanStatus0 = scalar, U08, 1104, "", 1, 0 +throttleUseWotModel = bits, U32, 1068, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1072, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1076, "g/s", 1, 0 +; total TS size = 1080 +m_requested_pump = scalar, F32, 1080, "", 1, 0 +fuel_requested_percent = scalar, F32, 1084, "", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1088, "", 1, 0 +noValve = bits, U32, 1092, [0:0] +angleAboveMin = bits, U32, 1092, [1:1] +isHpfpInactive = bits, U32, 1092, [2:2] +m_pressureTarget_kPa = scalar, F32, 1096, "", 1, 0 +nextLobe = scalar, F32, 1100, "", 1, 0 +di_nextStart = scalar, F32, 1104, "v", 1, 0 ; total TS size = 1108 -cranking1 = bits, U32, 1108, [0:0] -notRunning1 = bits, U32, 1108, [1:1] -disabledWhileEngineStopped1 = bits, U32, 1108, [2:2] -brokenClt1 = bits, U32, 1108, [3:3] -enabledForAc1 = bits, U32, 1108, [4:4] -hot1 = bits, U32, 1108, [5:5] -cold1 = bits, U32, 1108, [6:6] -disabledBySpeed1 = bits, U32, 1108, [7:7] -radiatorFanStatus1 = scalar, U08, 1112, "", 1, 0 -; total TS size = 1116 -isPrime = bits, U32, 1116, [0:0] -engineTurnedRecently = bits, U32, 1116, [1:1] -isFuelPumpOn = bits, U32, 1116, [2:2] -ignitionOn = bits, U32, 1116, [3:3] +m_deadtime = scalar, F32, 1108, "ms", 1, 0 +pressureDelta = scalar, F32, 1112, "kPa", 1, 0 +pressureRatio = scalar, F32, 1116, "", 1, 0 ; total TS size = 1120 -isBenchTest = bits, U32, 1120, [0:0] -hasIgnitionVoltage = bits, U32, 1120, [1:1] -mainRelayState = bits, U32, 1120, [2:2] -delayedShutoffRequested = bits, U32, 1120, [3:3] -; total TS size = 1124 -lua_fuelAdd = scalar, F32, 1124, "g", 1, 0 -lua_fuelMult = scalar, F32, 1128, "", 1, 0 -lua_clutchUpState = bits, U32, 1132, [0:0] -lua_brakePedalState = bits, U32, 1132, [1:1] -lua_acRequestState = bits, U32, 1132, [2:2] -lua_luaDisableEtb = bits, U32, 1132, [3:3] -lua_luaIgnCut = bits, U32, 1132, [4:4] -lua_luaFuelCut = bits, U32, 1132, [5:5] -lua_clutchDownState = bits, U32, 1132, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1132, [7:7] -sd_tCharge = scalar, S16, 1136, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1140, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1144, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1148, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1152, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1156, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1160, "", 1, 0 -hellenBoardId = scalar, S16, 1164, "id", 1, 0 -clutchUpState = scalar, S08, 1166, "", 1, 0 -clutchDownState = scalar, S08, 1167, "", 1, 0 -brakePedalState = scalar, S08, 1168, "", 1, 0 -startStopState = scalar, S08, 1169, "", 1, 0 -smartChipState = scalar, S08, 1170, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1171, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1172, "", 1, 0 -startStopPhysicalState = bits, U32, 1176, [0:0] -acrActive = bits, U32, 1176, [1:1] -acrEngineMovedRecently = bits, U32, 1176, [2:2] -heaterControlEnabled = bits, U32, 1176, [3:3] -luaDigitalState0 = bits, U32, 1176, [4:4] -luaDigitalState1 = bits, U32, 1176, [5:5] -luaDigitalState2 = bits, U32, 1176, [6:6] -luaDigitalState3 = bits, U32, 1176, [7:7] -startStopStateToggleCounter = scalar, U32, 1180, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1184, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1188, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1192, "", 1, 0 -desiredRpmLimit = scalar, S16, 1196, "rpm", 1, 0 -fuelInjectionCounter = scalar, U32, 1200, "", 1, 0 -globalSparkCounter = scalar, U32, 1204, "", 1, 0 -fuelingLoad = scalar, F32, 1208, "", 1, 0 -ignitionLoad = scalar, F32, 1212, "", 1, 0 -veTableYAxis = scalar, U16, 1216, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1218, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1219, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1220, "", 1, 0 -; total TS size = 1224 -tpsFrom = scalar, F32, 1224 -tpsTo = scalar, F32, 1228 -deltaTps = scalar, F32, 1232 -extraFuel = scalar, F32, 1236, "", 1, 0 -valueFromTable = scalar, F32, 1240, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1244, [0:0] -isBelowDecelThreshold = bits, U32, 1244, [1:1] -isTimeToResetAccumulator = bits, U32, 1244, [2:2] -isFractionalEnrichment = bits, U32, 1244, [3:3] -belowEpsilon = bits, U32, 1244, [4:4] -tooShort = bits, U32, 1244, [5:5] -fractionalInjFuel = scalar, F32, 1248, "", 1, 0 -accumulatedValue = scalar, F32, 1252, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1256, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1260, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1264, "", 1, 0 -cycleCnt = scalar, S32, 1268, "", 1, 0 -; total TS size = 1272 -hwEventCounters1 = scalar, U32, 1272, "", 1, 0 -hwEventCounters2 = scalar, U32, 1276, "", 1, 0 -hwEventCounters3 = scalar, U32, 1280, "", 1, 0 -hwEventCounters4 = scalar, U32, 1284, "", 1, 0 -hwEventCounters5 = scalar, U32, 1288, "", 1, 0 -hwEventCounters6 = scalar, U32, 1292, "", 1, 0 -vvtCamCounter = scalar, U32, 1296, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1300, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1304, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1308, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1309, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1312, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1316, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1320, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1324, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1328, [0:0] -triggerElapsedUs = scalar, U32, 1332, "", 1, 0 -; total TS size = 1336 -crankSynchronizationCounter0 = scalar, U32, 1336, "", 1, 0 -vvtSyncGapRatio0 = scalar, F32, 1340, "", 1, 0 -vvtToothDurations00 = scalar, U32, 1344, "us", 1, 0 -vvtCurrentPosition0 = scalar, F32, 1348, "sync: Primary Cam Position", 1, 0 -vvtToothPosition10 = scalar, F32, 1352, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition20 = scalar, F32, 1356, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition30 = scalar, F32, 1360, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition40 = scalar, F32, 1364, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio0 = scalar, F32, 1368, "", 1, 0 -triggerStateIndex0 = scalar, U08, 1372, "", 1, 0 -vvtStateIndex0 = scalar, U08, 1373, "", 1, 0 -; total TS size = 1376 -crankSynchronizationCounter1 = scalar, U32, 1376, "", 1, 0 -vvtSyncGapRatio1 = scalar, F32, 1380, "", 1, 0 -vvtToothDurations01 = scalar, U32, 1384, "us", 1, 0 -vvtCurrentPosition1 = scalar, F32, 1388, "sync: Primary Cam Position", 1, 0 -vvtToothPosition11 = scalar, F32, 1392, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition21 = scalar, F32, 1396, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition31 = scalar, F32, 1400, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition41 = scalar, F32, 1404, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio1 = scalar, F32, 1408, "", 1, 0 -triggerStateIndex1 = scalar, U08, 1412, "", 1, 0 -vvtStateIndex1 = scalar, U08, 1413, "", 1, 0 -; total TS size = 1416 -crankSynchronizationCounter2 = scalar, U32, 1416, "", 1, 0 -vvtSyncGapRatio2 = scalar, F32, 1420, "", 1, 0 -vvtToothDurations02 = scalar, U32, 1424, "us", 1, 0 -vvtCurrentPosition2 = scalar, F32, 1428, "sync: Primary Cam Position", 1, 0 -vvtToothPosition12 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition22 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition32 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition42 = scalar, F32, 1444, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio2 = scalar, F32, 1448, "", 1, 0 -triggerStateIndex2 = scalar, U08, 1452, "", 1, 0 -vvtStateIndex2 = scalar, U08, 1453, "", 1, 0 -; total TS size = 1456 -crankSynchronizationCounter3 = scalar, U32, 1456, "", 1, 0 -vvtSyncGapRatio3 = scalar, F32, 1460, "", 1, 0 -vvtToothDurations03 = scalar, U32, 1464, "us", 1, 0 -vvtCurrentPosition3 = scalar, F32, 1468, "sync: Primary Cam Position", 1, 0 -vvtToothPosition13 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition23 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition33 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition43 = scalar, F32, 1484, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio3 = scalar, F32, 1488, "", 1, 0 -triggerStateIndex3 = scalar, U08, 1492, "", 1, 0 -vvtStateIndex3 = scalar, U08, 1493, "", 1, 0 -; total TS size = 1496 -crankSynchronizationCounter4 = scalar, U32, 1496, "", 1, 0 -vvtSyncGapRatio4 = scalar, F32, 1500, "", 1, 0 -vvtToothDurations04 = scalar, U32, 1504, "us", 1, 0 -vvtCurrentPosition4 = scalar, F32, 1508, "sync: Primary Cam Position", 1, 0 -vvtToothPosition14 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition24 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition34 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition44 = scalar, F32, 1524, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio4 = scalar, F32, 1528, "", 1, 0 -triggerStateIndex4 = scalar, U08, 1532, "", 1, 0 -vvtStateIndex4 = scalar, U08, 1533, "", 1, 0 -; total TS size = 1536 -camResyncCounter = scalar, U08, 1536, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1540, [0:0] -; total TS size = 1544 -wallFuelCorrection = scalar, F32, 1544, "", 1, 0 -wallFuel = scalar, F32, 1548, "", 1, 0 -; total TS size = 1552 -idleState = bits, S32, 1552, [0:2], "not important" -currentIdlePosition = scalar, F32, 1556 -baseIdlePosition = scalar, F32, 1560 -idleClosedLoop = scalar, F32, 1564 -iacByTpsTaper = scalar, F32, 1568 -throttlePedalUpState = scalar, S32, 1572, "", 1, 0 -mightResetPid = bits, U32, 1576, [0:0] -shouldResetPid = bits, U32, 1576, [1:1] -wasResetPid = bits, U32, 1576, [2:2] -mustResetPid = bits, U32, 1576, [3:3] -isCranking = bits, U32, 1576, [4:4] -isIacTableForCoasting = bits, U32, 1576, [5:5] -notIdling = bits, U32, 1576, [6:6] -needReset = bits, U32, 1576, [7:7] -isInDeadZone = bits, U32, 1576, [8:8] -isBlipping = bits, U32, 1576, [9:9] -useClosedLoop = bits, U32, 1576, [10:10] -badTps = bits, U32, 1576, [11:11] -looksLikeRunning = bits, U32, 1576, [12:12] -looksLikeCoasting = bits, U32, 1576, [13:13] -looksLikeCrankToIdle = bits, U32, 1576, [14:14] -isIdleCoasting = bits, U32, 1576, [15:15] -isIdleClosedLoop = bits, U32, 1576, [16:16] -idleTarget = scalar, S32, 1580, "", 1, 0 -targetRpmByClt = scalar, S32, 1584, "", 1, 0 -targetRpmAc = scalar, S32, 1588, "", 1, 0 -iacByRpmTaper = scalar, F32, 1592 -luaAdd = scalar, F32, 1596 -; total TS size = 1600 -targetWithIdlePosition0 = scalar, F32, 1600, "per", 1,0 -trim0 = scalar, F32, 1604, "", 1, 0 -luaAdjustment0 = scalar, F32, 1608, "per", 1,0 -m_wastegatePosition0 = scalar, F32, 1612, "per", 1,0 -etbFeedForward0 = scalar, F32, 1616 -etbIntegralError0 = scalar, F32, 1620, "", 1, 0 -etbCurrentTarget0 = scalar, F32, 1624, "%", 1, 0 -etbCurrentAdjustedTarget0 = scalar, F32, 1628, "%", 1, 0 -etbRevLimitActive0 = bits, U32, 1632, [0:0] -jamDetected0 = bits, U32, 1632, [1:1] -etbTpsErrorCounter0 = scalar, U16, 1636, "count", 1,0 -etbPpsErrorCounter0 = scalar, U16, 1638, "count", 1,0 -etbErrorCode0 = scalar, S08, 1640, "", 1, 0 -tcEtbDrop0 = scalar, S08, 1641, "%", 1, 0 -jamTimer0 = scalar, U16, 1642, "sec", 0.01, 0 -adjustedEtbTarget0 = scalar, S08, 1644, "%", 1, 0 -; total TS size = 1648 -targetWithIdlePosition1 = scalar, F32, 1648, "per", 1,0 -trim1 = scalar, F32, 1652, "", 1, 0 -luaAdjustment1 = scalar, F32, 1656, "per", 1,0 -m_wastegatePosition1 = scalar, F32, 1660, "per", 1,0 -etbFeedForward1 = scalar, F32, 1664 -etbIntegralError1 = scalar, F32, 1668, "", 1, 0 -etbCurrentTarget1 = scalar, F32, 1672, "%", 1, 0 -etbCurrentAdjustedTarget1 = scalar, F32, 1676, "%", 1, 0 -etbRevLimitActive1 = bits, U32, 1680, [0:0] -jamDetected1 = bits, U32, 1680, [1:1] -etbTpsErrorCounter1 = scalar, U16, 1684, "count", 1,0 -etbPpsErrorCounter1 = scalar, U16, 1686, "count", 1,0 -etbErrorCode1 = scalar, S08, 1688, "", 1, 0 -tcEtbDrop1 = scalar, S08, 1689, "%", 1, 0 -jamTimer1 = scalar, U16, 1690, "sec", 0.01, 0 -adjustedEtbTarget1 = scalar, S08, 1692, "%", 1, 0 -; total TS size = 1696 -faultCode0 = scalar, U08, 1696, "", 1, 0 -heaterDuty0 = scalar, U08, 1697, "%", 1, 0 -pumpDuty0 = scalar, U08, 1698, "%", 1, 0 -tempC0 = scalar, U16, 1700, "C", 1, 0 -nernstVoltage0 = scalar, U16, 1702, "V", 0.001, 0 -esr0 = scalar, U16, 1704, "ohm", 1, 0 -; total TS size = 1708 -faultCode1 = scalar, U08, 1708, "", 1, 0 -heaterDuty1 = scalar, U08, 1709, "%", 1, 0 -pumpDuty1 = scalar, U08, 1710, "%", 1, 0 -tempC1 = scalar, U16, 1712, "C", 1, 0 -nernstVoltage1 = scalar, U16, 1714, "V", 0.001, 0 -esr1 = scalar, U16, 1716, "ohm", 1, 0 -; total TS size = 1720 -dcOutput0 = scalar, F32, 1720, "per", 1,0 -isEnabled0_int = scalar, U08, 1724, "per", 1,0 -isEnabled0 = bits, U32, 1728, [0:0] -; total TS size = 1732 -value0 = scalar, U16, 1732, "value", 1,0 -value1 = scalar, U16, 1734, "value", 1,0 -errorRate = scalar, F32, 1736, "ratio", 1,0 -; total TS size = 1740 -vvtTarget = scalar, U16, 1740, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1742, "%", 0.5, 0 -; total TS size = 1744 -lambdaCurrentlyGood = bits, U32, 1744, [0:0] -lambdaMonitorCut = bits, U32, 1744, [1:1] -lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 -; total TS size = 1752 +retardThresholdRpm = scalar, S32, 1120, "", 1, 0 +launchActivatePinState = bits, U32, 1124, [0:0] +isPreLaunchCondition = bits, U32, 1124, [1:1] +isLaunchCondition = bits, U32, 1124, [2:2] +isSwitchActivated = bits, U32, 1124, [3:3] +isClutchActivated = bits, U32, 1124, [4:4] +isBrakePedalActivated = bits, U32, 1124, [5:5] +isValidInputPin = bits, U32, 1124, [6:6] +activateSwitchCondition = bits, U32, 1124, [7:7] +rpmLaunchCondition = bits, U32, 1124, [8:8] +rpmPreLaunchCondition = bits, U32, 1124, [9:9] +speedCondition = bits, U32, 1124, [10:10] +tpsCondition = bits, U32, 1124, [11:11] +; total TS size = 1128 +isTorqueReductionTriggerPinValid = bits, U32, 1128, [0:0] +torqueReductionTriggerPinState = bits, U32, 1128, [1:1] +isTimeConditionSatisfied = bits, U32, 1128, [2:2] +isRpmConditionSatisfied = bits, U32, 1128, [3:3] +isAppConditionSatisfied = bits, U32, 1128, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1128, [5:5] +; total TS size = 1132 +isAntilagCondition = bits, U32, 1132, [0:0] +ALSMinRPMCondition = bits, U32, 1132, [1:1] +ALSMaxRPMCondition = bits, U32, 1132, [2:2] +ALSMinCLTCondition = bits, U32, 1132, [3:3] +ALSMaxCLTCondition = bits, U32, 1132, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1132, [5:5] +isALSSwitchActivated = bits, U32, 1132, [6:6] +ALSActivatePinState = bits, U32, 1132, [7:7] +ALSSwitchCondition = bits, U32, 1132, [8:8] +ALSTimerCondition = bits, U32, 1132, [9:9] +fuelALSCorrection = scalar, F32, 1136, "", 1, 0 +timingALSCorrection = scalar, S16, 1140, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1142, "deg", 0.01, 0 +; total TS size = 1144 +isTpsInvalid = bits, U32, 1144, [0:0] +m_shouldResetPid = bits, U32, 1144, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1144, [2:2] +isNotClosedLoop = bits, U32, 1144, [3:3] +isZeroRpm = bits, U32, 1144, [4:4] +hasInitBoost = bits, U32, 1144, [5:5] +rpmTooLow = bits, U32, 1144, [6:6] +tpsTooLow = bits, U32, 1144, [7:7] +mapTooLow = bits, U32, 1144, [8:8] +isPlantValid = bits, U32, 1144, [9:9] +isBoostControlled = bits, U32, 1144, [10:10] +luaTargetAdd = scalar, S16, 1148, "v", 0.5,0 +boostOutput = scalar, S16, 1150, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1152, "v", 1,0 +openLoopPart = scalar, F32, 1156, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1160, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1164, "%", 0.5,0 +boostControlTarget = scalar, S16, 1166, "kPa", 0.03333333333333333,0 +; total TS size = 1168 +acButtonState = scalar, S08, 1168, "", 1, 0 +m_acEnabled = bits, U32, 1172, [0:0] +engineTooSlow = bits, U32, 1172, [1:1] +engineTooFast = bits, U32, 1172, [2:2] +noClt = bits, U32, 1172, [3:3] +engineTooHot = bits, U32, 1172, [4:4] +tpsTooHigh = bits, U32, 1172, [5:5] +isDisabledByLua = bits, U32, 1172, [6:6] +acCompressorState = bits, U32, 1172, [7:7] +acPressureTooLow = bits, U32, 1172, [8:8] +acPressureTooHigh = bits, U32, 1172, [9:9] +; total TS size = 1176 +cranking0 = bits, U32, 1176, [0:0] +notRunning0 = bits, U32, 1176, [1:1] +disabledWhileEngineStopped0 = bits, U32, 1176, [2:2] +brokenClt0 = bits, U32, 1176, [3:3] +enabledForAc0 = bits, U32, 1176, [4:4] +hot0 = bits, U32, 1176, [5:5] +cold0 = bits, U32, 1176, [6:6] +disabledBySpeed0 = bits, U32, 1176, [7:7] +radiatorFanStatus0 = scalar, U08, 1180, "", 1, 0 +; total TS size = 1184 +cranking1 = bits, U32, 1184, [0:0] +notRunning1 = bits, U32, 1184, [1:1] +disabledWhileEngineStopped1 = bits, U32, 1184, [2:2] +brokenClt1 = bits, U32, 1184, [3:3] +enabledForAc1 = bits, U32, 1184, [4:4] +hot1 = bits, U32, 1184, [5:5] +cold1 = bits, U32, 1184, [6:6] +disabledBySpeed1 = bits, U32, 1184, [7:7] +radiatorFanStatus1 = scalar, U08, 1188, "", 1, 0 +; total TS size = 1192 +isPrime = bits, U32, 1192, [0:0] +engineTurnedRecently = bits, U32, 1192, [1:1] +isFuelPumpOn = bits, U32, 1192, [2:2] +ignitionOn = bits, U32, 1192, [3:3] +; total TS size = 1196 +isBenchTest = bits, U32, 1196, [0:0] +hasIgnitionVoltage = bits, U32, 1196, [1:1] +mainRelayState = bits, U32, 1196, [2:2] +delayedShutoffRequested = bits, U32, 1196, [3:3] +; total TS size = 1200 +lua_fuelAdd = scalar, F32, 1200, "g", 1, 0 +lua_fuelMult = scalar, F32, 1204, "", 1, 0 +lua_clutchUpState = bits, U32, 1208, [0:0] +lua_brakePedalState = bits, U32, 1208, [1:1] +lua_acRequestState = bits, U32, 1208, [2:2] +lua_luaDisableEtb = bits, U32, 1208, [3:3] +lua_luaIgnCut = bits, U32, 1208, [4:4] +lua_luaFuelCut = bits, U32, 1208, [5:5] +lua_clutchDownState = bits, U32, 1208, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1208, [7:7] +sd_tCharge = scalar, S16, 1212, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1216, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1220, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1224, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1228, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1232, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1236, "", 1, 0 +hellenBoardId = scalar, S16, 1240, "id", 1, 0 +clutchUpState = scalar, S08, 1242, "", 1, 0 +clutchDownState = scalar, S08, 1243, "", 1, 0 +brakePedalState = scalar, S08, 1244, "", 1, 0 +startStopState = scalar, S08, 1245, "", 1, 0 +smartChipState = scalar, S08, 1246, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1247, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1248, "", 1, 0 +startStopPhysicalState = bits, U32, 1252, [0:0] +acrActive = bits, U32, 1252, [1:1] +acrEngineMovedRecently = bits, U32, 1252, [2:2] +heaterControlEnabled = bits, U32, 1252, [3:3] +luaDigitalState0 = bits, U32, 1252, [4:4] +luaDigitalState1 = bits, U32, 1252, [5:5] +luaDigitalState2 = bits, U32, 1252, [6:6] +luaDigitalState3 = bits, U32, 1252, [7:7] +startStopStateToggleCounter = scalar, U32, 1256, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1260, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1264, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1268, "", 1, 0 +desiredRpmLimit = scalar, S16, 1272, "rpm", 1, 0 +fuelInjectionCounter = scalar, U32, 1276, "", 1, 0 +globalSparkCounter = scalar, U32, 1280, "", 1, 0 +fuelingLoad = scalar, F32, 1284, "", 1, 0 +ignitionLoad = scalar, F32, 1288, "", 1, 0 +veTableYAxis = scalar, U16, 1292, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1294, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1295, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1296, "", 1, 0 +; total TS size = 1300 +tpsFrom = scalar, F32, 1300 +tpsTo = scalar, F32, 1304 +deltaTps = scalar, F32, 1308 +extraFuel = scalar, F32, 1312, "", 1, 0 +valueFromTable = scalar, F32, 1316, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1320, [0:0] +isBelowDecelThreshold = bits, U32, 1320, [1:1] +isTimeToResetAccumulator = bits, U32, 1320, [2:2] +isFractionalEnrichment = bits, U32, 1320, [3:3] +belowEpsilon = bits, U32, 1320, [4:4] +tooShort = bits, U32, 1320, [5:5] +fractionalInjFuel = scalar, F32, 1324, "", 1, 0 +accumulatedValue = scalar, F32, 1328, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1332, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1336, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1340, "", 1, 0 +cycleCnt = scalar, S32, 1344, "", 1, 0 +; total TS size = 1348 +hwEventCounters1 = scalar, U32, 1348, "", 1, 0 +hwEventCounters2 = scalar, U32, 1352, "", 1, 0 +hwEventCounters3 = scalar, U32, 1356, "", 1, 0 +hwEventCounters4 = scalar, U32, 1360, "", 1, 0 +hwEventCounters5 = scalar, U32, 1364, "", 1, 0 +hwEventCounters6 = scalar, U32, 1368, "", 1, 0 +vvtCamCounter = scalar, U32, 1372, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1376, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1380, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1384, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1385, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1388, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1392, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1396, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1400, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1404, [0:0] +triggerElapsedUs = scalar, U32, 1408, "", 1, 0 +; total TS size = 1412 +crankSynchronizationCounter0 = scalar, U32, 1412, "", 1, 0 +vvtSyncGapRatio0 = scalar, F32, 1416, "", 1, 0 +vvtToothDurations00 = scalar, U32, 1420, "us", 1, 0 +vvtCurrentPosition0 = scalar, F32, 1424, "sync: Primary Cam Position", 1, 0 +vvtToothPosition10 = scalar, F32, 1428, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition20 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition30 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition40 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio0 = scalar, F32, 1444, "", 1, 0 +triggerStateIndex0 = scalar, U08, 1448, "", 1, 0 +vvtStateIndex0 = scalar, U08, 1449, "", 1, 0 +; total TS size = 1452 +crankSynchronizationCounter1 = scalar, U32, 1452, "", 1, 0 +vvtSyncGapRatio1 = scalar, F32, 1456, "", 1, 0 +vvtToothDurations01 = scalar, U32, 1460, "us", 1, 0 +vvtCurrentPosition1 = scalar, F32, 1464, "sync: Primary Cam Position", 1, 0 +vvtToothPosition11 = scalar, F32, 1468, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition21 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition31 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition41 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio1 = scalar, F32, 1484, "", 1, 0 +triggerStateIndex1 = scalar, U08, 1488, "", 1, 0 +vvtStateIndex1 = scalar, U08, 1489, "", 1, 0 +; total TS size = 1492 +crankSynchronizationCounter2 = scalar, U32, 1492, "", 1, 0 +vvtSyncGapRatio2 = scalar, F32, 1496, "", 1, 0 +vvtToothDurations02 = scalar, U32, 1500, "us", 1, 0 +vvtCurrentPosition2 = scalar, F32, 1504, "sync: Primary Cam Position", 1, 0 +vvtToothPosition12 = scalar, F32, 1508, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition22 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition32 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition42 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio2 = scalar, F32, 1524, "", 1, 0 +triggerStateIndex2 = scalar, U08, 1528, "", 1, 0 +vvtStateIndex2 = scalar, U08, 1529, "", 1, 0 +; total TS size = 1532 +crankSynchronizationCounter3 = scalar, U32, 1532, "", 1, 0 +vvtSyncGapRatio3 = scalar, F32, 1536, "", 1, 0 +vvtToothDurations03 = scalar, U32, 1540, "us", 1, 0 +vvtCurrentPosition3 = scalar, F32, 1544, "sync: Primary Cam Position", 1, 0 +vvtToothPosition13 = scalar, F32, 1548, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition23 = scalar, F32, 1552, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition33 = scalar, F32, 1556, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition43 = scalar, F32, 1560, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio3 = scalar, F32, 1564, "", 1, 0 +triggerStateIndex3 = scalar, U08, 1568, "", 1, 0 +vvtStateIndex3 = scalar, U08, 1569, "", 1, 0 +; total TS size = 1572 +crankSynchronizationCounter4 = scalar, U32, 1572, "", 1, 0 +vvtSyncGapRatio4 = scalar, F32, 1576, "", 1, 0 +vvtToothDurations04 = scalar, U32, 1580, "us", 1, 0 +vvtCurrentPosition4 = scalar, F32, 1584, "sync: Primary Cam Position", 1, 0 +vvtToothPosition14 = scalar, F32, 1588, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition24 = scalar, F32, 1592, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition34 = scalar, F32, 1596, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition44 = scalar, F32, 1600, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio4 = scalar, F32, 1604, "", 1, 0 +triggerStateIndex4 = scalar, U08, 1608, "", 1, 0 +vvtStateIndex4 = scalar, U08, 1609, "", 1, 0 +; total TS size = 1612 +camResyncCounter = scalar, U08, 1612, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1616, [0:0] +; total TS size = 1620 +wallFuelCorrection = scalar, F32, 1620, "", 1, 0 +wallFuel = scalar, F32, 1624, "", 1, 0 +; total TS size = 1628 +idleState = bits, S32, 1628, [0:2], "not important" +currentIdlePosition = scalar, F32, 1632 +baseIdlePosition = scalar, F32, 1636 +idleClosedLoop = scalar, F32, 1640 +iacByTpsTaper = scalar, F32, 1644 +throttlePedalUpState = scalar, S32, 1648, "", 1, 0 +mightResetPid = bits, U32, 1652, [0:0] +shouldResetPid = bits, U32, 1652, [1:1] +wasResetPid = bits, U32, 1652, [2:2] +mustResetPid = bits, U32, 1652, [3:3] +isCranking = bits, U32, 1652, [4:4] +isIacTableForCoasting = bits, U32, 1652, [5:5] +notIdling = bits, U32, 1652, [6:6] +needReset = bits, U32, 1652, [7:7] +isInDeadZone = bits, U32, 1652, [8:8] +isBlipping = bits, U32, 1652, [9:9] +useClosedLoop = bits, U32, 1652, [10:10] +badTps = bits, U32, 1652, [11:11] +looksLikeRunning = bits, U32, 1652, [12:12] +looksLikeCoasting = bits, U32, 1652, [13:13] +looksLikeCrankToIdle = bits, U32, 1652, [14:14] +isIdleCoasting = bits, U32, 1652, [15:15] +isIdleClosedLoop = bits, U32, 1652, [16:16] +idleTarget = scalar, S32, 1656, "", 1, 0 +targetRpmByClt = scalar, S32, 1660, "", 1, 0 +targetRpmAc = scalar, S32, 1664, "", 1, 0 +iacByRpmTaper = scalar, F32, 1668 +luaAdd = scalar, F32, 1672 +; total TS size = 1676 +targetWithIdlePosition0 = scalar, F32, 1676, "per", 1,0 +trim0 = scalar, F32, 1680, "", 1, 0 +luaAdjustment0 = scalar, F32, 1684, "per", 1,0 +m_wastegatePosition0 = scalar, F32, 1688, "per", 1,0 +etbFeedForward0 = scalar, F32, 1692 +etbIntegralError0 = scalar, F32, 1696, "", 1, 0 +etbCurrentTarget0 = scalar, F32, 1700, "%", 1, 0 +etbCurrentAdjustedTarget0 = scalar, F32, 1704, "%", 1, 0 +etbRevLimitActive0 = bits, U32, 1708, [0:0] +jamDetected0 = bits, U32, 1708, [1:1] +etbTpsErrorCounter0 = scalar, U16, 1712, "count", 1,0 +etbPpsErrorCounter0 = scalar, U16, 1714, "count", 1,0 +etbErrorCode0 = scalar, S08, 1716, "", 1, 0 +tcEtbDrop0 = scalar, S08, 1717, "%", 1, 0 +jamTimer0 = scalar, U16, 1718, "sec", 0.01, 0 +adjustedEtbTarget0 = scalar, S08, 1720, "%", 1, 0 +; total TS size = 1724 +targetWithIdlePosition1 = scalar, F32, 1724, "per", 1,0 +trim1 = scalar, F32, 1728, "", 1, 0 +luaAdjustment1 = scalar, F32, 1732, "per", 1,0 +m_wastegatePosition1 = scalar, F32, 1736, "per", 1,0 +etbFeedForward1 = scalar, F32, 1740 +etbIntegralError1 = scalar, F32, 1744, "", 1, 0 +etbCurrentTarget1 = scalar, F32, 1748, "%", 1, 0 +etbCurrentAdjustedTarget1 = scalar, F32, 1752, "%", 1, 0 +etbRevLimitActive1 = bits, U32, 1756, [0:0] +jamDetected1 = bits, U32, 1756, [1:1] +etbTpsErrorCounter1 = scalar, U16, 1760, "count", 1,0 +etbPpsErrorCounter1 = scalar, U16, 1762, "count", 1,0 +etbErrorCode1 = scalar, S08, 1764, "", 1, 0 +tcEtbDrop1 = scalar, S08, 1765, "%", 1, 0 +jamTimer1 = scalar, U16, 1766, "sec", 0.01, 0 +adjustedEtbTarget1 = scalar, S08, 1768, "%", 1, 0 +; total TS size = 1772 +faultCode0 = scalar, U08, 1772, "", 1, 0 +heaterDuty0 = scalar, U08, 1773, "%", 1, 0 +pumpDuty0 = scalar, U08, 1774, "%", 1, 0 +tempC0 = scalar, U16, 1776, "C", 1, 0 +nernstVoltage0 = scalar, U16, 1778, "V", 0.001, 0 +esr0 = scalar, U16, 1780, "ohm", 1, 0 +; total TS size = 1784 +faultCode1 = scalar, U08, 1784, "", 1, 0 +heaterDuty1 = scalar, U08, 1785, "%", 1, 0 +pumpDuty1 = scalar, U08, 1786, "%", 1, 0 +tempC1 = scalar, U16, 1788, "C", 1, 0 +nernstVoltage1 = scalar, U16, 1790, "V", 0.001, 0 +esr1 = scalar, U16, 1792, "ohm", 1, 0 +; total TS size = 1796 +dcOutput0 = scalar, F32, 1796, "per", 1,0 +isEnabled0_int = scalar, U08, 1800, "per", 1,0 +isEnabled0 = bits, U32, 1804, [0:0] +; total TS size = 1808 +value0 = scalar, U16, 1808, "value", 1,0 +value1 = scalar, U16, 1810, "value", 1,0 +errorRate = scalar, F32, 1812, "ratio", 1,0 +; total TS size = 1816 +vvtTarget = scalar, U16, 1816, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1818, "%", 0.5, 0 +; total TS size = 1820 +lambdaCurrentlyGood = bits, U32, 1820, [0:0] +lambdaMonitorCut = bits, U32, 1820, [1:1] +lambdaTimeSinceGood = scalar, U16, 1824, "sec", 0.01, 0 +; total TS size = 1828 time = { timeNow } @@ -3616,6 +3648,7 @@ lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs8 requiresPowerCycle = cylinderBore + requiresPowerCycle = knockFrequency readOnly = warning_message readOnly = device_uid1 @@ -5033,6 +5066,26 @@ gaugeCategory = Knock knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knockSpectrumChannelCylGauge = m_knockSpectrumChannelCyl, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStartGauge = m_knockFrequencyStart, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStepGauge = m_knockFrequencyStep, "Knock Frequency Step", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFuelTrimMultiplier = m_knockFuelTrimMultiplier, "Knock Fuel Trim", "mult", 0, 0, 0, 0, 0, 30, 1, 1 + knockSpectrum1 = m_knockSpectrum1, "Knock Spectrum1", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum2 = m_knockSpectrum2, "knockSpectrum2", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum3 = m_knockSpectrum3, "knockSpectrum3", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum4 = m_knockSpectrum4, "knockSpectrum4", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum5 = m_knockSpectrum5, "knockSpectrum5", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum6 = m_knockSpectrum6, "knockSpectrum6", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum7 = m_knockSpectrum7, "knockSpectrum7", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum8 = m_knockSpectrum8, "knockSpectrum8", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum9 = m_knockSpectrum9, "knockSpectrum9", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum10 = m_knockSpectrum10, "knockSpectrum10", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum11 = m_knockSpectrum11, "knockSpectrum11", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum12 = m_knockSpectrum12, "knockSpectrum12", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum13 = m_knockSpectrum13, "knockSpectrum13", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum14 = m_knockSpectrum14, "knockSpectrum14", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum15 = m_knockSpectrum15, "knockSpectrum15", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum16 = m_knockSpectrum16, "knockSpectrum16", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -5632,6 +5685,26 @@ entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" entry = m_knockCount, "Knock: Count", int, "%d" entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_knockFrequency, "knock: frequency", int, "%d" +entry = m_knockSpectrum1, "Knock: SpectrumData 1", int, "%d" +entry = m_knockSpectrum2, "Knock: SpectrumData 2", int, "%d" +entry = m_knockSpectrum3, "Knock: SpectrumData 3", int, "%d" +entry = m_knockSpectrum4, "Knock: SpectrumData 4", int, "%d" +entry = m_knockSpectrum5, "Knock: SpectrumData 5", int, "%d" +entry = m_knockSpectrum6, "Knock: SpectrumData 6", int, "%d" +entry = m_knockSpectrum7, "Knock: SpectrumData 7", int, "%d" +entry = m_knockSpectrum8, "Knock: SpectrumData 8", int, "%d" +entry = m_knockSpectrum9, "Knock: SpectrumData 9", int, "%d" +entry = m_knockSpectrum10, "Knock: SpectrumData 10", int, "%d" +entry = m_knockSpectrum11, "Knock: SpectrumData 11", int, "%d" +entry = m_knockSpectrum12, "Knock: SpectrumData 12", int, "%d" +entry = m_knockSpectrum13, "Knock: SpectrumData 13", int, "%d" +entry = m_knockSpectrum14, "Knock: SpectrumData 14", int, "%d" +entry = m_knockSpectrum15, "Knock: SpectrumData 15", int, "%d" +entry = m_knockSpectrum16, "Knock: SpectrumData 16", int, "%d" +entry = m_knockSpectrumChannelCyl, "Knock: ChannelAndCylNumber", int, "%d" +entry = m_knockFrequencyStart, "Knock: Start Freq", int, "%d" +entry = m_knockFrequencyStep, "Knock: Step Freq", float, "%.3f" +entry = m_knockFuelTrimMultiplier, "Knock: Fuel trim when knock", float, "%.3f" entry = tcuCurrentGear, "TCU: Current Gear", int, "%d" entry = tcRatio, "TCU: Torque Converter Ratio", float, "%.3f" entry = lastShiftTime, "lastShiftTime", float, "%.3f" @@ -6555,6 +6628,31 @@ dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard graphLine = m_knockFrequency + graphLine = m_knockSpectrum1 + graphLine = m_knockSpectrum2 + liveGraph = knock_controller_6_Graph, "Graph", South + graphLine = m_knockSpectrum3 + graphLine = m_knockSpectrum4 + graphLine = m_knockSpectrum5 + graphLine = m_knockSpectrum6 + liveGraph = knock_controller_7_Graph, "Graph", South + graphLine = m_knockSpectrum7 + graphLine = m_knockSpectrum8 + graphLine = m_knockSpectrum9 + graphLine = m_knockSpectrum10 + liveGraph = knock_controller_8_Graph, "Graph", South + graphLine = m_knockSpectrum11 + graphLine = m_knockSpectrum12 + graphLine = m_knockSpectrum13 + graphLine = m_knockSpectrum14 + liveGraph = knock_controller_9_Graph, "Graph", South + graphLine = m_knockSpectrum15 + graphLine = m_knockSpectrum16 + graphLine = m_knockSpectrumChannelCyl + graphLine = m_knockFrequencyStart + liveGraph = knock_controller_10_Graph, "Graph", South + graphLine = m_knockFrequencyStep + graphLine = m_knockFuelTrimMultiplier indicatorPanel = tcu_controllerIndicatorPanel, 2 indicator = {isShifting}, "isShifting No", "isShifting Yes" @@ -8619,9 +8717,13 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockCfg, "Sense" field = "Enable", enableSoftwareKnock field = "Cylinder Bore", cylinderBore, {enableSoftwareKnock} + field = "Estimated Knock Frequency",knockFrequency, {enableSoftwareKnock} field = "Detection mode", knockDetectionUseDoubleFrequency field = "Detection Window Start",knockDetectionWindowStart, {enableSoftwareKnock} field = "Sampling Duration", knockSamplingDuration, {enableSoftwareKnock} + field = "Enable Knock Spectrogram", enableKnockSpectrogram, {enableSoftwareKnock} + field = "Enable Knock Spectrogram Filter", enableKnockSpectrogramFilter, {enableKnockSpectrogram} + field = "Knock Spectrum Sensitivity", knockSpectrumSensitivity, {enableKnockSpectrogram} field = "" field = "Select the nearest sensor for each cylinder" @@ -8641,6 +8743,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockResponseCfg, "Response" field = knockRetardAggression, knockRetardAggression field = knockRetardReapplyRate, knockRetardReapplyRate + field = knockFuelTrimAggression, knockFuelTrimAggression + field = knockFuelTrimReapplyRate, knockFuelTrimReapplyRate + field = knockFuelTrim, knockFuelTrim + field = knockSuppressMinTps, knockSuppressMinTps dialog = softwareKnockLeft, "" panel = softwareKnockCfg diff --git a/firmware/tunerstudio/generated/rusefi_s105.ini b/firmware/tunerstudio/generated/rusefi_s105.ini index 15f083a4dc..eadf905d7f 100644 --- a/firmware/tunerstudio/generated/rusefi_s105.ini +++ b/firmware/tunerstudio/generated/rusefi_s105.ini @@ -38,12 +38,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.10.21.s105.963271387" + signature = "rusEFI master.2024.10.21.s105.3846307876" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.10.21.s105.963271387" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.10.21.s105.3846307876" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -774,6 +774,7 @@ devBit7 = bits, U32, 1492, [27:27], "false", "true" unusedSkipWasHere = bits, U32, 1492, [28:28], "false", "true" invertExhaustCamVVTSignal = bits, U32, 1492, [29:29], "Rising", "Falling" enableKnockSpectrogram = bits, U32, 1492, [30:30], "false", "true" +enableKnockSpectrogramFilter = bits, U32, 1492, [31:31], "false", "true" afterCrankingIACtaperDuration = scalar, S16, 1496, "cycles", 1, 0, 0, 5000, 0 iacByTpsTaper = scalar, S16, 1498, "percent", 1, 0, 0, 500, 0 unusedAuxSeria = bits, U16, 1500, [0:8], $gpio_list @@ -1394,7 +1395,13 @@ auxLinear4_v1 = scalar, F32, 3880, "volts", 1, 0, 0, 10, 2 auxLinear4_value1 = scalar, F32, 3884, "", 1, 0, -100000, 1000000, 2 auxLinear4_v2 = scalar, F32, 3888, "volts", 1, 0, 0, 10, 2 auxLinear4_value2 = scalar, F32, 3892, "", 1, 0, -100000, 1000000, 2 -unusedOftenChangesDuringFirmwareUpdate = array, U08, 3896, [128], "units", 1, 0, 0, 1, 0 +knockSuppressMinTps = scalar, U08, 3896, "%", 1, 0, 0, 100, 1 +knockFuelTrimAggression = scalar, U08, 3897, "%", 0.1, 0, 0, 20, 1 +knockFuelTrimReapplyRate = scalar, U08, 3898, "deg/s", 0.1, 0, 0, 10, 1 +knockFuelTrim = scalar, U08, 3899, "%", 1, 0, 0, 30, 1 +knockSpectrumSensitivity = scalar, F32, 3900, "sense", 1, 0, 0, 1, 2 +knockFrequency = scalar, F32, 3904, "Hz", 1, 0, 0, 20000, 2 +unusedOftenChangesDuringFirmwareUpdate = array, U08, 3908, [116], "units", 1, 0, 0, 1, 0 postCrankingFactor = array, F32, 4024, [6x6], "mult", 1, 0, 1, 3, 2 postCrankingDurationBins = array, F32, 4168, [6], "count", 1, 0, 0, 1000, 0 postCrankingCLTBins = array, S16, 4192, [6], "C", 1, 0, -100, 250, 0 @@ -2448,6 +2455,11 @@ minimumOilPressureValues = array, U08, 22960, [8], "kPa", 10.0, 0, 0, 1000, 0 minAcPressure = "value of A/C pressure in kPa before that compressor is disengaged" maxAcPressure = "value of A/C pressure in kPa after that compressor is disengaged" minimumOilPressureTimeout = "Delay before cutting fuel due to low oil pressure. Use this to ignore short pressure blips and sensor noise." + knockSuppressMinTps = "Below TPS value all knock suppression will be disabled." + knockFuelTrimAggression = "Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump)," + knockFuelTrimReapplyRate = "After a knock event, reapply fuel at this rate." + knockFuelTrim = "Fuel trim when knock, max 30%" + knockFrequency = "Estimated knock frequency, ignore cylinderBore if this one > 0" etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, open loop component of PID closed loop control" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2560,7 +2572,7 @@ minimumOilPressureValues = array, U08, 22960, [8], "kPa", 10.0, 0, 0, 1000, 0 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1752 + ochBlockSize = 1828 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3101,370 +3113,390 @@ m_knockThreshold = scalar, F32, 960, "", 1, 0 m_knockCount = scalar, U32, 964, "", 1, 0 m_maximumRetard = scalar, F32, 968, "", 1, 0 m_knockFrequency = scalar, U32, 972, "Hz", 1, 0 -; total TS size = 976 -tcuCurrentGear = scalar, S08, 976, "gear", 1, 0 -tcRatio = scalar, U16, 978, "value", 0.01, 0 -lastShiftTime = scalar, F32, 980, "", 1, 0 -tcu_currentRange = scalar, U08, 984, "", 1, 0 -pressureControlDuty = scalar, S08, 985, "%", 1,0 -torqueConverterDuty = scalar, S08, 986, "%", 1,0 -isShifting = bits, U32, 988, [0:0] -; total TS size = 992 -throttleUseWotModel = bits, U32, 992, [0:0] -throttleModelCrossoverAngle = scalar, S16, 996, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1000, "g/s", 1, 0 -; total TS size = 1004 -m_requested_pump = scalar, F32, 1004, "", 1, 0 -fuel_requested_percent = scalar, F32, 1008, "", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1012, "", 1, 0 -noValve = bits, U32, 1016, [0:0] -angleAboveMin = bits, U32, 1016, [1:1] -isHpfpInactive = bits, U32, 1016, [2:2] -m_pressureTarget_kPa = scalar, F32, 1020, "", 1, 0 -nextLobe = scalar, F32, 1024, "", 1, 0 -di_nextStart = scalar, F32, 1028, "v", 1, 0 -; total TS size = 1032 -m_deadtime = scalar, F32, 1032, "ms", 1, 0 -pressureDelta = scalar, F32, 1036, "kPa", 1, 0 -pressureRatio = scalar, F32, 1040, "", 1, 0 -; total TS size = 1044 -retardThresholdRpm = scalar, S32, 1044, "", 1, 0 -launchActivatePinState = bits, U32, 1048, [0:0] -isPreLaunchCondition = bits, U32, 1048, [1:1] -isLaunchCondition = bits, U32, 1048, [2:2] -isSwitchActivated = bits, U32, 1048, [3:3] -isClutchActivated = bits, U32, 1048, [4:4] -isBrakePedalActivated = bits, U32, 1048, [5:5] -isValidInputPin = bits, U32, 1048, [6:6] -activateSwitchCondition = bits, U32, 1048, [7:7] -rpmLaunchCondition = bits, U32, 1048, [8:8] -rpmPreLaunchCondition = bits, U32, 1048, [9:9] -speedCondition = bits, U32, 1048, [10:10] -tpsCondition = bits, U32, 1048, [11:11] +m_knockSpectrum1 = scalar, U32, 976, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 980, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 984, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 988, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1040, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1042, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1044, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1048, "multiplier", 1, 0 ; total TS size = 1052 -isTorqueReductionTriggerPinValid = bits, U32, 1052, [0:0] -torqueReductionTriggerPinState = bits, U32, 1052, [1:1] -isTimeConditionSatisfied = bits, U32, 1052, [2:2] -isRpmConditionSatisfied = bits, U32, 1052, [3:3] -isAppConditionSatisfied = bits, U32, 1052, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1052, [5:5] -; total TS size = 1056 -isAntilagCondition = bits, U32, 1056, [0:0] -ALSMinRPMCondition = bits, U32, 1056, [1:1] -ALSMaxRPMCondition = bits, U32, 1056, [2:2] -ALSMinCLTCondition = bits, U32, 1056, [3:3] -ALSMaxCLTCondition = bits, U32, 1056, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1056, [5:5] -isALSSwitchActivated = bits, U32, 1056, [6:6] -ALSActivatePinState = bits, U32, 1056, [7:7] -ALSSwitchCondition = bits, U32, 1056, [8:8] -ALSTimerCondition = bits, U32, 1056, [9:9] -fuelALSCorrection = scalar, F32, 1060, "", 1, 0 -timingALSCorrection = scalar, S16, 1064, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1066, "deg", 0.01, 0 +tcuCurrentGear = scalar, S08, 1052, "gear", 1, 0 +tcRatio = scalar, U16, 1054, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1056, "", 1, 0 +tcu_currentRange = scalar, U08, 1060, "", 1, 0 +pressureControlDuty = scalar, S08, 1061, "%", 1,0 +torqueConverterDuty = scalar, S08, 1062, "%", 1,0 +isShifting = bits, U32, 1064, [0:0] ; total TS size = 1068 -isTpsInvalid = bits, U32, 1068, [0:0] -m_shouldResetPid = bits, U32, 1068, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1068, [2:2] -isNotClosedLoop = bits, U32, 1068, [3:3] -isZeroRpm = bits, U32, 1068, [4:4] -hasInitBoost = bits, U32, 1068, [5:5] -rpmTooLow = bits, U32, 1068, [6:6] -tpsTooLow = bits, U32, 1068, [7:7] -mapTooLow = bits, U32, 1068, [8:8] -isPlantValid = bits, U32, 1068, [9:9] -isBoostControlled = bits, U32, 1068, [10:10] -luaTargetAdd = scalar, S16, 1072, "v", 0.5,0 -boostOutput = scalar, S16, 1074, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1076, "v", 1,0 -openLoopPart = scalar, F32, 1080, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1084, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1088, "%", 0.5,0 -boostControlTarget = scalar, S16, 1090, "kPa", 0.03333333333333333,0 -; total TS size = 1092 -acButtonState = scalar, S08, 1092, "", 1, 0 -m_acEnabled = bits, U32, 1096, [0:0] -engineTooSlow = bits, U32, 1096, [1:1] -engineTooFast = bits, U32, 1096, [2:2] -noClt = bits, U32, 1096, [3:3] -engineTooHot = bits, U32, 1096, [4:4] -tpsTooHigh = bits, U32, 1096, [5:5] -isDisabledByLua = bits, U32, 1096, [6:6] -acCompressorState = bits, U32, 1096, [7:7] -acPressureTooLow = bits, U32, 1096, [8:8] -acPressureTooHigh = bits, U32, 1096, [9:9] -; total TS size = 1100 -cranking0 = bits, U32, 1100, [0:0] -notRunning0 = bits, U32, 1100, [1:1] -disabledWhileEngineStopped0 = bits, U32, 1100, [2:2] -brokenClt0 = bits, U32, 1100, [3:3] -enabledForAc0 = bits, U32, 1100, [4:4] -hot0 = bits, U32, 1100, [5:5] -cold0 = bits, U32, 1100, [6:6] -disabledBySpeed0 = bits, U32, 1100, [7:7] -radiatorFanStatus0 = scalar, U08, 1104, "", 1, 0 +throttleUseWotModel = bits, U32, 1068, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1072, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1076, "g/s", 1, 0 +; total TS size = 1080 +m_requested_pump = scalar, F32, 1080, "", 1, 0 +fuel_requested_percent = scalar, F32, 1084, "", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1088, "", 1, 0 +noValve = bits, U32, 1092, [0:0] +angleAboveMin = bits, U32, 1092, [1:1] +isHpfpInactive = bits, U32, 1092, [2:2] +m_pressureTarget_kPa = scalar, F32, 1096, "", 1, 0 +nextLobe = scalar, F32, 1100, "", 1, 0 +di_nextStart = scalar, F32, 1104, "v", 1, 0 ; total TS size = 1108 -cranking1 = bits, U32, 1108, [0:0] -notRunning1 = bits, U32, 1108, [1:1] -disabledWhileEngineStopped1 = bits, U32, 1108, [2:2] -brokenClt1 = bits, U32, 1108, [3:3] -enabledForAc1 = bits, U32, 1108, [4:4] -hot1 = bits, U32, 1108, [5:5] -cold1 = bits, U32, 1108, [6:6] -disabledBySpeed1 = bits, U32, 1108, [7:7] -radiatorFanStatus1 = scalar, U08, 1112, "", 1, 0 -; total TS size = 1116 -isPrime = bits, U32, 1116, [0:0] -engineTurnedRecently = bits, U32, 1116, [1:1] -isFuelPumpOn = bits, U32, 1116, [2:2] -ignitionOn = bits, U32, 1116, [3:3] +m_deadtime = scalar, F32, 1108, "ms", 1, 0 +pressureDelta = scalar, F32, 1112, "kPa", 1, 0 +pressureRatio = scalar, F32, 1116, "", 1, 0 ; total TS size = 1120 -isBenchTest = bits, U32, 1120, [0:0] -hasIgnitionVoltage = bits, U32, 1120, [1:1] -mainRelayState = bits, U32, 1120, [2:2] -delayedShutoffRequested = bits, U32, 1120, [3:3] -; total TS size = 1124 -lua_fuelAdd = scalar, F32, 1124, "g", 1, 0 -lua_fuelMult = scalar, F32, 1128, "", 1, 0 -lua_clutchUpState = bits, U32, 1132, [0:0] -lua_brakePedalState = bits, U32, 1132, [1:1] -lua_acRequestState = bits, U32, 1132, [2:2] -lua_luaDisableEtb = bits, U32, 1132, [3:3] -lua_luaIgnCut = bits, U32, 1132, [4:4] -lua_luaFuelCut = bits, U32, 1132, [5:5] -lua_clutchDownState = bits, U32, 1132, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1132, [7:7] -sd_tCharge = scalar, S16, 1136, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1140, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1144, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1148, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1152, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1156, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1160, "", 1, 0 -hellenBoardId = scalar, S16, 1164, "id", 1, 0 -clutchUpState = scalar, S08, 1166, "", 1, 0 -clutchDownState = scalar, S08, 1167, "", 1, 0 -brakePedalState = scalar, S08, 1168, "", 1, 0 -startStopState = scalar, S08, 1169, "", 1, 0 -smartChipState = scalar, S08, 1170, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1171, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1172, "", 1, 0 -startStopPhysicalState = bits, U32, 1176, [0:0] -acrActive = bits, U32, 1176, [1:1] -acrEngineMovedRecently = bits, U32, 1176, [2:2] -heaterControlEnabled = bits, U32, 1176, [3:3] -luaDigitalState0 = bits, U32, 1176, [4:4] -luaDigitalState1 = bits, U32, 1176, [5:5] -luaDigitalState2 = bits, U32, 1176, [6:6] -luaDigitalState3 = bits, U32, 1176, [7:7] -startStopStateToggleCounter = scalar, U32, 1180, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1184, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1188, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1192, "", 1, 0 -desiredRpmLimit = scalar, S16, 1196, "rpm", 1, 0 -fuelInjectionCounter = scalar, U32, 1200, "", 1, 0 -globalSparkCounter = scalar, U32, 1204, "", 1, 0 -fuelingLoad = scalar, F32, 1208, "", 1, 0 -ignitionLoad = scalar, F32, 1212, "", 1, 0 -veTableYAxis = scalar, U16, 1216, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1218, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1219, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1220, "", 1, 0 -; total TS size = 1224 -tpsFrom = scalar, F32, 1224 -tpsTo = scalar, F32, 1228 -deltaTps = scalar, F32, 1232 -extraFuel = scalar, F32, 1236, "", 1, 0 -valueFromTable = scalar, F32, 1240, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1244, [0:0] -isBelowDecelThreshold = bits, U32, 1244, [1:1] -isTimeToResetAccumulator = bits, U32, 1244, [2:2] -isFractionalEnrichment = bits, U32, 1244, [3:3] -belowEpsilon = bits, U32, 1244, [4:4] -tooShort = bits, U32, 1244, [5:5] -fractionalInjFuel = scalar, F32, 1248, "", 1, 0 -accumulatedValue = scalar, F32, 1252, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1256, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1260, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1264, "", 1, 0 -cycleCnt = scalar, S32, 1268, "", 1, 0 -; total TS size = 1272 -hwEventCounters1 = scalar, U32, 1272, "", 1, 0 -hwEventCounters2 = scalar, U32, 1276, "", 1, 0 -hwEventCounters3 = scalar, U32, 1280, "", 1, 0 -hwEventCounters4 = scalar, U32, 1284, "", 1, 0 -hwEventCounters5 = scalar, U32, 1288, "", 1, 0 -hwEventCounters6 = scalar, U32, 1292, "", 1, 0 -vvtCamCounter = scalar, U32, 1296, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1300, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1304, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1308, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1309, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1312, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1316, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1320, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1324, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1328, [0:0] -triggerElapsedUs = scalar, U32, 1332, "", 1, 0 -; total TS size = 1336 -crankSynchronizationCounter0 = scalar, U32, 1336, "", 1, 0 -vvtSyncGapRatio0 = scalar, F32, 1340, "", 1, 0 -vvtToothDurations00 = scalar, U32, 1344, "us", 1, 0 -vvtCurrentPosition0 = scalar, F32, 1348, "sync: Primary Cam Position", 1, 0 -vvtToothPosition10 = scalar, F32, 1352, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition20 = scalar, F32, 1356, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition30 = scalar, F32, 1360, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition40 = scalar, F32, 1364, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio0 = scalar, F32, 1368, "", 1, 0 -triggerStateIndex0 = scalar, U08, 1372, "", 1, 0 -vvtStateIndex0 = scalar, U08, 1373, "", 1, 0 -; total TS size = 1376 -crankSynchronizationCounter1 = scalar, U32, 1376, "", 1, 0 -vvtSyncGapRatio1 = scalar, F32, 1380, "", 1, 0 -vvtToothDurations01 = scalar, U32, 1384, "us", 1, 0 -vvtCurrentPosition1 = scalar, F32, 1388, "sync: Primary Cam Position", 1, 0 -vvtToothPosition11 = scalar, F32, 1392, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition21 = scalar, F32, 1396, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition31 = scalar, F32, 1400, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition41 = scalar, F32, 1404, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio1 = scalar, F32, 1408, "", 1, 0 -triggerStateIndex1 = scalar, U08, 1412, "", 1, 0 -vvtStateIndex1 = scalar, U08, 1413, "", 1, 0 -; total TS size = 1416 -crankSynchronizationCounter2 = scalar, U32, 1416, "", 1, 0 -vvtSyncGapRatio2 = scalar, F32, 1420, "", 1, 0 -vvtToothDurations02 = scalar, U32, 1424, "us", 1, 0 -vvtCurrentPosition2 = scalar, F32, 1428, "sync: Primary Cam Position", 1, 0 -vvtToothPosition12 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition22 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition32 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition42 = scalar, F32, 1444, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio2 = scalar, F32, 1448, "", 1, 0 -triggerStateIndex2 = scalar, U08, 1452, "", 1, 0 -vvtStateIndex2 = scalar, U08, 1453, "", 1, 0 -; total TS size = 1456 -crankSynchronizationCounter3 = scalar, U32, 1456, "", 1, 0 -vvtSyncGapRatio3 = scalar, F32, 1460, "", 1, 0 -vvtToothDurations03 = scalar, U32, 1464, "us", 1, 0 -vvtCurrentPosition3 = scalar, F32, 1468, "sync: Primary Cam Position", 1, 0 -vvtToothPosition13 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition23 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition33 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition43 = scalar, F32, 1484, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio3 = scalar, F32, 1488, "", 1, 0 -triggerStateIndex3 = scalar, U08, 1492, "", 1, 0 -vvtStateIndex3 = scalar, U08, 1493, "", 1, 0 -; total TS size = 1496 -crankSynchronizationCounter4 = scalar, U32, 1496, "", 1, 0 -vvtSyncGapRatio4 = scalar, F32, 1500, "", 1, 0 -vvtToothDurations04 = scalar, U32, 1504, "us", 1, 0 -vvtCurrentPosition4 = scalar, F32, 1508, "sync: Primary Cam Position", 1, 0 -vvtToothPosition14 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition24 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition34 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition44 = scalar, F32, 1524, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio4 = scalar, F32, 1528, "", 1, 0 -triggerStateIndex4 = scalar, U08, 1532, "", 1, 0 -vvtStateIndex4 = scalar, U08, 1533, "", 1, 0 -; total TS size = 1536 -camResyncCounter = scalar, U08, 1536, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1540, [0:0] -; total TS size = 1544 -wallFuelCorrection = scalar, F32, 1544, "", 1, 0 -wallFuel = scalar, F32, 1548, "", 1, 0 -; total TS size = 1552 -idleState = bits, S32, 1552, [0:2], "not important" -currentIdlePosition = scalar, F32, 1556 -baseIdlePosition = scalar, F32, 1560 -idleClosedLoop = scalar, F32, 1564 -iacByTpsTaper = scalar, F32, 1568 -throttlePedalUpState = scalar, S32, 1572, "", 1, 0 -mightResetPid = bits, U32, 1576, [0:0] -shouldResetPid = bits, U32, 1576, [1:1] -wasResetPid = bits, U32, 1576, [2:2] -mustResetPid = bits, U32, 1576, [3:3] -isCranking = bits, U32, 1576, [4:4] -isIacTableForCoasting = bits, U32, 1576, [5:5] -notIdling = bits, U32, 1576, [6:6] -needReset = bits, U32, 1576, [7:7] -isInDeadZone = bits, U32, 1576, [8:8] -isBlipping = bits, U32, 1576, [9:9] -useClosedLoop = bits, U32, 1576, [10:10] -badTps = bits, U32, 1576, [11:11] -looksLikeRunning = bits, U32, 1576, [12:12] -looksLikeCoasting = bits, U32, 1576, [13:13] -looksLikeCrankToIdle = bits, U32, 1576, [14:14] -isIdleCoasting = bits, U32, 1576, [15:15] -isIdleClosedLoop = bits, U32, 1576, [16:16] -idleTarget = scalar, S32, 1580, "", 1, 0 -targetRpmByClt = scalar, S32, 1584, "", 1, 0 -targetRpmAc = scalar, S32, 1588, "", 1, 0 -iacByRpmTaper = scalar, F32, 1592 -luaAdd = scalar, F32, 1596 -; total TS size = 1600 -targetWithIdlePosition0 = scalar, F32, 1600, "per", 1,0 -trim0 = scalar, F32, 1604, "", 1, 0 -luaAdjustment0 = scalar, F32, 1608, "per", 1,0 -m_wastegatePosition0 = scalar, F32, 1612, "per", 1,0 -etbFeedForward0 = scalar, F32, 1616 -etbIntegralError0 = scalar, F32, 1620, "", 1, 0 -etbCurrentTarget0 = scalar, F32, 1624, "%", 1, 0 -etbCurrentAdjustedTarget0 = scalar, F32, 1628, "%", 1, 0 -etbRevLimitActive0 = bits, U32, 1632, [0:0] -jamDetected0 = bits, U32, 1632, [1:1] -etbTpsErrorCounter0 = scalar, U16, 1636, "count", 1,0 -etbPpsErrorCounter0 = scalar, U16, 1638, "count", 1,0 -etbErrorCode0 = scalar, S08, 1640, "", 1, 0 -tcEtbDrop0 = scalar, S08, 1641, "%", 1, 0 -jamTimer0 = scalar, U16, 1642, "sec", 0.01, 0 -adjustedEtbTarget0 = scalar, S08, 1644, "%", 1, 0 -; total TS size = 1648 -targetWithIdlePosition1 = scalar, F32, 1648, "per", 1,0 -trim1 = scalar, F32, 1652, "", 1, 0 -luaAdjustment1 = scalar, F32, 1656, "per", 1,0 -m_wastegatePosition1 = scalar, F32, 1660, "per", 1,0 -etbFeedForward1 = scalar, F32, 1664 -etbIntegralError1 = scalar, F32, 1668, "", 1, 0 -etbCurrentTarget1 = scalar, F32, 1672, "%", 1, 0 -etbCurrentAdjustedTarget1 = scalar, F32, 1676, "%", 1, 0 -etbRevLimitActive1 = bits, U32, 1680, [0:0] -jamDetected1 = bits, U32, 1680, [1:1] -etbTpsErrorCounter1 = scalar, U16, 1684, "count", 1,0 -etbPpsErrorCounter1 = scalar, U16, 1686, "count", 1,0 -etbErrorCode1 = scalar, S08, 1688, "", 1, 0 -tcEtbDrop1 = scalar, S08, 1689, "%", 1, 0 -jamTimer1 = scalar, U16, 1690, "sec", 0.01, 0 -adjustedEtbTarget1 = scalar, S08, 1692, "%", 1, 0 -; total TS size = 1696 -faultCode0 = scalar, U08, 1696, "", 1, 0 -heaterDuty0 = scalar, U08, 1697, "%", 1, 0 -pumpDuty0 = scalar, U08, 1698, "%", 1, 0 -tempC0 = scalar, U16, 1700, "C", 1, 0 -nernstVoltage0 = scalar, U16, 1702, "V", 0.001, 0 -esr0 = scalar, U16, 1704, "ohm", 1, 0 -; total TS size = 1708 -faultCode1 = scalar, U08, 1708, "", 1, 0 -heaterDuty1 = scalar, U08, 1709, "%", 1, 0 -pumpDuty1 = scalar, U08, 1710, "%", 1, 0 -tempC1 = scalar, U16, 1712, "C", 1, 0 -nernstVoltage1 = scalar, U16, 1714, "V", 0.001, 0 -esr1 = scalar, U16, 1716, "ohm", 1, 0 -; total TS size = 1720 -dcOutput0 = scalar, F32, 1720, "per", 1,0 -isEnabled0_int = scalar, U08, 1724, "per", 1,0 -isEnabled0 = bits, U32, 1728, [0:0] -; total TS size = 1732 -value0 = scalar, U16, 1732, "value", 1,0 -value1 = scalar, U16, 1734, "value", 1,0 -errorRate = scalar, F32, 1736, "ratio", 1,0 -; total TS size = 1740 -vvtTarget = scalar, U16, 1740, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1742, "%", 0.5, 0 -; total TS size = 1744 -lambdaCurrentlyGood = bits, U32, 1744, [0:0] -lambdaMonitorCut = bits, U32, 1744, [1:1] -lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 -; total TS size = 1752 +retardThresholdRpm = scalar, S32, 1120, "", 1, 0 +launchActivatePinState = bits, U32, 1124, [0:0] +isPreLaunchCondition = bits, U32, 1124, [1:1] +isLaunchCondition = bits, U32, 1124, [2:2] +isSwitchActivated = bits, U32, 1124, [3:3] +isClutchActivated = bits, U32, 1124, [4:4] +isBrakePedalActivated = bits, U32, 1124, [5:5] +isValidInputPin = bits, U32, 1124, [6:6] +activateSwitchCondition = bits, U32, 1124, [7:7] +rpmLaunchCondition = bits, U32, 1124, [8:8] +rpmPreLaunchCondition = bits, U32, 1124, [9:9] +speedCondition = bits, U32, 1124, [10:10] +tpsCondition = bits, U32, 1124, [11:11] +; total TS size = 1128 +isTorqueReductionTriggerPinValid = bits, U32, 1128, [0:0] +torqueReductionTriggerPinState = bits, U32, 1128, [1:1] +isTimeConditionSatisfied = bits, U32, 1128, [2:2] +isRpmConditionSatisfied = bits, U32, 1128, [3:3] +isAppConditionSatisfied = bits, U32, 1128, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1128, [5:5] +; total TS size = 1132 +isAntilagCondition = bits, U32, 1132, [0:0] +ALSMinRPMCondition = bits, U32, 1132, [1:1] +ALSMaxRPMCondition = bits, U32, 1132, [2:2] +ALSMinCLTCondition = bits, U32, 1132, [3:3] +ALSMaxCLTCondition = bits, U32, 1132, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1132, [5:5] +isALSSwitchActivated = bits, U32, 1132, [6:6] +ALSActivatePinState = bits, U32, 1132, [7:7] +ALSSwitchCondition = bits, U32, 1132, [8:8] +ALSTimerCondition = bits, U32, 1132, [9:9] +fuelALSCorrection = scalar, F32, 1136, "", 1, 0 +timingALSCorrection = scalar, S16, 1140, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1142, "deg", 0.01, 0 +; total TS size = 1144 +isTpsInvalid = bits, U32, 1144, [0:0] +m_shouldResetPid = bits, U32, 1144, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1144, [2:2] +isNotClosedLoop = bits, U32, 1144, [3:3] +isZeroRpm = bits, U32, 1144, [4:4] +hasInitBoost = bits, U32, 1144, [5:5] +rpmTooLow = bits, U32, 1144, [6:6] +tpsTooLow = bits, U32, 1144, [7:7] +mapTooLow = bits, U32, 1144, [8:8] +isPlantValid = bits, U32, 1144, [9:9] +isBoostControlled = bits, U32, 1144, [10:10] +luaTargetAdd = scalar, S16, 1148, "v", 0.5,0 +boostOutput = scalar, S16, 1150, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1152, "v", 1,0 +openLoopPart = scalar, F32, 1156, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1160, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1164, "%", 0.5,0 +boostControlTarget = scalar, S16, 1166, "kPa", 0.03333333333333333,0 +; total TS size = 1168 +acButtonState = scalar, S08, 1168, "", 1, 0 +m_acEnabled = bits, U32, 1172, [0:0] +engineTooSlow = bits, U32, 1172, [1:1] +engineTooFast = bits, U32, 1172, [2:2] +noClt = bits, U32, 1172, [3:3] +engineTooHot = bits, U32, 1172, [4:4] +tpsTooHigh = bits, U32, 1172, [5:5] +isDisabledByLua = bits, U32, 1172, [6:6] +acCompressorState = bits, U32, 1172, [7:7] +acPressureTooLow = bits, U32, 1172, [8:8] +acPressureTooHigh = bits, U32, 1172, [9:9] +; total TS size = 1176 +cranking0 = bits, U32, 1176, [0:0] +notRunning0 = bits, U32, 1176, [1:1] +disabledWhileEngineStopped0 = bits, U32, 1176, [2:2] +brokenClt0 = bits, U32, 1176, [3:3] +enabledForAc0 = bits, U32, 1176, [4:4] +hot0 = bits, U32, 1176, [5:5] +cold0 = bits, U32, 1176, [6:6] +disabledBySpeed0 = bits, U32, 1176, [7:7] +radiatorFanStatus0 = scalar, U08, 1180, "", 1, 0 +; total TS size = 1184 +cranking1 = bits, U32, 1184, [0:0] +notRunning1 = bits, U32, 1184, [1:1] +disabledWhileEngineStopped1 = bits, U32, 1184, [2:2] +brokenClt1 = bits, U32, 1184, [3:3] +enabledForAc1 = bits, U32, 1184, [4:4] +hot1 = bits, U32, 1184, [5:5] +cold1 = bits, U32, 1184, [6:6] +disabledBySpeed1 = bits, U32, 1184, [7:7] +radiatorFanStatus1 = scalar, U08, 1188, "", 1, 0 +; total TS size = 1192 +isPrime = bits, U32, 1192, [0:0] +engineTurnedRecently = bits, U32, 1192, [1:1] +isFuelPumpOn = bits, U32, 1192, [2:2] +ignitionOn = bits, U32, 1192, [3:3] +; total TS size = 1196 +isBenchTest = bits, U32, 1196, [0:0] +hasIgnitionVoltage = bits, U32, 1196, [1:1] +mainRelayState = bits, U32, 1196, [2:2] +delayedShutoffRequested = bits, U32, 1196, [3:3] +; total TS size = 1200 +lua_fuelAdd = scalar, F32, 1200, "g", 1, 0 +lua_fuelMult = scalar, F32, 1204, "", 1, 0 +lua_clutchUpState = bits, U32, 1208, [0:0] +lua_brakePedalState = bits, U32, 1208, [1:1] +lua_acRequestState = bits, U32, 1208, [2:2] +lua_luaDisableEtb = bits, U32, 1208, [3:3] +lua_luaIgnCut = bits, U32, 1208, [4:4] +lua_luaFuelCut = bits, U32, 1208, [5:5] +lua_clutchDownState = bits, U32, 1208, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1208, [7:7] +sd_tCharge = scalar, S16, 1212, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1216, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1220, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1224, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1228, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1232, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1236, "", 1, 0 +hellenBoardId = scalar, S16, 1240, "id", 1, 0 +clutchUpState = scalar, S08, 1242, "", 1, 0 +clutchDownState = scalar, S08, 1243, "", 1, 0 +brakePedalState = scalar, S08, 1244, "", 1, 0 +startStopState = scalar, S08, 1245, "", 1, 0 +smartChipState = scalar, S08, 1246, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1247, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1248, "", 1, 0 +startStopPhysicalState = bits, U32, 1252, [0:0] +acrActive = bits, U32, 1252, [1:1] +acrEngineMovedRecently = bits, U32, 1252, [2:2] +heaterControlEnabled = bits, U32, 1252, [3:3] +luaDigitalState0 = bits, U32, 1252, [4:4] +luaDigitalState1 = bits, U32, 1252, [5:5] +luaDigitalState2 = bits, U32, 1252, [6:6] +luaDigitalState3 = bits, U32, 1252, [7:7] +startStopStateToggleCounter = scalar, U32, 1256, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1260, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1264, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1268, "", 1, 0 +desiredRpmLimit = scalar, S16, 1272, "rpm", 1, 0 +fuelInjectionCounter = scalar, U32, 1276, "", 1, 0 +globalSparkCounter = scalar, U32, 1280, "", 1, 0 +fuelingLoad = scalar, F32, 1284, "", 1, 0 +ignitionLoad = scalar, F32, 1288, "", 1, 0 +veTableYAxis = scalar, U16, 1292, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1294, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1295, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1296, "", 1, 0 +; total TS size = 1300 +tpsFrom = scalar, F32, 1300 +tpsTo = scalar, F32, 1304 +deltaTps = scalar, F32, 1308 +extraFuel = scalar, F32, 1312, "", 1, 0 +valueFromTable = scalar, F32, 1316, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1320, [0:0] +isBelowDecelThreshold = bits, U32, 1320, [1:1] +isTimeToResetAccumulator = bits, U32, 1320, [2:2] +isFractionalEnrichment = bits, U32, 1320, [3:3] +belowEpsilon = bits, U32, 1320, [4:4] +tooShort = bits, U32, 1320, [5:5] +fractionalInjFuel = scalar, F32, 1324, "", 1, 0 +accumulatedValue = scalar, F32, 1328, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1332, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1336, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1340, "", 1, 0 +cycleCnt = scalar, S32, 1344, "", 1, 0 +; total TS size = 1348 +hwEventCounters1 = scalar, U32, 1348, "", 1, 0 +hwEventCounters2 = scalar, U32, 1352, "", 1, 0 +hwEventCounters3 = scalar, U32, 1356, "", 1, 0 +hwEventCounters4 = scalar, U32, 1360, "", 1, 0 +hwEventCounters5 = scalar, U32, 1364, "", 1, 0 +hwEventCounters6 = scalar, U32, 1368, "", 1, 0 +vvtCamCounter = scalar, U32, 1372, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1376, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1380, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1384, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1385, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1388, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1392, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1396, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1400, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1404, [0:0] +triggerElapsedUs = scalar, U32, 1408, "", 1, 0 +; total TS size = 1412 +crankSynchronizationCounter0 = scalar, U32, 1412, "", 1, 0 +vvtSyncGapRatio0 = scalar, F32, 1416, "", 1, 0 +vvtToothDurations00 = scalar, U32, 1420, "us", 1, 0 +vvtCurrentPosition0 = scalar, F32, 1424, "sync: Primary Cam Position", 1, 0 +vvtToothPosition10 = scalar, F32, 1428, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition20 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition30 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition40 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio0 = scalar, F32, 1444, "", 1, 0 +triggerStateIndex0 = scalar, U08, 1448, "", 1, 0 +vvtStateIndex0 = scalar, U08, 1449, "", 1, 0 +; total TS size = 1452 +crankSynchronizationCounter1 = scalar, U32, 1452, "", 1, 0 +vvtSyncGapRatio1 = scalar, F32, 1456, "", 1, 0 +vvtToothDurations01 = scalar, U32, 1460, "us", 1, 0 +vvtCurrentPosition1 = scalar, F32, 1464, "sync: Primary Cam Position", 1, 0 +vvtToothPosition11 = scalar, F32, 1468, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition21 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition31 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition41 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio1 = scalar, F32, 1484, "", 1, 0 +triggerStateIndex1 = scalar, U08, 1488, "", 1, 0 +vvtStateIndex1 = scalar, U08, 1489, "", 1, 0 +; total TS size = 1492 +crankSynchronizationCounter2 = scalar, U32, 1492, "", 1, 0 +vvtSyncGapRatio2 = scalar, F32, 1496, "", 1, 0 +vvtToothDurations02 = scalar, U32, 1500, "us", 1, 0 +vvtCurrentPosition2 = scalar, F32, 1504, "sync: Primary Cam Position", 1, 0 +vvtToothPosition12 = scalar, F32, 1508, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition22 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition32 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition42 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio2 = scalar, F32, 1524, "", 1, 0 +triggerStateIndex2 = scalar, U08, 1528, "", 1, 0 +vvtStateIndex2 = scalar, U08, 1529, "", 1, 0 +; total TS size = 1532 +crankSynchronizationCounter3 = scalar, U32, 1532, "", 1, 0 +vvtSyncGapRatio3 = scalar, F32, 1536, "", 1, 0 +vvtToothDurations03 = scalar, U32, 1540, "us", 1, 0 +vvtCurrentPosition3 = scalar, F32, 1544, "sync: Primary Cam Position", 1, 0 +vvtToothPosition13 = scalar, F32, 1548, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition23 = scalar, F32, 1552, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition33 = scalar, F32, 1556, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition43 = scalar, F32, 1560, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio3 = scalar, F32, 1564, "", 1, 0 +triggerStateIndex3 = scalar, U08, 1568, "", 1, 0 +vvtStateIndex3 = scalar, U08, 1569, "", 1, 0 +; total TS size = 1572 +crankSynchronizationCounter4 = scalar, U32, 1572, "", 1, 0 +vvtSyncGapRatio4 = scalar, F32, 1576, "", 1, 0 +vvtToothDurations04 = scalar, U32, 1580, "us", 1, 0 +vvtCurrentPosition4 = scalar, F32, 1584, "sync: Primary Cam Position", 1, 0 +vvtToothPosition14 = scalar, F32, 1588, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition24 = scalar, F32, 1592, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition34 = scalar, F32, 1596, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition44 = scalar, F32, 1600, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio4 = scalar, F32, 1604, "", 1, 0 +triggerStateIndex4 = scalar, U08, 1608, "", 1, 0 +vvtStateIndex4 = scalar, U08, 1609, "", 1, 0 +; total TS size = 1612 +camResyncCounter = scalar, U08, 1612, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1616, [0:0] +; total TS size = 1620 +wallFuelCorrection = scalar, F32, 1620, "", 1, 0 +wallFuel = scalar, F32, 1624, "", 1, 0 +; total TS size = 1628 +idleState = bits, S32, 1628, [0:2], "not important" +currentIdlePosition = scalar, F32, 1632 +baseIdlePosition = scalar, F32, 1636 +idleClosedLoop = scalar, F32, 1640 +iacByTpsTaper = scalar, F32, 1644 +throttlePedalUpState = scalar, S32, 1648, "", 1, 0 +mightResetPid = bits, U32, 1652, [0:0] +shouldResetPid = bits, U32, 1652, [1:1] +wasResetPid = bits, U32, 1652, [2:2] +mustResetPid = bits, U32, 1652, [3:3] +isCranking = bits, U32, 1652, [4:4] +isIacTableForCoasting = bits, U32, 1652, [5:5] +notIdling = bits, U32, 1652, [6:6] +needReset = bits, U32, 1652, [7:7] +isInDeadZone = bits, U32, 1652, [8:8] +isBlipping = bits, U32, 1652, [9:9] +useClosedLoop = bits, U32, 1652, [10:10] +badTps = bits, U32, 1652, [11:11] +looksLikeRunning = bits, U32, 1652, [12:12] +looksLikeCoasting = bits, U32, 1652, [13:13] +looksLikeCrankToIdle = bits, U32, 1652, [14:14] +isIdleCoasting = bits, U32, 1652, [15:15] +isIdleClosedLoop = bits, U32, 1652, [16:16] +idleTarget = scalar, S32, 1656, "", 1, 0 +targetRpmByClt = scalar, S32, 1660, "", 1, 0 +targetRpmAc = scalar, S32, 1664, "", 1, 0 +iacByRpmTaper = scalar, F32, 1668 +luaAdd = scalar, F32, 1672 +; total TS size = 1676 +targetWithIdlePosition0 = scalar, F32, 1676, "per", 1,0 +trim0 = scalar, F32, 1680, "", 1, 0 +luaAdjustment0 = scalar, F32, 1684, "per", 1,0 +m_wastegatePosition0 = scalar, F32, 1688, "per", 1,0 +etbFeedForward0 = scalar, F32, 1692 +etbIntegralError0 = scalar, F32, 1696, "", 1, 0 +etbCurrentTarget0 = scalar, F32, 1700, "%", 1, 0 +etbCurrentAdjustedTarget0 = scalar, F32, 1704, "%", 1, 0 +etbRevLimitActive0 = bits, U32, 1708, [0:0] +jamDetected0 = bits, U32, 1708, [1:1] +etbTpsErrorCounter0 = scalar, U16, 1712, "count", 1,0 +etbPpsErrorCounter0 = scalar, U16, 1714, "count", 1,0 +etbErrorCode0 = scalar, S08, 1716, "", 1, 0 +tcEtbDrop0 = scalar, S08, 1717, "%", 1, 0 +jamTimer0 = scalar, U16, 1718, "sec", 0.01, 0 +adjustedEtbTarget0 = scalar, S08, 1720, "%", 1, 0 +; total TS size = 1724 +targetWithIdlePosition1 = scalar, F32, 1724, "per", 1,0 +trim1 = scalar, F32, 1728, "", 1, 0 +luaAdjustment1 = scalar, F32, 1732, "per", 1,0 +m_wastegatePosition1 = scalar, F32, 1736, "per", 1,0 +etbFeedForward1 = scalar, F32, 1740 +etbIntegralError1 = scalar, F32, 1744, "", 1, 0 +etbCurrentTarget1 = scalar, F32, 1748, "%", 1, 0 +etbCurrentAdjustedTarget1 = scalar, F32, 1752, "%", 1, 0 +etbRevLimitActive1 = bits, U32, 1756, [0:0] +jamDetected1 = bits, U32, 1756, [1:1] +etbTpsErrorCounter1 = scalar, U16, 1760, "count", 1,0 +etbPpsErrorCounter1 = scalar, U16, 1762, "count", 1,0 +etbErrorCode1 = scalar, S08, 1764, "", 1, 0 +tcEtbDrop1 = scalar, S08, 1765, "%", 1, 0 +jamTimer1 = scalar, U16, 1766, "sec", 0.01, 0 +adjustedEtbTarget1 = scalar, S08, 1768, "%", 1, 0 +; total TS size = 1772 +faultCode0 = scalar, U08, 1772, "", 1, 0 +heaterDuty0 = scalar, U08, 1773, "%", 1, 0 +pumpDuty0 = scalar, U08, 1774, "%", 1, 0 +tempC0 = scalar, U16, 1776, "C", 1, 0 +nernstVoltage0 = scalar, U16, 1778, "V", 0.001, 0 +esr0 = scalar, U16, 1780, "ohm", 1, 0 +; total TS size = 1784 +faultCode1 = scalar, U08, 1784, "", 1, 0 +heaterDuty1 = scalar, U08, 1785, "%", 1, 0 +pumpDuty1 = scalar, U08, 1786, "%", 1, 0 +tempC1 = scalar, U16, 1788, "C", 1, 0 +nernstVoltage1 = scalar, U16, 1790, "V", 0.001, 0 +esr1 = scalar, U16, 1792, "ohm", 1, 0 +; total TS size = 1796 +dcOutput0 = scalar, F32, 1796, "per", 1,0 +isEnabled0_int = scalar, U08, 1800, "per", 1,0 +isEnabled0 = bits, U32, 1804, [0:0] +; total TS size = 1808 +value0 = scalar, U16, 1808, "value", 1,0 +value1 = scalar, U16, 1810, "value", 1,0 +errorRate = scalar, F32, 1812, "ratio", 1,0 +; total TS size = 1816 +vvtTarget = scalar, U16, 1816, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1818, "%", 0.5, 0 +; total TS size = 1820 +lambdaCurrentlyGood = bits, U32, 1820, [0:0] +lambdaMonitorCut = bits, U32, 1820, [1:1] +lambdaTimeSinceGood = scalar, U16, 1824, "sec", 0.01, 0 +; total TS size = 1828 time = { timeNow } @@ -3616,6 +3648,7 @@ lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs8 requiresPowerCycle = cylinderBore + requiresPowerCycle = knockFrequency readOnly = warning_message readOnly = device_uid1 @@ -5033,6 +5066,26 @@ gaugeCategory = Knock knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knockSpectrumChannelCylGauge = m_knockSpectrumChannelCyl, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStartGauge = m_knockFrequencyStart, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStepGauge = m_knockFrequencyStep, "Knock Frequency Step", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFuelTrimMultiplier = m_knockFuelTrimMultiplier, "Knock Fuel Trim", "mult", 0, 0, 0, 0, 0, 30, 1, 1 + knockSpectrum1 = m_knockSpectrum1, "Knock Spectrum1", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum2 = m_knockSpectrum2, "knockSpectrum2", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum3 = m_knockSpectrum3, "knockSpectrum3", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum4 = m_knockSpectrum4, "knockSpectrum4", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum5 = m_knockSpectrum5, "knockSpectrum5", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum6 = m_knockSpectrum6, "knockSpectrum6", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum7 = m_knockSpectrum7, "knockSpectrum7", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum8 = m_knockSpectrum8, "knockSpectrum8", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum9 = m_knockSpectrum9, "knockSpectrum9", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum10 = m_knockSpectrum10, "knockSpectrum10", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum11 = m_knockSpectrum11, "knockSpectrum11", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum12 = m_knockSpectrum12, "knockSpectrum12", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum13 = m_knockSpectrum13, "knockSpectrum13", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum14 = m_knockSpectrum14, "knockSpectrum14", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum15 = m_knockSpectrum15, "knockSpectrum15", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum16 = m_knockSpectrum16, "knockSpectrum16", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -5631,6 +5684,26 @@ entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" entry = m_knockCount, "Knock: Count", int, "%d" entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_knockFrequency, "knock: frequency", int, "%d" +entry = m_knockSpectrum1, "Knock: SpectrumData 1", int, "%d" +entry = m_knockSpectrum2, "Knock: SpectrumData 2", int, "%d" +entry = m_knockSpectrum3, "Knock: SpectrumData 3", int, "%d" +entry = m_knockSpectrum4, "Knock: SpectrumData 4", int, "%d" +entry = m_knockSpectrum5, "Knock: SpectrumData 5", int, "%d" +entry = m_knockSpectrum6, "Knock: SpectrumData 6", int, "%d" +entry = m_knockSpectrum7, "Knock: SpectrumData 7", int, "%d" +entry = m_knockSpectrum8, "Knock: SpectrumData 8", int, "%d" +entry = m_knockSpectrum9, "Knock: SpectrumData 9", int, "%d" +entry = m_knockSpectrum10, "Knock: SpectrumData 10", int, "%d" +entry = m_knockSpectrum11, "Knock: SpectrumData 11", int, "%d" +entry = m_knockSpectrum12, "Knock: SpectrumData 12", int, "%d" +entry = m_knockSpectrum13, "Knock: SpectrumData 13", int, "%d" +entry = m_knockSpectrum14, "Knock: SpectrumData 14", int, "%d" +entry = m_knockSpectrum15, "Knock: SpectrumData 15", int, "%d" +entry = m_knockSpectrum16, "Knock: SpectrumData 16", int, "%d" +entry = m_knockSpectrumChannelCyl, "Knock: ChannelAndCylNumber", int, "%d" +entry = m_knockFrequencyStart, "Knock: Start Freq", int, "%d" +entry = m_knockFrequencyStep, "Knock: Step Freq", float, "%.3f" +entry = m_knockFuelTrimMultiplier, "Knock: Fuel trim when knock", float, "%.3f" entry = tcuCurrentGear, "TCU: Current Gear", int, "%d" entry = tcRatio, "TCU: Torque Converter Ratio", float, "%.3f" entry = lastShiftTime, "lastShiftTime", float, "%.3f" @@ -6528,6 +6601,31 @@ dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard graphLine = m_knockFrequency + graphLine = m_knockSpectrum1 + graphLine = m_knockSpectrum2 + liveGraph = knock_controller_6_Graph, "Graph", South + graphLine = m_knockSpectrum3 + graphLine = m_knockSpectrum4 + graphLine = m_knockSpectrum5 + graphLine = m_knockSpectrum6 + liveGraph = knock_controller_7_Graph, "Graph", South + graphLine = m_knockSpectrum7 + graphLine = m_knockSpectrum8 + graphLine = m_knockSpectrum9 + graphLine = m_knockSpectrum10 + liveGraph = knock_controller_8_Graph, "Graph", South + graphLine = m_knockSpectrum11 + graphLine = m_knockSpectrum12 + graphLine = m_knockSpectrum13 + graphLine = m_knockSpectrum14 + liveGraph = knock_controller_9_Graph, "Graph", South + graphLine = m_knockSpectrum15 + graphLine = m_knockSpectrum16 + graphLine = m_knockSpectrumChannelCyl + graphLine = m_knockFrequencyStart + liveGraph = knock_controller_10_Graph, "Graph", South + graphLine = m_knockFrequencyStep + graphLine = m_knockFuelTrimMultiplier indicatorPanel = tcu_controllerIndicatorPanel, 2 indicator = {isShifting}, "isShifting No", "isShifting Yes" @@ -8586,9 +8684,13 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockCfg, "Sense" field = "Enable", enableSoftwareKnock field = "Cylinder Bore", cylinderBore, {enableSoftwareKnock} + field = "Estimated Knock Frequency",knockFrequency, {enableSoftwareKnock} field = "Detection mode", knockDetectionUseDoubleFrequency field = "Detection Window Start",knockDetectionWindowStart, {enableSoftwareKnock} field = "Sampling Duration", knockSamplingDuration, {enableSoftwareKnock} + field = "Enable Knock Spectrogram", enableKnockSpectrogram, {enableSoftwareKnock} + field = "Enable Knock Spectrogram Filter", enableKnockSpectrogramFilter, {enableKnockSpectrogram} + field = "Knock Spectrum Sensitivity", knockSpectrumSensitivity, {enableKnockSpectrogram} field = "" field = "Select the nearest sensor for each cylinder" @@ -8608,6 +8710,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockResponseCfg, "Response" field = knockRetardAggression, knockRetardAggression field = knockRetardReapplyRate, knockRetardReapplyRate + field = knockFuelTrimAggression, knockFuelTrimAggression + field = knockFuelTrimReapplyRate, knockFuelTrimReapplyRate + field = knockFuelTrim, knockFuelTrim + field = knockSuppressMinTps, knockSuppressMinTps dialog = softwareKnockLeft, "" panel = softwareKnockCfg diff --git a/firmware/tunerstudio/generated/rusefi_small-can-board.ini b/firmware/tunerstudio/generated/rusefi_small-can-board.ini index fe9ec8f493..9afb92adbf 100644 --- a/firmware/tunerstudio/generated/rusefi_small-can-board.ini +++ b/firmware/tunerstudio/generated/rusefi_small-can-board.ini @@ -38,12 +38,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.10.21.small-can-board.3659200308" + signature = "rusEFI master.2024.10.21.small-can-board.103984587" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.10.21.small-can-board.3659200308" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.10.21.small-can-board.103984587" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -774,6 +774,7 @@ devBit7 = bits, U32, 1492, [27:27], "false", "true" unusedSkipWasHere = bits, U32, 1492, [28:28], "false", "true" invertExhaustCamVVTSignal = bits, U32, 1492, [29:29], "Rising", "Falling" enableKnockSpectrogram = bits, U32, 1492, [30:30], "false", "true" +enableKnockSpectrogramFilter = bits, U32, 1492, [31:31], "false", "true" afterCrankingIACtaperDuration = scalar, S16, 1496, "cycles", 1, 0, 0, 5000, 0 iacByTpsTaper = scalar, S16, 1498, "percent", 1, 0, 0, 500, 0 unusedAuxSeria = bits, U16, 1500, [0:8], $gpio_list @@ -1394,7 +1395,13 @@ auxLinear4_v1 = scalar, F32, 3880, "volts", 1, 0, 0, 10, 2 auxLinear4_value1 = scalar, F32, 3884, "", 1, 0, -100000, 1000000, 2 auxLinear4_v2 = scalar, F32, 3888, "volts", 1, 0, 0, 10, 2 auxLinear4_value2 = scalar, F32, 3892, "", 1, 0, -100000, 1000000, 2 -unusedOftenChangesDuringFirmwareUpdate = array, U08, 3896, [128], "units", 1, 0, 0, 1, 0 +knockSuppressMinTps = scalar, U08, 3896, "%", 1, 0, 0, 100, 1 +knockFuelTrimAggression = scalar, U08, 3897, "%", 0.1, 0, 0, 20, 1 +knockFuelTrimReapplyRate = scalar, U08, 3898, "deg/s", 0.1, 0, 0, 10, 1 +knockFuelTrim = scalar, U08, 3899, "%", 1, 0, 0, 30, 1 +knockSpectrumSensitivity = scalar, F32, 3900, "sense", 1, 0, 0, 1, 2 +knockFrequency = scalar, F32, 3904, "Hz", 1, 0, 0, 20000, 2 +unusedOftenChangesDuringFirmwareUpdate = array, U08, 3908, [116], "units", 1, 0, 0, 1, 0 postCrankingFactor = array, F32, 4024, [6x6], "mult", 1, 0, 1, 3, 2 postCrankingDurationBins = array, F32, 4168, [6], "count", 1, 0, 0, 1000, 0 postCrankingCLTBins = array, S16, 4192, [6], "C", 1, 0, -100, 250, 0 @@ -2448,6 +2455,11 @@ minimumOilPressureValues = array, U08, 22960, [8], "kPa", 10.0, 0, 0, 1000, 0 minAcPressure = "value of A/C pressure in kPa before that compressor is disengaged" maxAcPressure = "value of A/C pressure in kPa after that compressor is disengaged" minimumOilPressureTimeout = "Delay before cutting fuel due to low oil pressure. Use this to ignore short pressure blips and sensor noise." + knockSuppressMinTps = "Below TPS value all knock suppression will be disabled." + knockFuelTrimAggression = "Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump)," + knockFuelTrimReapplyRate = "After a knock event, reapply fuel at this rate." + knockFuelTrim = "Fuel trim when knock, max 30%" + knockFrequency = "Estimated knock frequency, ignore cylinderBore if this one > 0" etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, open loop component of PID closed loop control" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2560,7 +2572,7 @@ minimumOilPressureValues = array, U08, 22960, [8], "kPa", 10.0, 0, 0, 1000, 0 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1752 + ochBlockSize = 1828 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3101,370 +3113,390 @@ m_knockThreshold = scalar, F32, 960, "", 1, 0 m_knockCount = scalar, U32, 964, "", 1, 0 m_maximumRetard = scalar, F32, 968, "", 1, 0 m_knockFrequency = scalar, U32, 972, "Hz", 1, 0 -; total TS size = 976 -tcuCurrentGear = scalar, S08, 976, "gear", 1, 0 -tcRatio = scalar, U16, 978, "value", 0.01, 0 -lastShiftTime = scalar, F32, 980, "", 1, 0 -tcu_currentRange = scalar, U08, 984, "", 1, 0 -pressureControlDuty = scalar, S08, 985, "%", 1,0 -torqueConverterDuty = scalar, S08, 986, "%", 1,0 -isShifting = bits, U32, 988, [0:0] -; total TS size = 992 -throttleUseWotModel = bits, U32, 992, [0:0] -throttleModelCrossoverAngle = scalar, S16, 996, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1000, "g/s", 1, 0 -; total TS size = 1004 -m_requested_pump = scalar, F32, 1004, "", 1, 0 -fuel_requested_percent = scalar, F32, 1008, "", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1012, "", 1, 0 -noValve = bits, U32, 1016, [0:0] -angleAboveMin = bits, U32, 1016, [1:1] -isHpfpInactive = bits, U32, 1016, [2:2] -m_pressureTarget_kPa = scalar, F32, 1020, "", 1, 0 -nextLobe = scalar, F32, 1024, "", 1, 0 -di_nextStart = scalar, F32, 1028, "v", 1, 0 -; total TS size = 1032 -m_deadtime = scalar, F32, 1032, "ms", 1, 0 -pressureDelta = scalar, F32, 1036, "kPa", 1, 0 -pressureRatio = scalar, F32, 1040, "", 1, 0 -; total TS size = 1044 -retardThresholdRpm = scalar, S32, 1044, "", 1, 0 -launchActivatePinState = bits, U32, 1048, [0:0] -isPreLaunchCondition = bits, U32, 1048, [1:1] -isLaunchCondition = bits, U32, 1048, [2:2] -isSwitchActivated = bits, U32, 1048, [3:3] -isClutchActivated = bits, U32, 1048, [4:4] -isBrakePedalActivated = bits, U32, 1048, [5:5] -isValidInputPin = bits, U32, 1048, [6:6] -activateSwitchCondition = bits, U32, 1048, [7:7] -rpmLaunchCondition = bits, U32, 1048, [8:8] -rpmPreLaunchCondition = bits, U32, 1048, [9:9] -speedCondition = bits, U32, 1048, [10:10] -tpsCondition = bits, U32, 1048, [11:11] +m_knockSpectrum1 = scalar, U32, 976, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 980, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 984, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 988, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1040, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1042, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1044, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1048, "multiplier", 1, 0 ; total TS size = 1052 -isTorqueReductionTriggerPinValid = bits, U32, 1052, [0:0] -torqueReductionTriggerPinState = bits, U32, 1052, [1:1] -isTimeConditionSatisfied = bits, U32, 1052, [2:2] -isRpmConditionSatisfied = bits, U32, 1052, [3:3] -isAppConditionSatisfied = bits, U32, 1052, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1052, [5:5] -; total TS size = 1056 -isAntilagCondition = bits, U32, 1056, [0:0] -ALSMinRPMCondition = bits, U32, 1056, [1:1] -ALSMaxRPMCondition = bits, U32, 1056, [2:2] -ALSMinCLTCondition = bits, U32, 1056, [3:3] -ALSMaxCLTCondition = bits, U32, 1056, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1056, [5:5] -isALSSwitchActivated = bits, U32, 1056, [6:6] -ALSActivatePinState = bits, U32, 1056, [7:7] -ALSSwitchCondition = bits, U32, 1056, [8:8] -ALSTimerCondition = bits, U32, 1056, [9:9] -fuelALSCorrection = scalar, F32, 1060, "", 1, 0 -timingALSCorrection = scalar, S16, 1064, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1066, "deg", 0.01, 0 +tcuCurrentGear = scalar, S08, 1052, "gear", 1, 0 +tcRatio = scalar, U16, 1054, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1056, "", 1, 0 +tcu_currentRange = scalar, U08, 1060, "", 1, 0 +pressureControlDuty = scalar, S08, 1061, "%", 1,0 +torqueConverterDuty = scalar, S08, 1062, "%", 1,0 +isShifting = bits, U32, 1064, [0:0] ; total TS size = 1068 -isTpsInvalid = bits, U32, 1068, [0:0] -m_shouldResetPid = bits, U32, 1068, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1068, [2:2] -isNotClosedLoop = bits, U32, 1068, [3:3] -isZeroRpm = bits, U32, 1068, [4:4] -hasInitBoost = bits, U32, 1068, [5:5] -rpmTooLow = bits, U32, 1068, [6:6] -tpsTooLow = bits, U32, 1068, [7:7] -mapTooLow = bits, U32, 1068, [8:8] -isPlantValid = bits, U32, 1068, [9:9] -isBoostControlled = bits, U32, 1068, [10:10] -luaTargetAdd = scalar, S16, 1072, "v", 0.5,0 -boostOutput = scalar, S16, 1074, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1076, "v", 1,0 -openLoopPart = scalar, F32, 1080, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1084, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1088, "%", 0.5,0 -boostControlTarget = scalar, S16, 1090, "kPa", 0.03333333333333333,0 -; total TS size = 1092 -acButtonState = scalar, S08, 1092, "", 1, 0 -m_acEnabled = bits, U32, 1096, [0:0] -engineTooSlow = bits, U32, 1096, [1:1] -engineTooFast = bits, U32, 1096, [2:2] -noClt = bits, U32, 1096, [3:3] -engineTooHot = bits, U32, 1096, [4:4] -tpsTooHigh = bits, U32, 1096, [5:5] -isDisabledByLua = bits, U32, 1096, [6:6] -acCompressorState = bits, U32, 1096, [7:7] -acPressureTooLow = bits, U32, 1096, [8:8] -acPressureTooHigh = bits, U32, 1096, [9:9] -; total TS size = 1100 -cranking0 = bits, U32, 1100, [0:0] -notRunning0 = bits, U32, 1100, [1:1] -disabledWhileEngineStopped0 = bits, U32, 1100, [2:2] -brokenClt0 = bits, U32, 1100, [3:3] -enabledForAc0 = bits, U32, 1100, [4:4] -hot0 = bits, U32, 1100, [5:5] -cold0 = bits, U32, 1100, [6:6] -disabledBySpeed0 = bits, U32, 1100, [7:7] -radiatorFanStatus0 = scalar, U08, 1104, "", 1, 0 +throttleUseWotModel = bits, U32, 1068, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1072, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1076, "g/s", 1, 0 +; total TS size = 1080 +m_requested_pump = scalar, F32, 1080, "", 1, 0 +fuel_requested_percent = scalar, F32, 1084, "", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1088, "", 1, 0 +noValve = bits, U32, 1092, [0:0] +angleAboveMin = bits, U32, 1092, [1:1] +isHpfpInactive = bits, U32, 1092, [2:2] +m_pressureTarget_kPa = scalar, F32, 1096, "", 1, 0 +nextLobe = scalar, F32, 1100, "", 1, 0 +di_nextStart = scalar, F32, 1104, "v", 1, 0 ; total TS size = 1108 -cranking1 = bits, U32, 1108, [0:0] -notRunning1 = bits, U32, 1108, [1:1] -disabledWhileEngineStopped1 = bits, U32, 1108, [2:2] -brokenClt1 = bits, U32, 1108, [3:3] -enabledForAc1 = bits, U32, 1108, [4:4] -hot1 = bits, U32, 1108, [5:5] -cold1 = bits, U32, 1108, [6:6] -disabledBySpeed1 = bits, U32, 1108, [7:7] -radiatorFanStatus1 = scalar, U08, 1112, "", 1, 0 -; total TS size = 1116 -isPrime = bits, U32, 1116, [0:0] -engineTurnedRecently = bits, U32, 1116, [1:1] -isFuelPumpOn = bits, U32, 1116, [2:2] -ignitionOn = bits, U32, 1116, [3:3] +m_deadtime = scalar, F32, 1108, "ms", 1, 0 +pressureDelta = scalar, F32, 1112, "kPa", 1, 0 +pressureRatio = scalar, F32, 1116, "", 1, 0 ; total TS size = 1120 -isBenchTest = bits, U32, 1120, [0:0] -hasIgnitionVoltage = bits, U32, 1120, [1:1] -mainRelayState = bits, U32, 1120, [2:2] -delayedShutoffRequested = bits, U32, 1120, [3:3] -; total TS size = 1124 -lua_fuelAdd = scalar, F32, 1124, "g", 1, 0 -lua_fuelMult = scalar, F32, 1128, "", 1, 0 -lua_clutchUpState = bits, U32, 1132, [0:0] -lua_brakePedalState = bits, U32, 1132, [1:1] -lua_acRequestState = bits, U32, 1132, [2:2] -lua_luaDisableEtb = bits, U32, 1132, [3:3] -lua_luaIgnCut = bits, U32, 1132, [4:4] -lua_luaFuelCut = bits, U32, 1132, [5:5] -lua_clutchDownState = bits, U32, 1132, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1132, [7:7] -sd_tCharge = scalar, S16, 1136, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1140, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1144, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1148, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1152, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1156, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1160, "", 1, 0 -hellenBoardId = scalar, S16, 1164, "id", 1, 0 -clutchUpState = scalar, S08, 1166, "", 1, 0 -clutchDownState = scalar, S08, 1167, "", 1, 0 -brakePedalState = scalar, S08, 1168, "", 1, 0 -startStopState = scalar, S08, 1169, "", 1, 0 -smartChipState = scalar, S08, 1170, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1171, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1172, "", 1, 0 -startStopPhysicalState = bits, U32, 1176, [0:0] -acrActive = bits, U32, 1176, [1:1] -acrEngineMovedRecently = bits, U32, 1176, [2:2] -heaterControlEnabled = bits, U32, 1176, [3:3] -luaDigitalState0 = bits, U32, 1176, [4:4] -luaDigitalState1 = bits, U32, 1176, [5:5] -luaDigitalState2 = bits, U32, 1176, [6:6] -luaDigitalState3 = bits, U32, 1176, [7:7] -startStopStateToggleCounter = scalar, U32, 1180, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1184, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1188, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1192, "", 1, 0 -desiredRpmLimit = scalar, S16, 1196, "rpm", 1, 0 -fuelInjectionCounter = scalar, U32, 1200, "", 1, 0 -globalSparkCounter = scalar, U32, 1204, "", 1, 0 -fuelingLoad = scalar, F32, 1208, "", 1, 0 -ignitionLoad = scalar, F32, 1212, "", 1, 0 -veTableYAxis = scalar, U16, 1216, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1218, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1219, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1220, "", 1, 0 -; total TS size = 1224 -tpsFrom = scalar, F32, 1224 -tpsTo = scalar, F32, 1228 -deltaTps = scalar, F32, 1232 -extraFuel = scalar, F32, 1236, "", 1, 0 -valueFromTable = scalar, F32, 1240, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1244, [0:0] -isBelowDecelThreshold = bits, U32, 1244, [1:1] -isTimeToResetAccumulator = bits, U32, 1244, [2:2] -isFractionalEnrichment = bits, U32, 1244, [3:3] -belowEpsilon = bits, U32, 1244, [4:4] -tooShort = bits, U32, 1244, [5:5] -fractionalInjFuel = scalar, F32, 1248, "", 1, 0 -accumulatedValue = scalar, F32, 1252, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1256, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1260, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1264, "", 1, 0 -cycleCnt = scalar, S32, 1268, "", 1, 0 -; total TS size = 1272 -hwEventCounters1 = scalar, U32, 1272, "", 1, 0 -hwEventCounters2 = scalar, U32, 1276, "", 1, 0 -hwEventCounters3 = scalar, U32, 1280, "", 1, 0 -hwEventCounters4 = scalar, U32, 1284, "", 1, 0 -hwEventCounters5 = scalar, U32, 1288, "", 1, 0 -hwEventCounters6 = scalar, U32, 1292, "", 1, 0 -vvtCamCounter = scalar, U32, 1296, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1300, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1304, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1308, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1309, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1312, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1316, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1320, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1324, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1328, [0:0] -triggerElapsedUs = scalar, U32, 1332, "", 1, 0 -; total TS size = 1336 -crankSynchronizationCounter0 = scalar, U32, 1336, "", 1, 0 -vvtSyncGapRatio0 = scalar, F32, 1340, "", 1, 0 -vvtToothDurations00 = scalar, U32, 1344, "us", 1, 0 -vvtCurrentPosition0 = scalar, F32, 1348, "sync: Primary Cam Position", 1, 0 -vvtToothPosition10 = scalar, F32, 1352, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition20 = scalar, F32, 1356, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition30 = scalar, F32, 1360, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition40 = scalar, F32, 1364, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio0 = scalar, F32, 1368, "", 1, 0 -triggerStateIndex0 = scalar, U08, 1372, "", 1, 0 -vvtStateIndex0 = scalar, U08, 1373, "", 1, 0 -; total TS size = 1376 -crankSynchronizationCounter1 = scalar, U32, 1376, "", 1, 0 -vvtSyncGapRatio1 = scalar, F32, 1380, "", 1, 0 -vvtToothDurations01 = scalar, U32, 1384, "us", 1, 0 -vvtCurrentPosition1 = scalar, F32, 1388, "sync: Primary Cam Position", 1, 0 -vvtToothPosition11 = scalar, F32, 1392, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition21 = scalar, F32, 1396, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition31 = scalar, F32, 1400, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition41 = scalar, F32, 1404, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio1 = scalar, F32, 1408, "", 1, 0 -triggerStateIndex1 = scalar, U08, 1412, "", 1, 0 -vvtStateIndex1 = scalar, U08, 1413, "", 1, 0 -; total TS size = 1416 -crankSynchronizationCounter2 = scalar, U32, 1416, "", 1, 0 -vvtSyncGapRatio2 = scalar, F32, 1420, "", 1, 0 -vvtToothDurations02 = scalar, U32, 1424, "us", 1, 0 -vvtCurrentPosition2 = scalar, F32, 1428, "sync: Primary Cam Position", 1, 0 -vvtToothPosition12 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition22 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition32 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition42 = scalar, F32, 1444, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio2 = scalar, F32, 1448, "", 1, 0 -triggerStateIndex2 = scalar, U08, 1452, "", 1, 0 -vvtStateIndex2 = scalar, U08, 1453, "", 1, 0 -; total TS size = 1456 -crankSynchronizationCounter3 = scalar, U32, 1456, "", 1, 0 -vvtSyncGapRatio3 = scalar, F32, 1460, "", 1, 0 -vvtToothDurations03 = scalar, U32, 1464, "us", 1, 0 -vvtCurrentPosition3 = scalar, F32, 1468, "sync: Primary Cam Position", 1, 0 -vvtToothPosition13 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition23 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition33 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition43 = scalar, F32, 1484, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio3 = scalar, F32, 1488, "", 1, 0 -triggerStateIndex3 = scalar, U08, 1492, "", 1, 0 -vvtStateIndex3 = scalar, U08, 1493, "", 1, 0 -; total TS size = 1496 -crankSynchronizationCounter4 = scalar, U32, 1496, "", 1, 0 -vvtSyncGapRatio4 = scalar, F32, 1500, "", 1, 0 -vvtToothDurations04 = scalar, U32, 1504, "us", 1, 0 -vvtCurrentPosition4 = scalar, F32, 1508, "sync: Primary Cam Position", 1, 0 -vvtToothPosition14 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition24 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition34 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition44 = scalar, F32, 1524, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio4 = scalar, F32, 1528, "", 1, 0 -triggerStateIndex4 = scalar, U08, 1532, "", 1, 0 -vvtStateIndex4 = scalar, U08, 1533, "", 1, 0 -; total TS size = 1536 -camResyncCounter = scalar, U08, 1536, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1540, [0:0] -; total TS size = 1544 -wallFuelCorrection = scalar, F32, 1544, "", 1, 0 -wallFuel = scalar, F32, 1548, "", 1, 0 -; total TS size = 1552 -idleState = bits, S32, 1552, [0:2], "not important" -currentIdlePosition = scalar, F32, 1556 -baseIdlePosition = scalar, F32, 1560 -idleClosedLoop = scalar, F32, 1564 -iacByTpsTaper = scalar, F32, 1568 -throttlePedalUpState = scalar, S32, 1572, "", 1, 0 -mightResetPid = bits, U32, 1576, [0:0] -shouldResetPid = bits, U32, 1576, [1:1] -wasResetPid = bits, U32, 1576, [2:2] -mustResetPid = bits, U32, 1576, [3:3] -isCranking = bits, U32, 1576, [4:4] -isIacTableForCoasting = bits, U32, 1576, [5:5] -notIdling = bits, U32, 1576, [6:6] -needReset = bits, U32, 1576, [7:7] -isInDeadZone = bits, U32, 1576, [8:8] -isBlipping = bits, U32, 1576, [9:9] -useClosedLoop = bits, U32, 1576, [10:10] -badTps = bits, U32, 1576, [11:11] -looksLikeRunning = bits, U32, 1576, [12:12] -looksLikeCoasting = bits, U32, 1576, [13:13] -looksLikeCrankToIdle = bits, U32, 1576, [14:14] -isIdleCoasting = bits, U32, 1576, [15:15] -isIdleClosedLoop = bits, U32, 1576, [16:16] -idleTarget = scalar, S32, 1580, "", 1, 0 -targetRpmByClt = scalar, S32, 1584, "", 1, 0 -targetRpmAc = scalar, S32, 1588, "", 1, 0 -iacByRpmTaper = scalar, F32, 1592 -luaAdd = scalar, F32, 1596 -; total TS size = 1600 -targetWithIdlePosition0 = scalar, F32, 1600, "per", 1,0 -trim0 = scalar, F32, 1604, "", 1, 0 -luaAdjustment0 = scalar, F32, 1608, "per", 1,0 -m_wastegatePosition0 = scalar, F32, 1612, "per", 1,0 -etbFeedForward0 = scalar, F32, 1616 -etbIntegralError0 = scalar, F32, 1620, "", 1, 0 -etbCurrentTarget0 = scalar, F32, 1624, "%", 1, 0 -etbCurrentAdjustedTarget0 = scalar, F32, 1628, "%", 1, 0 -etbRevLimitActive0 = bits, U32, 1632, [0:0] -jamDetected0 = bits, U32, 1632, [1:1] -etbTpsErrorCounter0 = scalar, U16, 1636, "count", 1,0 -etbPpsErrorCounter0 = scalar, U16, 1638, "count", 1,0 -etbErrorCode0 = scalar, S08, 1640, "", 1, 0 -tcEtbDrop0 = scalar, S08, 1641, "%", 1, 0 -jamTimer0 = scalar, U16, 1642, "sec", 0.01, 0 -adjustedEtbTarget0 = scalar, S08, 1644, "%", 1, 0 -; total TS size = 1648 -targetWithIdlePosition1 = scalar, F32, 1648, "per", 1,0 -trim1 = scalar, F32, 1652, "", 1, 0 -luaAdjustment1 = scalar, F32, 1656, "per", 1,0 -m_wastegatePosition1 = scalar, F32, 1660, "per", 1,0 -etbFeedForward1 = scalar, F32, 1664 -etbIntegralError1 = scalar, F32, 1668, "", 1, 0 -etbCurrentTarget1 = scalar, F32, 1672, "%", 1, 0 -etbCurrentAdjustedTarget1 = scalar, F32, 1676, "%", 1, 0 -etbRevLimitActive1 = bits, U32, 1680, [0:0] -jamDetected1 = bits, U32, 1680, [1:1] -etbTpsErrorCounter1 = scalar, U16, 1684, "count", 1,0 -etbPpsErrorCounter1 = scalar, U16, 1686, "count", 1,0 -etbErrorCode1 = scalar, S08, 1688, "", 1, 0 -tcEtbDrop1 = scalar, S08, 1689, "%", 1, 0 -jamTimer1 = scalar, U16, 1690, "sec", 0.01, 0 -adjustedEtbTarget1 = scalar, S08, 1692, "%", 1, 0 -; total TS size = 1696 -faultCode0 = scalar, U08, 1696, "", 1, 0 -heaterDuty0 = scalar, U08, 1697, "%", 1, 0 -pumpDuty0 = scalar, U08, 1698, "%", 1, 0 -tempC0 = scalar, U16, 1700, "C", 1, 0 -nernstVoltage0 = scalar, U16, 1702, "V", 0.001, 0 -esr0 = scalar, U16, 1704, "ohm", 1, 0 -; total TS size = 1708 -faultCode1 = scalar, U08, 1708, "", 1, 0 -heaterDuty1 = scalar, U08, 1709, "%", 1, 0 -pumpDuty1 = scalar, U08, 1710, "%", 1, 0 -tempC1 = scalar, U16, 1712, "C", 1, 0 -nernstVoltage1 = scalar, U16, 1714, "V", 0.001, 0 -esr1 = scalar, U16, 1716, "ohm", 1, 0 -; total TS size = 1720 -dcOutput0 = scalar, F32, 1720, "per", 1,0 -isEnabled0_int = scalar, U08, 1724, "per", 1,0 -isEnabled0 = bits, U32, 1728, [0:0] -; total TS size = 1732 -value0 = scalar, U16, 1732, "value", 1,0 -value1 = scalar, U16, 1734, "value", 1,0 -errorRate = scalar, F32, 1736, "ratio", 1,0 -; total TS size = 1740 -vvtTarget = scalar, U16, 1740, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1742, "%", 0.5, 0 -; total TS size = 1744 -lambdaCurrentlyGood = bits, U32, 1744, [0:0] -lambdaMonitorCut = bits, U32, 1744, [1:1] -lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 -; total TS size = 1752 +retardThresholdRpm = scalar, S32, 1120, "", 1, 0 +launchActivatePinState = bits, U32, 1124, [0:0] +isPreLaunchCondition = bits, U32, 1124, [1:1] +isLaunchCondition = bits, U32, 1124, [2:2] +isSwitchActivated = bits, U32, 1124, [3:3] +isClutchActivated = bits, U32, 1124, [4:4] +isBrakePedalActivated = bits, U32, 1124, [5:5] +isValidInputPin = bits, U32, 1124, [6:6] +activateSwitchCondition = bits, U32, 1124, [7:7] +rpmLaunchCondition = bits, U32, 1124, [8:8] +rpmPreLaunchCondition = bits, U32, 1124, [9:9] +speedCondition = bits, U32, 1124, [10:10] +tpsCondition = bits, U32, 1124, [11:11] +; total TS size = 1128 +isTorqueReductionTriggerPinValid = bits, U32, 1128, [0:0] +torqueReductionTriggerPinState = bits, U32, 1128, [1:1] +isTimeConditionSatisfied = bits, U32, 1128, [2:2] +isRpmConditionSatisfied = bits, U32, 1128, [3:3] +isAppConditionSatisfied = bits, U32, 1128, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1128, [5:5] +; total TS size = 1132 +isAntilagCondition = bits, U32, 1132, [0:0] +ALSMinRPMCondition = bits, U32, 1132, [1:1] +ALSMaxRPMCondition = bits, U32, 1132, [2:2] +ALSMinCLTCondition = bits, U32, 1132, [3:3] +ALSMaxCLTCondition = bits, U32, 1132, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1132, [5:5] +isALSSwitchActivated = bits, U32, 1132, [6:6] +ALSActivatePinState = bits, U32, 1132, [7:7] +ALSSwitchCondition = bits, U32, 1132, [8:8] +ALSTimerCondition = bits, U32, 1132, [9:9] +fuelALSCorrection = scalar, F32, 1136, "", 1, 0 +timingALSCorrection = scalar, S16, 1140, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1142, "deg", 0.01, 0 +; total TS size = 1144 +isTpsInvalid = bits, U32, 1144, [0:0] +m_shouldResetPid = bits, U32, 1144, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1144, [2:2] +isNotClosedLoop = bits, U32, 1144, [3:3] +isZeroRpm = bits, U32, 1144, [4:4] +hasInitBoost = bits, U32, 1144, [5:5] +rpmTooLow = bits, U32, 1144, [6:6] +tpsTooLow = bits, U32, 1144, [7:7] +mapTooLow = bits, U32, 1144, [8:8] +isPlantValid = bits, U32, 1144, [9:9] +isBoostControlled = bits, U32, 1144, [10:10] +luaTargetAdd = scalar, S16, 1148, "v", 0.5,0 +boostOutput = scalar, S16, 1150, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1152, "v", 1,0 +openLoopPart = scalar, F32, 1156, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1160, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1164, "%", 0.5,0 +boostControlTarget = scalar, S16, 1166, "kPa", 0.03333333333333333,0 +; total TS size = 1168 +acButtonState = scalar, S08, 1168, "", 1, 0 +m_acEnabled = bits, U32, 1172, [0:0] +engineTooSlow = bits, U32, 1172, [1:1] +engineTooFast = bits, U32, 1172, [2:2] +noClt = bits, U32, 1172, [3:3] +engineTooHot = bits, U32, 1172, [4:4] +tpsTooHigh = bits, U32, 1172, [5:5] +isDisabledByLua = bits, U32, 1172, [6:6] +acCompressorState = bits, U32, 1172, [7:7] +acPressureTooLow = bits, U32, 1172, [8:8] +acPressureTooHigh = bits, U32, 1172, [9:9] +; total TS size = 1176 +cranking0 = bits, U32, 1176, [0:0] +notRunning0 = bits, U32, 1176, [1:1] +disabledWhileEngineStopped0 = bits, U32, 1176, [2:2] +brokenClt0 = bits, U32, 1176, [3:3] +enabledForAc0 = bits, U32, 1176, [4:4] +hot0 = bits, U32, 1176, [5:5] +cold0 = bits, U32, 1176, [6:6] +disabledBySpeed0 = bits, U32, 1176, [7:7] +radiatorFanStatus0 = scalar, U08, 1180, "", 1, 0 +; total TS size = 1184 +cranking1 = bits, U32, 1184, [0:0] +notRunning1 = bits, U32, 1184, [1:1] +disabledWhileEngineStopped1 = bits, U32, 1184, [2:2] +brokenClt1 = bits, U32, 1184, [3:3] +enabledForAc1 = bits, U32, 1184, [4:4] +hot1 = bits, U32, 1184, [5:5] +cold1 = bits, U32, 1184, [6:6] +disabledBySpeed1 = bits, U32, 1184, [7:7] +radiatorFanStatus1 = scalar, U08, 1188, "", 1, 0 +; total TS size = 1192 +isPrime = bits, U32, 1192, [0:0] +engineTurnedRecently = bits, U32, 1192, [1:1] +isFuelPumpOn = bits, U32, 1192, [2:2] +ignitionOn = bits, U32, 1192, [3:3] +; total TS size = 1196 +isBenchTest = bits, U32, 1196, [0:0] +hasIgnitionVoltage = bits, U32, 1196, [1:1] +mainRelayState = bits, U32, 1196, [2:2] +delayedShutoffRequested = bits, U32, 1196, [3:3] +; total TS size = 1200 +lua_fuelAdd = scalar, F32, 1200, "g", 1, 0 +lua_fuelMult = scalar, F32, 1204, "", 1, 0 +lua_clutchUpState = bits, U32, 1208, [0:0] +lua_brakePedalState = bits, U32, 1208, [1:1] +lua_acRequestState = bits, U32, 1208, [2:2] +lua_luaDisableEtb = bits, U32, 1208, [3:3] +lua_luaIgnCut = bits, U32, 1208, [4:4] +lua_luaFuelCut = bits, U32, 1208, [5:5] +lua_clutchDownState = bits, U32, 1208, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1208, [7:7] +sd_tCharge = scalar, S16, 1212, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1216, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1220, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1224, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1228, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1232, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1236, "", 1, 0 +hellenBoardId = scalar, S16, 1240, "id", 1, 0 +clutchUpState = scalar, S08, 1242, "", 1, 0 +clutchDownState = scalar, S08, 1243, "", 1, 0 +brakePedalState = scalar, S08, 1244, "", 1, 0 +startStopState = scalar, S08, 1245, "", 1, 0 +smartChipState = scalar, S08, 1246, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1247, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1248, "", 1, 0 +startStopPhysicalState = bits, U32, 1252, [0:0] +acrActive = bits, U32, 1252, [1:1] +acrEngineMovedRecently = bits, U32, 1252, [2:2] +heaterControlEnabled = bits, U32, 1252, [3:3] +luaDigitalState0 = bits, U32, 1252, [4:4] +luaDigitalState1 = bits, U32, 1252, [5:5] +luaDigitalState2 = bits, U32, 1252, [6:6] +luaDigitalState3 = bits, U32, 1252, [7:7] +startStopStateToggleCounter = scalar, U32, 1256, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1260, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1264, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1268, "", 1, 0 +desiredRpmLimit = scalar, S16, 1272, "rpm", 1, 0 +fuelInjectionCounter = scalar, U32, 1276, "", 1, 0 +globalSparkCounter = scalar, U32, 1280, "", 1, 0 +fuelingLoad = scalar, F32, 1284, "", 1, 0 +ignitionLoad = scalar, F32, 1288, "", 1, 0 +veTableYAxis = scalar, U16, 1292, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1294, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1295, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1296, "", 1, 0 +; total TS size = 1300 +tpsFrom = scalar, F32, 1300 +tpsTo = scalar, F32, 1304 +deltaTps = scalar, F32, 1308 +extraFuel = scalar, F32, 1312, "", 1, 0 +valueFromTable = scalar, F32, 1316, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1320, [0:0] +isBelowDecelThreshold = bits, U32, 1320, [1:1] +isTimeToResetAccumulator = bits, U32, 1320, [2:2] +isFractionalEnrichment = bits, U32, 1320, [3:3] +belowEpsilon = bits, U32, 1320, [4:4] +tooShort = bits, U32, 1320, [5:5] +fractionalInjFuel = scalar, F32, 1324, "", 1, 0 +accumulatedValue = scalar, F32, 1328, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1332, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1336, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1340, "", 1, 0 +cycleCnt = scalar, S32, 1344, "", 1, 0 +; total TS size = 1348 +hwEventCounters1 = scalar, U32, 1348, "", 1, 0 +hwEventCounters2 = scalar, U32, 1352, "", 1, 0 +hwEventCounters3 = scalar, U32, 1356, "", 1, 0 +hwEventCounters4 = scalar, U32, 1360, "", 1, 0 +hwEventCounters5 = scalar, U32, 1364, "", 1, 0 +hwEventCounters6 = scalar, U32, 1368, "", 1, 0 +vvtCamCounter = scalar, U32, 1372, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1376, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1380, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1384, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1385, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1388, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1392, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1396, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1400, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1404, [0:0] +triggerElapsedUs = scalar, U32, 1408, "", 1, 0 +; total TS size = 1412 +crankSynchronizationCounter0 = scalar, U32, 1412, "", 1, 0 +vvtSyncGapRatio0 = scalar, F32, 1416, "", 1, 0 +vvtToothDurations00 = scalar, U32, 1420, "us", 1, 0 +vvtCurrentPosition0 = scalar, F32, 1424, "sync: Primary Cam Position", 1, 0 +vvtToothPosition10 = scalar, F32, 1428, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition20 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition30 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition40 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio0 = scalar, F32, 1444, "", 1, 0 +triggerStateIndex0 = scalar, U08, 1448, "", 1, 0 +vvtStateIndex0 = scalar, U08, 1449, "", 1, 0 +; total TS size = 1452 +crankSynchronizationCounter1 = scalar, U32, 1452, "", 1, 0 +vvtSyncGapRatio1 = scalar, F32, 1456, "", 1, 0 +vvtToothDurations01 = scalar, U32, 1460, "us", 1, 0 +vvtCurrentPosition1 = scalar, F32, 1464, "sync: Primary Cam Position", 1, 0 +vvtToothPosition11 = scalar, F32, 1468, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition21 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition31 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition41 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio1 = scalar, F32, 1484, "", 1, 0 +triggerStateIndex1 = scalar, U08, 1488, "", 1, 0 +vvtStateIndex1 = scalar, U08, 1489, "", 1, 0 +; total TS size = 1492 +crankSynchronizationCounter2 = scalar, U32, 1492, "", 1, 0 +vvtSyncGapRatio2 = scalar, F32, 1496, "", 1, 0 +vvtToothDurations02 = scalar, U32, 1500, "us", 1, 0 +vvtCurrentPosition2 = scalar, F32, 1504, "sync: Primary Cam Position", 1, 0 +vvtToothPosition12 = scalar, F32, 1508, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition22 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition32 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition42 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio2 = scalar, F32, 1524, "", 1, 0 +triggerStateIndex2 = scalar, U08, 1528, "", 1, 0 +vvtStateIndex2 = scalar, U08, 1529, "", 1, 0 +; total TS size = 1532 +crankSynchronizationCounter3 = scalar, U32, 1532, "", 1, 0 +vvtSyncGapRatio3 = scalar, F32, 1536, "", 1, 0 +vvtToothDurations03 = scalar, U32, 1540, "us", 1, 0 +vvtCurrentPosition3 = scalar, F32, 1544, "sync: Primary Cam Position", 1, 0 +vvtToothPosition13 = scalar, F32, 1548, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition23 = scalar, F32, 1552, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition33 = scalar, F32, 1556, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition43 = scalar, F32, 1560, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio3 = scalar, F32, 1564, "", 1, 0 +triggerStateIndex3 = scalar, U08, 1568, "", 1, 0 +vvtStateIndex3 = scalar, U08, 1569, "", 1, 0 +; total TS size = 1572 +crankSynchronizationCounter4 = scalar, U32, 1572, "", 1, 0 +vvtSyncGapRatio4 = scalar, F32, 1576, "", 1, 0 +vvtToothDurations04 = scalar, U32, 1580, "us", 1, 0 +vvtCurrentPosition4 = scalar, F32, 1584, "sync: Primary Cam Position", 1, 0 +vvtToothPosition14 = scalar, F32, 1588, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition24 = scalar, F32, 1592, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition34 = scalar, F32, 1596, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition44 = scalar, F32, 1600, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio4 = scalar, F32, 1604, "", 1, 0 +triggerStateIndex4 = scalar, U08, 1608, "", 1, 0 +vvtStateIndex4 = scalar, U08, 1609, "", 1, 0 +; total TS size = 1612 +camResyncCounter = scalar, U08, 1612, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1616, [0:0] +; total TS size = 1620 +wallFuelCorrection = scalar, F32, 1620, "", 1, 0 +wallFuel = scalar, F32, 1624, "", 1, 0 +; total TS size = 1628 +idleState = bits, S32, 1628, [0:2], "not important" +currentIdlePosition = scalar, F32, 1632 +baseIdlePosition = scalar, F32, 1636 +idleClosedLoop = scalar, F32, 1640 +iacByTpsTaper = scalar, F32, 1644 +throttlePedalUpState = scalar, S32, 1648, "", 1, 0 +mightResetPid = bits, U32, 1652, [0:0] +shouldResetPid = bits, U32, 1652, [1:1] +wasResetPid = bits, U32, 1652, [2:2] +mustResetPid = bits, U32, 1652, [3:3] +isCranking = bits, U32, 1652, [4:4] +isIacTableForCoasting = bits, U32, 1652, [5:5] +notIdling = bits, U32, 1652, [6:6] +needReset = bits, U32, 1652, [7:7] +isInDeadZone = bits, U32, 1652, [8:8] +isBlipping = bits, U32, 1652, [9:9] +useClosedLoop = bits, U32, 1652, [10:10] +badTps = bits, U32, 1652, [11:11] +looksLikeRunning = bits, U32, 1652, [12:12] +looksLikeCoasting = bits, U32, 1652, [13:13] +looksLikeCrankToIdle = bits, U32, 1652, [14:14] +isIdleCoasting = bits, U32, 1652, [15:15] +isIdleClosedLoop = bits, U32, 1652, [16:16] +idleTarget = scalar, S32, 1656, "", 1, 0 +targetRpmByClt = scalar, S32, 1660, "", 1, 0 +targetRpmAc = scalar, S32, 1664, "", 1, 0 +iacByRpmTaper = scalar, F32, 1668 +luaAdd = scalar, F32, 1672 +; total TS size = 1676 +targetWithIdlePosition0 = scalar, F32, 1676, "per", 1,0 +trim0 = scalar, F32, 1680, "", 1, 0 +luaAdjustment0 = scalar, F32, 1684, "per", 1,0 +m_wastegatePosition0 = scalar, F32, 1688, "per", 1,0 +etbFeedForward0 = scalar, F32, 1692 +etbIntegralError0 = scalar, F32, 1696, "", 1, 0 +etbCurrentTarget0 = scalar, F32, 1700, "%", 1, 0 +etbCurrentAdjustedTarget0 = scalar, F32, 1704, "%", 1, 0 +etbRevLimitActive0 = bits, U32, 1708, [0:0] +jamDetected0 = bits, U32, 1708, [1:1] +etbTpsErrorCounter0 = scalar, U16, 1712, "count", 1,0 +etbPpsErrorCounter0 = scalar, U16, 1714, "count", 1,0 +etbErrorCode0 = scalar, S08, 1716, "", 1, 0 +tcEtbDrop0 = scalar, S08, 1717, "%", 1, 0 +jamTimer0 = scalar, U16, 1718, "sec", 0.01, 0 +adjustedEtbTarget0 = scalar, S08, 1720, "%", 1, 0 +; total TS size = 1724 +targetWithIdlePosition1 = scalar, F32, 1724, "per", 1,0 +trim1 = scalar, F32, 1728, "", 1, 0 +luaAdjustment1 = scalar, F32, 1732, "per", 1,0 +m_wastegatePosition1 = scalar, F32, 1736, "per", 1,0 +etbFeedForward1 = scalar, F32, 1740 +etbIntegralError1 = scalar, F32, 1744, "", 1, 0 +etbCurrentTarget1 = scalar, F32, 1748, "%", 1, 0 +etbCurrentAdjustedTarget1 = scalar, F32, 1752, "%", 1, 0 +etbRevLimitActive1 = bits, U32, 1756, [0:0] +jamDetected1 = bits, U32, 1756, [1:1] +etbTpsErrorCounter1 = scalar, U16, 1760, "count", 1,0 +etbPpsErrorCounter1 = scalar, U16, 1762, "count", 1,0 +etbErrorCode1 = scalar, S08, 1764, "", 1, 0 +tcEtbDrop1 = scalar, S08, 1765, "%", 1, 0 +jamTimer1 = scalar, U16, 1766, "sec", 0.01, 0 +adjustedEtbTarget1 = scalar, S08, 1768, "%", 1, 0 +; total TS size = 1772 +faultCode0 = scalar, U08, 1772, "", 1, 0 +heaterDuty0 = scalar, U08, 1773, "%", 1, 0 +pumpDuty0 = scalar, U08, 1774, "%", 1, 0 +tempC0 = scalar, U16, 1776, "C", 1, 0 +nernstVoltage0 = scalar, U16, 1778, "V", 0.001, 0 +esr0 = scalar, U16, 1780, "ohm", 1, 0 +; total TS size = 1784 +faultCode1 = scalar, U08, 1784, "", 1, 0 +heaterDuty1 = scalar, U08, 1785, "%", 1, 0 +pumpDuty1 = scalar, U08, 1786, "%", 1, 0 +tempC1 = scalar, U16, 1788, "C", 1, 0 +nernstVoltage1 = scalar, U16, 1790, "V", 0.001, 0 +esr1 = scalar, U16, 1792, "ohm", 1, 0 +; total TS size = 1796 +dcOutput0 = scalar, F32, 1796, "per", 1,0 +isEnabled0_int = scalar, U08, 1800, "per", 1,0 +isEnabled0 = bits, U32, 1804, [0:0] +; total TS size = 1808 +value0 = scalar, U16, 1808, "value", 1,0 +value1 = scalar, U16, 1810, "value", 1,0 +errorRate = scalar, F32, 1812, "ratio", 1,0 +; total TS size = 1816 +vvtTarget = scalar, U16, 1816, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1818, "%", 0.5, 0 +; total TS size = 1820 +lambdaCurrentlyGood = bits, U32, 1820, [0:0] +lambdaMonitorCut = bits, U32, 1820, [1:1] +lambdaTimeSinceGood = scalar, U16, 1824, "sec", 0.01, 0 +; total TS size = 1828 time = { timeNow } @@ -3616,6 +3648,7 @@ lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs8 requiresPowerCycle = cylinderBore + requiresPowerCycle = knockFrequency readOnly = warning_message readOnly = device_uid1 @@ -5033,6 +5066,26 @@ gaugeCategory = Knock knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knockSpectrumChannelCylGauge = m_knockSpectrumChannelCyl, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStartGauge = m_knockFrequencyStart, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStepGauge = m_knockFrequencyStep, "Knock Frequency Step", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFuelTrimMultiplier = m_knockFuelTrimMultiplier, "Knock Fuel Trim", "mult", 0, 0, 0, 0, 0, 30, 1, 1 + knockSpectrum1 = m_knockSpectrum1, "Knock Spectrum1", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum2 = m_knockSpectrum2, "knockSpectrum2", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum3 = m_knockSpectrum3, "knockSpectrum3", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum4 = m_knockSpectrum4, "knockSpectrum4", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum5 = m_knockSpectrum5, "knockSpectrum5", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum6 = m_knockSpectrum6, "knockSpectrum6", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum7 = m_knockSpectrum7, "knockSpectrum7", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum8 = m_knockSpectrum8, "knockSpectrum8", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum9 = m_knockSpectrum9, "knockSpectrum9", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum10 = m_knockSpectrum10, "knockSpectrum10", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum11 = m_knockSpectrum11, "knockSpectrum11", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum12 = m_knockSpectrum12, "knockSpectrum12", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum13 = m_knockSpectrum13, "knockSpectrum13", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum14 = m_knockSpectrum14, "knockSpectrum14", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum15 = m_knockSpectrum15, "knockSpectrum15", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum16 = m_knockSpectrum16, "knockSpectrum16", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -5631,6 +5684,26 @@ entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" entry = m_knockCount, "Knock: Count", int, "%d" entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_knockFrequency, "knock: frequency", int, "%d" +entry = m_knockSpectrum1, "Knock: SpectrumData 1", int, "%d" +entry = m_knockSpectrum2, "Knock: SpectrumData 2", int, "%d" +entry = m_knockSpectrum3, "Knock: SpectrumData 3", int, "%d" +entry = m_knockSpectrum4, "Knock: SpectrumData 4", int, "%d" +entry = m_knockSpectrum5, "Knock: SpectrumData 5", int, "%d" +entry = m_knockSpectrum6, "Knock: SpectrumData 6", int, "%d" +entry = m_knockSpectrum7, "Knock: SpectrumData 7", int, "%d" +entry = m_knockSpectrum8, "Knock: SpectrumData 8", int, "%d" +entry = m_knockSpectrum9, "Knock: SpectrumData 9", int, "%d" +entry = m_knockSpectrum10, "Knock: SpectrumData 10", int, "%d" +entry = m_knockSpectrum11, "Knock: SpectrumData 11", int, "%d" +entry = m_knockSpectrum12, "Knock: SpectrumData 12", int, "%d" +entry = m_knockSpectrum13, "Knock: SpectrumData 13", int, "%d" +entry = m_knockSpectrum14, "Knock: SpectrumData 14", int, "%d" +entry = m_knockSpectrum15, "Knock: SpectrumData 15", int, "%d" +entry = m_knockSpectrum16, "Knock: SpectrumData 16", int, "%d" +entry = m_knockSpectrumChannelCyl, "Knock: ChannelAndCylNumber", int, "%d" +entry = m_knockFrequencyStart, "Knock: Start Freq", int, "%d" +entry = m_knockFrequencyStep, "Knock: Step Freq", float, "%.3f" +entry = m_knockFuelTrimMultiplier, "Knock: Fuel trim when knock", float, "%.3f" entry = tcuCurrentGear, "TCU: Current Gear", int, "%d" entry = tcRatio, "TCU: Torque Converter Ratio", float, "%.3f" entry = lastShiftTime, "lastShiftTime", float, "%.3f" @@ -6527,6 +6600,31 @@ dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard graphLine = m_knockFrequency + graphLine = m_knockSpectrum1 + graphLine = m_knockSpectrum2 + liveGraph = knock_controller_6_Graph, "Graph", South + graphLine = m_knockSpectrum3 + graphLine = m_knockSpectrum4 + graphLine = m_knockSpectrum5 + graphLine = m_knockSpectrum6 + liveGraph = knock_controller_7_Graph, "Graph", South + graphLine = m_knockSpectrum7 + graphLine = m_knockSpectrum8 + graphLine = m_knockSpectrum9 + graphLine = m_knockSpectrum10 + liveGraph = knock_controller_8_Graph, "Graph", South + graphLine = m_knockSpectrum11 + graphLine = m_knockSpectrum12 + graphLine = m_knockSpectrum13 + graphLine = m_knockSpectrum14 + liveGraph = knock_controller_9_Graph, "Graph", South + graphLine = m_knockSpectrum15 + graphLine = m_knockSpectrum16 + graphLine = m_knockSpectrumChannelCyl + graphLine = m_knockFrequencyStart + liveGraph = knock_controller_10_Graph, "Graph", South + graphLine = m_knockFrequencyStep + graphLine = m_knockFuelTrimMultiplier indicatorPanel = tcu_controllerIndicatorPanel, 2 indicator = {isShifting}, "isShifting No", "isShifting Yes" @@ -8587,9 +8685,13 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockCfg, "Sense" field = "Enable", enableSoftwareKnock field = "Cylinder Bore", cylinderBore, {enableSoftwareKnock} + field = "Estimated Knock Frequency",knockFrequency, {enableSoftwareKnock} field = "Detection mode", knockDetectionUseDoubleFrequency field = "Detection Window Start",knockDetectionWindowStart, {enableSoftwareKnock} field = "Sampling Duration", knockSamplingDuration, {enableSoftwareKnock} + field = "Enable Knock Spectrogram", enableKnockSpectrogram, {enableSoftwareKnock} + field = "Enable Knock Spectrogram Filter", enableKnockSpectrogramFilter, {enableKnockSpectrogram} + field = "Knock Spectrum Sensitivity", knockSpectrumSensitivity, {enableKnockSpectrogram} field = "" field = "Select the nearest sensor for each cylinder" @@ -8609,6 +8711,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockResponseCfg, "Response" field = knockRetardAggression, knockRetardAggression field = knockRetardReapplyRate, knockRetardReapplyRate + field = knockFuelTrimAggression, knockFuelTrimAggression + field = knockFuelTrimReapplyRate, knockFuelTrimReapplyRate + field = knockFuelTrim, knockFuelTrim + field = knockSuppressMinTps, knockSuppressMinTps dialog = softwareKnockLeft, "" panel = softwareKnockCfg diff --git a/firmware/tunerstudio/generated/rusefi_stm32f429_nucleo.ini b/firmware/tunerstudio/generated/rusefi_stm32f429_nucleo.ini index bc6420ac47..cfde6cafbf 100644 --- a/firmware/tunerstudio/generated/rusefi_stm32f429_nucleo.ini +++ b/firmware/tunerstudio/generated/rusefi_stm32f429_nucleo.ini @@ -38,12 +38,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.10.21.stm32f429_nucleo.2262948377" + signature = "rusEFI master.2024.10.21.stm32f429_nucleo.1523155174" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.10.21.stm32f429_nucleo.2262948377" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.10.21.stm32f429_nucleo.1523155174" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -774,6 +774,7 @@ devBit7 = bits, U32, 1492, [27:27], "false", "true" unusedSkipWasHere = bits, U32, 1492, [28:28], "false", "true" invertExhaustCamVVTSignal = bits, U32, 1492, [29:29], "Rising", "Falling" enableKnockSpectrogram = bits, U32, 1492, [30:30], "false", "true" +enableKnockSpectrogramFilter = bits, U32, 1492, [31:31], "false", "true" afterCrankingIACtaperDuration = scalar, S16, 1496, "cycles", 1, 0, 0, 5000, 0 iacByTpsTaper = scalar, S16, 1498, "percent", 1, 0, 0, 500, 0 unusedAuxSeria = bits, U16, 1500, [0:8], $gpio_list @@ -1394,7 +1395,13 @@ auxLinear4_v1 = scalar, F32, 3880, "volts", 1, 0, 0, 10, 2 auxLinear4_value1 = scalar, F32, 3884, "", 1, 0, -100000, 1000000, 2 auxLinear4_v2 = scalar, F32, 3888, "volts", 1, 0, 0, 10, 2 auxLinear4_value2 = scalar, F32, 3892, "", 1, 0, -100000, 1000000, 2 -unusedOftenChangesDuringFirmwareUpdate = array, U08, 3896, [128], "units", 1, 0, 0, 1, 0 +knockSuppressMinTps = scalar, U08, 3896, "%", 1, 0, 0, 100, 1 +knockFuelTrimAggression = scalar, U08, 3897, "%", 0.1, 0, 0, 20, 1 +knockFuelTrimReapplyRate = scalar, U08, 3898, "deg/s", 0.1, 0, 0, 10, 1 +knockFuelTrim = scalar, U08, 3899, "%", 1, 0, 0, 30, 1 +knockSpectrumSensitivity = scalar, F32, 3900, "sense", 1, 0, 0, 1, 2 +knockFrequency = scalar, F32, 3904, "Hz", 1, 0, 0, 20000, 2 +unusedOftenChangesDuringFirmwareUpdate = array, U08, 3908, [116], "units", 1, 0, 0, 1, 0 postCrankingFactor = array, F32, 4024, [6x6], "mult", 1, 0, 1, 3, 2 postCrankingDurationBins = array, F32, 4168, [6], "count", 1, 0, 0, 1000, 0 postCrankingCLTBins = array, S16, 4192, [6], "C", 1, 0, -100, 250, 0 @@ -2448,6 +2455,11 @@ minimumOilPressureValues = array, U08, 22960, [8], "kPa", 10.0, 0, 0, 1000, 0 minAcPressure = "value of A/C pressure in kPa before that compressor is disengaged" maxAcPressure = "value of A/C pressure in kPa after that compressor is disengaged" minimumOilPressureTimeout = "Delay before cutting fuel due to low oil pressure. Use this to ignore short pressure blips and sensor noise." + knockSuppressMinTps = "Below TPS value all knock suppression will be disabled." + knockFuelTrimAggression = "Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump)," + knockFuelTrimReapplyRate = "After a knock event, reapply fuel at this rate." + knockFuelTrim = "Fuel trim when knock, max 30%" + knockFrequency = "Estimated knock frequency, ignore cylinderBore if this one > 0" etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, open loop component of PID closed loop control" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2560,7 +2572,7 @@ minimumOilPressureValues = array, U08, 22960, [8], "kPa", 10.0, 0, 0, 1000, 0 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1752 + ochBlockSize = 1828 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3101,370 +3113,390 @@ m_knockThreshold = scalar, F32, 960, "", 1, 0 m_knockCount = scalar, U32, 964, "", 1, 0 m_maximumRetard = scalar, F32, 968, "", 1, 0 m_knockFrequency = scalar, U32, 972, "Hz", 1, 0 -; total TS size = 976 -tcuCurrentGear = scalar, S08, 976, "gear", 1, 0 -tcRatio = scalar, U16, 978, "value", 0.01, 0 -lastShiftTime = scalar, F32, 980, "", 1, 0 -tcu_currentRange = scalar, U08, 984, "", 1, 0 -pressureControlDuty = scalar, S08, 985, "%", 1,0 -torqueConverterDuty = scalar, S08, 986, "%", 1,0 -isShifting = bits, U32, 988, [0:0] -; total TS size = 992 -throttleUseWotModel = bits, U32, 992, [0:0] -throttleModelCrossoverAngle = scalar, S16, 996, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1000, "g/s", 1, 0 -; total TS size = 1004 -m_requested_pump = scalar, F32, 1004, "", 1, 0 -fuel_requested_percent = scalar, F32, 1008, "", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1012, "", 1, 0 -noValve = bits, U32, 1016, [0:0] -angleAboveMin = bits, U32, 1016, [1:1] -isHpfpInactive = bits, U32, 1016, [2:2] -m_pressureTarget_kPa = scalar, F32, 1020, "", 1, 0 -nextLobe = scalar, F32, 1024, "", 1, 0 -di_nextStart = scalar, F32, 1028, "v", 1, 0 -; total TS size = 1032 -m_deadtime = scalar, F32, 1032, "ms", 1, 0 -pressureDelta = scalar, F32, 1036, "kPa", 1, 0 -pressureRatio = scalar, F32, 1040, "", 1, 0 -; total TS size = 1044 -retardThresholdRpm = scalar, S32, 1044, "", 1, 0 -launchActivatePinState = bits, U32, 1048, [0:0] -isPreLaunchCondition = bits, U32, 1048, [1:1] -isLaunchCondition = bits, U32, 1048, [2:2] -isSwitchActivated = bits, U32, 1048, [3:3] -isClutchActivated = bits, U32, 1048, [4:4] -isBrakePedalActivated = bits, U32, 1048, [5:5] -isValidInputPin = bits, U32, 1048, [6:6] -activateSwitchCondition = bits, U32, 1048, [7:7] -rpmLaunchCondition = bits, U32, 1048, [8:8] -rpmPreLaunchCondition = bits, U32, 1048, [9:9] -speedCondition = bits, U32, 1048, [10:10] -tpsCondition = bits, U32, 1048, [11:11] +m_knockSpectrum1 = scalar, U32, 976, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 980, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 984, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 988, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1040, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1042, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1044, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1048, "multiplier", 1, 0 ; total TS size = 1052 -isTorqueReductionTriggerPinValid = bits, U32, 1052, [0:0] -torqueReductionTriggerPinState = bits, U32, 1052, [1:1] -isTimeConditionSatisfied = bits, U32, 1052, [2:2] -isRpmConditionSatisfied = bits, U32, 1052, [3:3] -isAppConditionSatisfied = bits, U32, 1052, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1052, [5:5] -; total TS size = 1056 -isAntilagCondition = bits, U32, 1056, [0:0] -ALSMinRPMCondition = bits, U32, 1056, [1:1] -ALSMaxRPMCondition = bits, U32, 1056, [2:2] -ALSMinCLTCondition = bits, U32, 1056, [3:3] -ALSMaxCLTCondition = bits, U32, 1056, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1056, [5:5] -isALSSwitchActivated = bits, U32, 1056, [6:6] -ALSActivatePinState = bits, U32, 1056, [7:7] -ALSSwitchCondition = bits, U32, 1056, [8:8] -ALSTimerCondition = bits, U32, 1056, [9:9] -fuelALSCorrection = scalar, F32, 1060, "", 1, 0 -timingALSCorrection = scalar, S16, 1064, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1066, "deg", 0.01, 0 +tcuCurrentGear = scalar, S08, 1052, "gear", 1, 0 +tcRatio = scalar, U16, 1054, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1056, "", 1, 0 +tcu_currentRange = scalar, U08, 1060, "", 1, 0 +pressureControlDuty = scalar, S08, 1061, "%", 1,0 +torqueConverterDuty = scalar, S08, 1062, "%", 1,0 +isShifting = bits, U32, 1064, [0:0] ; total TS size = 1068 -isTpsInvalid = bits, U32, 1068, [0:0] -m_shouldResetPid = bits, U32, 1068, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1068, [2:2] -isNotClosedLoop = bits, U32, 1068, [3:3] -isZeroRpm = bits, U32, 1068, [4:4] -hasInitBoost = bits, U32, 1068, [5:5] -rpmTooLow = bits, U32, 1068, [6:6] -tpsTooLow = bits, U32, 1068, [7:7] -mapTooLow = bits, U32, 1068, [8:8] -isPlantValid = bits, U32, 1068, [9:9] -isBoostControlled = bits, U32, 1068, [10:10] -luaTargetAdd = scalar, S16, 1072, "v", 0.5,0 -boostOutput = scalar, S16, 1074, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1076, "v", 1,0 -openLoopPart = scalar, F32, 1080, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1084, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1088, "%", 0.5,0 -boostControlTarget = scalar, S16, 1090, "kPa", 0.03333333333333333,0 -; total TS size = 1092 -acButtonState = scalar, S08, 1092, "", 1, 0 -m_acEnabled = bits, U32, 1096, [0:0] -engineTooSlow = bits, U32, 1096, [1:1] -engineTooFast = bits, U32, 1096, [2:2] -noClt = bits, U32, 1096, [3:3] -engineTooHot = bits, U32, 1096, [4:4] -tpsTooHigh = bits, U32, 1096, [5:5] -isDisabledByLua = bits, U32, 1096, [6:6] -acCompressorState = bits, U32, 1096, [7:7] -acPressureTooLow = bits, U32, 1096, [8:8] -acPressureTooHigh = bits, U32, 1096, [9:9] -; total TS size = 1100 -cranking0 = bits, U32, 1100, [0:0] -notRunning0 = bits, U32, 1100, [1:1] -disabledWhileEngineStopped0 = bits, U32, 1100, [2:2] -brokenClt0 = bits, U32, 1100, [3:3] -enabledForAc0 = bits, U32, 1100, [4:4] -hot0 = bits, U32, 1100, [5:5] -cold0 = bits, U32, 1100, [6:6] -disabledBySpeed0 = bits, U32, 1100, [7:7] -radiatorFanStatus0 = scalar, U08, 1104, "", 1, 0 +throttleUseWotModel = bits, U32, 1068, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1072, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1076, "g/s", 1, 0 +; total TS size = 1080 +m_requested_pump = scalar, F32, 1080, "", 1, 0 +fuel_requested_percent = scalar, F32, 1084, "", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1088, "", 1, 0 +noValve = bits, U32, 1092, [0:0] +angleAboveMin = bits, U32, 1092, [1:1] +isHpfpInactive = bits, U32, 1092, [2:2] +m_pressureTarget_kPa = scalar, F32, 1096, "", 1, 0 +nextLobe = scalar, F32, 1100, "", 1, 0 +di_nextStart = scalar, F32, 1104, "v", 1, 0 ; total TS size = 1108 -cranking1 = bits, U32, 1108, [0:0] -notRunning1 = bits, U32, 1108, [1:1] -disabledWhileEngineStopped1 = bits, U32, 1108, [2:2] -brokenClt1 = bits, U32, 1108, [3:3] -enabledForAc1 = bits, U32, 1108, [4:4] -hot1 = bits, U32, 1108, [5:5] -cold1 = bits, U32, 1108, [6:6] -disabledBySpeed1 = bits, U32, 1108, [7:7] -radiatorFanStatus1 = scalar, U08, 1112, "", 1, 0 -; total TS size = 1116 -isPrime = bits, U32, 1116, [0:0] -engineTurnedRecently = bits, U32, 1116, [1:1] -isFuelPumpOn = bits, U32, 1116, [2:2] -ignitionOn = bits, U32, 1116, [3:3] +m_deadtime = scalar, F32, 1108, "ms", 1, 0 +pressureDelta = scalar, F32, 1112, "kPa", 1, 0 +pressureRatio = scalar, F32, 1116, "", 1, 0 ; total TS size = 1120 -isBenchTest = bits, U32, 1120, [0:0] -hasIgnitionVoltage = bits, U32, 1120, [1:1] -mainRelayState = bits, U32, 1120, [2:2] -delayedShutoffRequested = bits, U32, 1120, [3:3] -; total TS size = 1124 -lua_fuelAdd = scalar, F32, 1124, "g", 1, 0 -lua_fuelMult = scalar, F32, 1128, "", 1, 0 -lua_clutchUpState = bits, U32, 1132, [0:0] -lua_brakePedalState = bits, U32, 1132, [1:1] -lua_acRequestState = bits, U32, 1132, [2:2] -lua_luaDisableEtb = bits, U32, 1132, [3:3] -lua_luaIgnCut = bits, U32, 1132, [4:4] -lua_luaFuelCut = bits, U32, 1132, [5:5] -lua_clutchDownState = bits, U32, 1132, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1132, [7:7] -sd_tCharge = scalar, S16, 1136, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1140, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1144, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1148, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1152, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1156, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1160, "", 1, 0 -hellenBoardId = scalar, S16, 1164, "id", 1, 0 -clutchUpState = scalar, S08, 1166, "", 1, 0 -clutchDownState = scalar, S08, 1167, "", 1, 0 -brakePedalState = scalar, S08, 1168, "", 1, 0 -startStopState = scalar, S08, 1169, "", 1, 0 -smartChipState = scalar, S08, 1170, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1171, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1172, "", 1, 0 -startStopPhysicalState = bits, U32, 1176, [0:0] -acrActive = bits, U32, 1176, [1:1] -acrEngineMovedRecently = bits, U32, 1176, [2:2] -heaterControlEnabled = bits, U32, 1176, [3:3] -luaDigitalState0 = bits, U32, 1176, [4:4] -luaDigitalState1 = bits, U32, 1176, [5:5] -luaDigitalState2 = bits, U32, 1176, [6:6] -luaDigitalState3 = bits, U32, 1176, [7:7] -startStopStateToggleCounter = scalar, U32, 1180, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1184, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1188, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1192, "", 1, 0 -desiredRpmLimit = scalar, S16, 1196, "rpm", 1, 0 -fuelInjectionCounter = scalar, U32, 1200, "", 1, 0 -globalSparkCounter = scalar, U32, 1204, "", 1, 0 -fuelingLoad = scalar, F32, 1208, "", 1, 0 -ignitionLoad = scalar, F32, 1212, "", 1, 0 -veTableYAxis = scalar, U16, 1216, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1218, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1219, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1220, "", 1, 0 -; total TS size = 1224 -tpsFrom = scalar, F32, 1224 -tpsTo = scalar, F32, 1228 -deltaTps = scalar, F32, 1232 -extraFuel = scalar, F32, 1236, "", 1, 0 -valueFromTable = scalar, F32, 1240, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1244, [0:0] -isBelowDecelThreshold = bits, U32, 1244, [1:1] -isTimeToResetAccumulator = bits, U32, 1244, [2:2] -isFractionalEnrichment = bits, U32, 1244, [3:3] -belowEpsilon = bits, U32, 1244, [4:4] -tooShort = bits, U32, 1244, [5:5] -fractionalInjFuel = scalar, F32, 1248, "", 1, 0 -accumulatedValue = scalar, F32, 1252, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1256, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1260, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1264, "", 1, 0 -cycleCnt = scalar, S32, 1268, "", 1, 0 -; total TS size = 1272 -hwEventCounters1 = scalar, U32, 1272, "", 1, 0 -hwEventCounters2 = scalar, U32, 1276, "", 1, 0 -hwEventCounters3 = scalar, U32, 1280, "", 1, 0 -hwEventCounters4 = scalar, U32, 1284, "", 1, 0 -hwEventCounters5 = scalar, U32, 1288, "", 1, 0 -hwEventCounters6 = scalar, U32, 1292, "", 1, 0 -vvtCamCounter = scalar, U32, 1296, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1300, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1304, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1308, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1309, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1312, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1316, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1320, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1324, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1328, [0:0] -triggerElapsedUs = scalar, U32, 1332, "", 1, 0 -; total TS size = 1336 -crankSynchronizationCounter0 = scalar, U32, 1336, "", 1, 0 -vvtSyncGapRatio0 = scalar, F32, 1340, "", 1, 0 -vvtToothDurations00 = scalar, U32, 1344, "us", 1, 0 -vvtCurrentPosition0 = scalar, F32, 1348, "sync: Primary Cam Position", 1, 0 -vvtToothPosition10 = scalar, F32, 1352, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition20 = scalar, F32, 1356, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition30 = scalar, F32, 1360, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition40 = scalar, F32, 1364, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio0 = scalar, F32, 1368, "", 1, 0 -triggerStateIndex0 = scalar, U08, 1372, "", 1, 0 -vvtStateIndex0 = scalar, U08, 1373, "", 1, 0 -; total TS size = 1376 -crankSynchronizationCounter1 = scalar, U32, 1376, "", 1, 0 -vvtSyncGapRatio1 = scalar, F32, 1380, "", 1, 0 -vvtToothDurations01 = scalar, U32, 1384, "us", 1, 0 -vvtCurrentPosition1 = scalar, F32, 1388, "sync: Primary Cam Position", 1, 0 -vvtToothPosition11 = scalar, F32, 1392, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition21 = scalar, F32, 1396, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition31 = scalar, F32, 1400, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition41 = scalar, F32, 1404, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio1 = scalar, F32, 1408, "", 1, 0 -triggerStateIndex1 = scalar, U08, 1412, "", 1, 0 -vvtStateIndex1 = scalar, U08, 1413, "", 1, 0 -; total TS size = 1416 -crankSynchronizationCounter2 = scalar, U32, 1416, "", 1, 0 -vvtSyncGapRatio2 = scalar, F32, 1420, "", 1, 0 -vvtToothDurations02 = scalar, U32, 1424, "us", 1, 0 -vvtCurrentPosition2 = scalar, F32, 1428, "sync: Primary Cam Position", 1, 0 -vvtToothPosition12 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition22 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition32 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition42 = scalar, F32, 1444, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio2 = scalar, F32, 1448, "", 1, 0 -triggerStateIndex2 = scalar, U08, 1452, "", 1, 0 -vvtStateIndex2 = scalar, U08, 1453, "", 1, 0 -; total TS size = 1456 -crankSynchronizationCounter3 = scalar, U32, 1456, "", 1, 0 -vvtSyncGapRatio3 = scalar, F32, 1460, "", 1, 0 -vvtToothDurations03 = scalar, U32, 1464, "us", 1, 0 -vvtCurrentPosition3 = scalar, F32, 1468, "sync: Primary Cam Position", 1, 0 -vvtToothPosition13 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition23 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition33 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition43 = scalar, F32, 1484, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio3 = scalar, F32, 1488, "", 1, 0 -triggerStateIndex3 = scalar, U08, 1492, "", 1, 0 -vvtStateIndex3 = scalar, U08, 1493, "", 1, 0 -; total TS size = 1496 -crankSynchronizationCounter4 = scalar, U32, 1496, "", 1, 0 -vvtSyncGapRatio4 = scalar, F32, 1500, "", 1, 0 -vvtToothDurations04 = scalar, U32, 1504, "us", 1, 0 -vvtCurrentPosition4 = scalar, F32, 1508, "sync: Primary Cam Position", 1, 0 -vvtToothPosition14 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition24 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition34 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition44 = scalar, F32, 1524, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio4 = scalar, F32, 1528, "", 1, 0 -triggerStateIndex4 = scalar, U08, 1532, "", 1, 0 -vvtStateIndex4 = scalar, U08, 1533, "", 1, 0 -; total TS size = 1536 -camResyncCounter = scalar, U08, 1536, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1540, [0:0] -; total TS size = 1544 -wallFuelCorrection = scalar, F32, 1544, "", 1, 0 -wallFuel = scalar, F32, 1548, "", 1, 0 -; total TS size = 1552 -idleState = bits, S32, 1552, [0:2], "not important" -currentIdlePosition = scalar, F32, 1556 -baseIdlePosition = scalar, F32, 1560 -idleClosedLoop = scalar, F32, 1564 -iacByTpsTaper = scalar, F32, 1568 -throttlePedalUpState = scalar, S32, 1572, "", 1, 0 -mightResetPid = bits, U32, 1576, [0:0] -shouldResetPid = bits, U32, 1576, [1:1] -wasResetPid = bits, U32, 1576, [2:2] -mustResetPid = bits, U32, 1576, [3:3] -isCranking = bits, U32, 1576, [4:4] -isIacTableForCoasting = bits, U32, 1576, [5:5] -notIdling = bits, U32, 1576, [6:6] -needReset = bits, U32, 1576, [7:7] -isInDeadZone = bits, U32, 1576, [8:8] -isBlipping = bits, U32, 1576, [9:9] -useClosedLoop = bits, U32, 1576, [10:10] -badTps = bits, U32, 1576, [11:11] -looksLikeRunning = bits, U32, 1576, [12:12] -looksLikeCoasting = bits, U32, 1576, [13:13] -looksLikeCrankToIdle = bits, U32, 1576, [14:14] -isIdleCoasting = bits, U32, 1576, [15:15] -isIdleClosedLoop = bits, U32, 1576, [16:16] -idleTarget = scalar, S32, 1580, "", 1, 0 -targetRpmByClt = scalar, S32, 1584, "", 1, 0 -targetRpmAc = scalar, S32, 1588, "", 1, 0 -iacByRpmTaper = scalar, F32, 1592 -luaAdd = scalar, F32, 1596 -; total TS size = 1600 -targetWithIdlePosition0 = scalar, F32, 1600, "per", 1,0 -trim0 = scalar, F32, 1604, "", 1, 0 -luaAdjustment0 = scalar, F32, 1608, "per", 1,0 -m_wastegatePosition0 = scalar, F32, 1612, "per", 1,0 -etbFeedForward0 = scalar, F32, 1616 -etbIntegralError0 = scalar, F32, 1620, "", 1, 0 -etbCurrentTarget0 = scalar, F32, 1624, "%", 1, 0 -etbCurrentAdjustedTarget0 = scalar, F32, 1628, "%", 1, 0 -etbRevLimitActive0 = bits, U32, 1632, [0:0] -jamDetected0 = bits, U32, 1632, [1:1] -etbTpsErrorCounter0 = scalar, U16, 1636, "count", 1,0 -etbPpsErrorCounter0 = scalar, U16, 1638, "count", 1,0 -etbErrorCode0 = scalar, S08, 1640, "", 1, 0 -tcEtbDrop0 = scalar, S08, 1641, "%", 1, 0 -jamTimer0 = scalar, U16, 1642, "sec", 0.01, 0 -adjustedEtbTarget0 = scalar, S08, 1644, "%", 1, 0 -; total TS size = 1648 -targetWithIdlePosition1 = scalar, F32, 1648, "per", 1,0 -trim1 = scalar, F32, 1652, "", 1, 0 -luaAdjustment1 = scalar, F32, 1656, "per", 1,0 -m_wastegatePosition1 = scalar, F32, 1660, "per", 1,0 -etbFeedForward1 = scalar, F32, 1664 -etbIntegralError1 = scalar, F32, 1668, "", 1, 0 -etbCurrentTarget1 = scalar, F32, 1672, "%", 1, 0 -etbCurrentAdjustedTarget1 = scalar, F32, 1676, "%", 1, 0 -etbRevLimitActive1 = bits, U32, 1680, [0:0] -jamDetected1 = bits, U32, 1680, [1:1] -etbTpsErrorCounter1 = scalar, U16, 1684, "count", 1,0 -etbPpsErrorCounter1 = scalar, U16, 1686, "count", 1,0 -etbErrorCode1 = scalar, S08, 1688, "", 1, 0 -tcEtbDrop1 = scalar, S08, 1689, "%", 1, 0 -jamTimer1 = scalar, U16, 1690, "sec", 0.01, 0 -adjustedEtbTarget1 = scalar, S08, 1692, "%", 1, 0 -; total TS size = 1696 -faultCode0 = scalar, U08, 1696, "", 1, 0 -heaterDuty0 = scalar, U08, 1697, "%", 1, 0 -pumpDuty0 = scalar, U08, 1698, "%", 1, 0 -tempC0 = scalar, U16, 1700, "C", 1, 0 -nernstVoltage0 = scalar, U16, 1702, "V", 0.001, 0 -esr0 = scalar, U16, 1704, "ohm", 1, 0 -; total TS size = 1708 -faultCode1 = scalar, U08, 1708, "", 1, 0 -heaterDuty1 = scalar, U08, 1709, "%", 1, 0 -pumpDuty1 = scalar, U08, 1710, "%", 1, 0 -tempC1 = scalar, U16, 1712, "C", 1, 0 -nernstVoltage1 = scalar, U16, 1714, "V", 0.001, 0 -esr1 = scalar, U16, 1716, "ohm", 1, 0 -; total TS size = 1720 -dcOutput0 = scalar, F32, 1720, "per", 1,0 -isEnabled0_int = scalar, U08, 1724, "per", 1,0 -isEnabled0 = bits, U32, 1728, [0:0] -; total TS size = 1732 -value0 = scalar, U16, 1732, "value", 1,0 -value1 = scalar, U16, 1734, "value", 1,0 -errorRate = scalar, F32, 1736, "ratio", 1,0 -; total TS size = 1740 -vvtTarget = scalar, U16, 1740, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1742, "%", 0.5, 0 -; total TS size = 1744 -lambdaCurrentlyGood = bits, U32, 1744, [0:0] -lambdaMonitorCut = bits, U32, 1744, [1:1] -lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 -; total TS size = 1752 +retardThresholdRpm = scalar, S32, 1120, "", 1, 0 +launchActivatePinState = bits, U32, 1124, [0:0] +isPreLaunchCondition = bits, U32, 1124, [1:1] +isLaunchCondition = bits, U32, 1124, [2:2] +isSwitchActivated = bits, U32, 1124, [3:3] +isClutchActivated = bits, U32, 1124, [4:4] +isBrakePedalActivated = bits, U32, 1124, [5:5] +isValidInputPin = bits, U32, 1124, [6:6] +activateSwitchCondition = bits, U32, 1124, [7:7] +rpmLaunchCondition = bits, U32, 1124, [8:8] +rpmPreLaunchCondition = bits, U32, 1124, [9:9] +speedCondition = bits, U32, 1124, [10:10] +tpsCondition = bits, U32, 1124, [11:11] +; total TS size = 1128 +isTorqueReductionTriggerPinValid = bits, U32, 1128, [0:0] +torqueReductionTriggerPinState = bits, U32, 1128, [1:1] +isTimeConditionSatisfied = bits, U32, 1128, [2:2] +isRpmConditionSatisfied = bits, U32, 1128, [3:3] +isAppConditionSatisfied = bits, U32, 1128, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1128, [5:5] +; total TS size = 1132 +isAntilagCondition = bits, U32, 1132, [0:0] +ALSMinRPMCondition = bits, U32, 1132, [1:1] +ALSMaxRPMCondition = bits, U32, 1132, [2:2] +ALSMinCLTCondition = bits, U32, 1132, [3:3] +ALSMaxCLTCondition = bits, U32, 1132, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1132, [5:5] +isALSSwitchActivated = bits, U32, 1132, [6:6] +ALSActivatePinState = bits, U32, 1132, [7:7] +ALSSwitchCondition = bits, U32, 1132, [8:8] +ALSTimerCondition = bits, U32, 1132, [9:9] +fuelALSCorrection = scalar, F32, 1136, "", 1, 0 +timingALSCorrection = scalar, S16, 1140, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1142, "deg", 0.01, 0 +; total TS size = 1144 +isTpsInvalid = bits, U32, 1144, [0:0] +m_shouldResetPid = bits, U32, 1144, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1144, [2:2] +isNotClosedLoop = bits, U32, 1144, [3:3] +isZeroRpm = bits, U32, 1144, [4:4] +hasInitBoost = bits, U32, 1144, [5:5] +rpmTooLow = bits, U32, 1144, [6:6] +tpsTooLow = bits, U32, 1144, [7:7] +mapTooLow = bits, U32, 1144, [8:8] +isPlantValid = bits, U32, 1144, [9:9] +isBoostControlled = bits, U32, 1144, [10:10] +luaTargetAdd = scalar, S16, 1148, "v", 0.5,0 +boostOutput = scalar, S16, 1150, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1152, "v", 1,0 +openLoopPart = scalar, F32, 1156, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1160, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1164, "%", 0.5,0 +boostControlTarget = scalar, S16, 1166, "kPa", 0.03333333333333333,0 +; total TS size = 1168 +acButtonState = scalar, S08, 1168, "", 1, 0 +m_acEnabled = bits, U32, 1172, [0:0] +engineTooSlow = bits, U32, 1172, [1:1] +engineTooFast = bits, U32, 1172, [2:2] +noClt = bits, U32, 1172, [3:3] +engineTooHot = bits, U32, 1172, [4:4] +tpsTooHigh = bits, U32, 1172, [5:5] +isDisabledByLua = bits, U32, 1172, [6:6] +acCompressorState = bits, U32, 1172, [7:7] +acPressureTooLow = bits, U32, 1172, [8:8] +acPressureTooHigh = bits, U32, 1172, [9:9] +; total TS size = 1176 +cranking0 = bits, U32, 1176, [0:0] +notRunning0 = bits, U32, 1176, [1:1] +disabledWhileEngineStopped0 = bits, U32, 1176, [2:2] +brokenClt0 = bits, U32, 1176, [3:3] +enabledForAc0 = bits, U32, 1176, [4:4] +hot0 = bits, U32, 1176, [5:5] +cold0 = bits, U32, 1176, [6:6] +disabledBySpeed0 = bits, U32, 1176, [7:7] +radiatorFanStatus0 = scalar, U08, 1180, "", 1, 0 +; total TS size = 1184 +cranking1 = bits, U32, 1184, [0:0] +notRunning1 = bits, U32, 1184, [1:1] +disabledWhileEngineStopped1 = bits, U32, 1184, [2:2] +brokenClt1 = bits, U32, 1184, [3:3] +enabledForAc1 = bits, U32, 1184, [4:4] +hot1 = bits, U32, 1184, [5:5] +cold1 = bits, U32, 1184, [6:6] +disabledBySpeed1 = bits, U32, 1184, [7:7] +radiatorFanStatus1 = scalar, U08, 1188, "", 1, 0 +; total TS size = 1192 +isPrime = bits, U32, 1192, [0:0] +engineTurnedRecently = bits, U32, 1192, [1:1] +isFuelPumpOn = bits, U32, 1192, [2:2] +ignitionOn = bits, U32, 1192, [3:3] +; total TS size = 1196 +isBenchTest = bits, U32, 1196, [0:0] +hasIgnitionVoltage = bits, U32, 1196, [1:1] +mainRelayState = bits, U32, 1196, [2:2] +delayedShutoffRequested = bits, U32, 1196, [3:3] +; total TS size = 1200 +lua_fuelAdd = scalar, F32, 1200, "g", 1, 0 +lua_fuelMult = scalar, F32, 1204, "", 1, 0 +lua_clutchUpState = bits, U32, 1208, [0:0] +lua_brakePedalState = bits, U32, 1208, [1:1] +lua_acRequestState = bits, U32, 1208, [2:2] +lua_luaDisableEtb = bits, U32, 1208, [3:3] +lua_luaIgnCut = bits, U32, 1208, [4:4] +lua_luaFuelCut = bits, U32, 1208, [5:5] +lua_clutchDownState = bits, U32, 1208, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1208, [7:7] +sd_tCharge = scalar, S16, 1212, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1216, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1220, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1224, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1228, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1232, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1236, "", 1, 0 +hellenBoardId = scalar, S16, 1240, "id", 1, 0 +clutchUpState = scalar, S08, 1242, "", 1, 0 +clutchDownState = scalar, S08, 1243, "", 1, 0 +brakePedalState = scalar, S08, 1244, "", 1, 0 +startStopState = scalar, S08, 1245, "", 1, 0 +smartChipState = scalar, S08, 1246, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1247, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1248, "", 1, 0 +startStopPhysicalState = bits, U32, 1252, [0:0] +acrActive = bits, U32, 1252, [1:1] +acrEngineMovedRecently = bits, U32, 1252, [2:2] +heaterControlEnabled = bits, U32, 1252, [3:3] +luaDigitalState0 = bits, U32, 1252, [4:4] +luaDigitalState1 = bits, U32, 1252, [5:5] +luaDigitalState2 = bits, U32, 1252, [6:6] +luaDigitalState3 = bits, U32, 1252, [7:7] +startStopStateToggleCounter = scalar, U32, 1256, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1260, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1264, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1268, "", 1, 0 +desiredRpmLimit = scalar, S16, 1272, "rpm", 1, 0 +fuelInjectionCounter = scalar, U32, 1276, "", 1, 0 +globalSparkCounter = scalar, U32, 1280, "", 1, 0 +fuelingLoad = scalar, F32, 1284, "", 1, 0 +ignitionLoad = scalar, F32, 1288, "", 1, 0 +veTableYAxis = scalar, U16, 1292, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1294, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1295, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1296, "", 1, 0 +; total TS size = 1300 +tpsFrom = scalar, F32, 1300 +tpsTo = scalar, F32, 1304 +deltaTps = scalar, F32, 1308 +extraFuel = scalar, F32, 1312, "", 1, 0 +valueFromTable = scalar, F32, 1316, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1320, [0:0] +isBelowDecelThreshold = bits, U32, 1320, [1:1] +isTimeToResetAccumulator = bits, U32, 1320, [2:2] +isFractionalEnrichment = bits, U32, 1320, [3:3] +belowEpsilon = bits, U32, 1320, [4:4] +tooShort = bits, U32, 1320, [5:5] +fractionalInjFuel = scalar, F32, 1324, "", 1, 0 +accumulatedValue = scalar, F32, 1328, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1332, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1336, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1340, "", 1, 0 +cycleCnt = scalar, S32, 1344, "", 1, 0 +; total TS size = 1348 +hwEventCounters1 = scalar, U32, 1348, "", 1, 0 +hwEventCounters2 = scalar, U32, 1352, "", 1, 0 +hwEventCounters3 = scalar, U32, 1356, "", 1, 0 +hwEventCounters4 = scalar, U32, 1360, "", 1, 0 +hwEventCounters5 = scalar, U32, 1364, "", 1, 0 +hwEventCounters6 = scalar, U32, 1368, "", 1, 0 +vvtCamCounter = scalar, U32, 1372, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1376, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1380, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1384, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1385, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1388, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1392, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1396, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1400, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1404, [0:0] +triggerElapsedUs = scalar, U32, 1408, "", 1, 0 +; total TS size = 1412 +crankSynchronizationCounter0 = scalar, U32, 1412, "", 1, 0 +vvtSyncGapRatio0 = scalar, F32, 1416, "", 1, 0 +vvtToothDurations00 = scalar, U32, 1420, "us", 1, 0 +vvtCurrentPosition0 = scalar, F32, 1424, "sync: Primary Cam Position", 1, 0 +vvtToothPosition10 = scalar, F32, 1428, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition20 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition30 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition40 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio0 = scalar, F32, 1444, "", 1, 0 +triggerStateIndex0 = scalar, U08, 1448, "", 1, 0 +vvtStateIndex0 = scalar, U08, 1449, "", 1, 0 +; total TS size = 1452 +crankSynchronizationCounter1 = scalar, U32, 1452, "", 1, 0 +vvtSyncGapRatio1 = scalar, F32, 1456, "", 1, 0 +vvtToothDurations01 = scalar, U32, 1460, "us", 1, 0 +vvtCurrentPosition1 = scalar, F32, 1464, "sync: Primary Cam Position", 1, 0 +vvtToothPosition11 = scalar, F32, 1468, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition21 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition31 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition41 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio1 = scalar, F32, 1484, "", 1, 0 +triggerStateIndex1 = scalar, U08, 1488, "", 1, 0 +vvtStateIndex1 = scalar, U08, 1489, "", 1, 0 +; total TS size = 1492 +crankSynchronizationCounter2 = scalar, U32, 1492, "", 1, 0 +vvtSyncGapRatio2 = scalar, F32, 1496, "", 1, 0 +vvtToothDurations02 = scalar, U32, 1500, "us", 1, 0 +vvtCurrentPosition2 = scalar, F32, 1504, "sync: Primary Cam Position", 1, 0 +vvtToothPosition12 = scalar, F32, 1508, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition22 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition32 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition42 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio2 = scalar, F32, 1524, "", 1, 0 +triggerStateIndex2 = scalar, U08, 1528, "", 1, 0 +vvtStateIndex2 = scalar, U08, 1529, "", 1, 0 +; total TS size = 1532 +crankSynchronizationCounter3 = scalar, U32, 1532, "", 1, 0 +vvtSyncGapRatio3 = scalar, F32, 1536, "", 1, 0 +vvtToothDurations03 = scalar, U32, 1540, "us", 1, 0 +vvtCurrentPosition3 = scalar, F32, 1544, "sync: Primary Cam Position", 1, 0 +vvtToothPosition13 = scalar, F32, 1548, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition23 = scalar, F32, 1552, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition33 = scalar, F32, 1556, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition43 = scalar, F32, 1560, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio3 = scalar, F32, 1564, "", 1, 0 +triggerStateIndex3 = scalar, U08, 1568, "", 1, 0 +vvtStateIndex3 = scalar, U08, 1569, "", 1, 0 +; total TS size = 1572 +crankSynchronizationCounter4 = scalar, U32, 1572, "", 1, 0 +vvtSyncGapRatio4 = scalar, F32, 1576, "", 1, 0 +vvtToothDurations04 = scalar, U32, 1580, "us", 1, 0 +vvtCurrentPosition4 = scalar, F32, 1584, "sync: Primary Cam Position", 1, 0 +vvtToothPosition14 = scalar, F32, 1588, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition24 = scalar, F32, 1592, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition34 = scalar, F32, 1596, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition44 = scalar, F32, 1600, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio4 = scalar, F32, 1604, "", 1, 0 +triggerStateIndex4 = scalar, U08, 1608, "", 1, 0 +vvtStateIndex4 = scalar, U08, 1609, "", 1, 0 +; total TS size = 1612 +camResyncCounter = scalar, U08, 1612, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1616, [0:0] +; total TS size = 1620 +wallFuelCorrection = scalar, F32, 1620, "", 1, 0 +wallFuel = scalar, F32, 1624, "", 1, 0 +; total TS size = 1628 +idleState = bits, S32, 1628, [0:2], "not important" +currentIdlePosition = scalar, F32, 1632 +baseIdlePosition = scalar, F32, 1636 +idleClosedLoop = scalar, F32, 1640 +iacByTpsTaper = scalar, F32, 1644 +throttlePedalUpState = scalar, S32, 1648, "", 1, 0 +mightResetPid = bits, U32, 1652, [0:0] +shouldResetPid = bits, U32, 1652, [1:1] +wasResetPid = bits, U32, 1652, [2:2] +mustResetPid = bits, U32, 1652, [3:3] +isCranking = bits, U32, 1652, [4:4] +isIacTableForCoasting = bits, U32, 1652, [5:5] +notIdling = bits, U32, 1652, [6:6] +needReset = bits, U32, 1652, [7:7] +isInDeadZone = bits, U32, 1652, [8:8] +isBlipping = bits, U32, 1652, [9:9] +useClosedLoop = bits, U32, 1652, [10:10] +badTps = bits, U32, 1652, [11:11] +looksLikeRunning = bits, U32, 1652, [12:12] +looksLikeCoasting = bits, U32, 1652, [13:13] +looksLikeCrankToIdle = bits, U32, 1652, [14:14] +isIdleCoasting = bits, U32, 1652, [15:15] +isIdleClosedLoop = bits, U32, 1652, [16:16] +idleTarget = scalar, S32, 1656, "", 1, 0 +targetRpmByClt = scalar, S32, 1660, "", 1, 0 +targetRpmAc = scalar, S32, 1664, "", 1, 0 +iacByRpmTaper = scalar, F32, 1668 +luaAdd = scalar, F32, 1672 +; total TS size = 1676 +targetWithIdlePosition0 = scalar, F32, 1676, "per", 1,0 +trim0 = scalar, F32, 1680, "", 1, 0 +luaAdjustment0 = scalar, F32, 1684, "per", 1,0 +m_wastegatePosition0 = scalar, F32, 1688, "per", 1,0 +etbFeedForward0 = scalar, F32, 1692 +etbIntegralError0 = scalar, F32, 1696, "", 1, 0 +etbCurrentTarget0 = scalar, F32, 1700, "%", 1, 0 +etbCurrentAdjustedTarget0 = scalar, F32, 1704, "%", 1, 0 +etbRevLimitActive0 = bits, U32, 1708, [0:0] +jamDetected0 = bits, U32, 1708, [1:1] +etbTpsErrorCounter0 = scalar, U16, 1712, "count", 1,0 +etbPpsErrorCounter0 = scalar, U16, 1714, "count", 1,0 +etbErrorCode0 = scalar, S08, 1716, "", 1, 0 +tcEtbDrop0 = scalar, S08, 1717, "%", 1, 0 +jamTimer0 = scalar, U16, 1718, "sec", 0.01, 0 +adjustedEtbTarget0 = scalar, S08, 1720, "%", 1, 0 +; total TS size = 1724 +targetWithIdlePosition1 = scalar, F32, 1724, "per", 1,0 +trim1 = scalar, F32, 1728, "", 1, 0 +luaAdjustment1 = scalar, F32, 1732, "per", 1,0 +m_wastegatePosition1 = scalar, F32, 1736, "per", 1,0 +etbFeedForward1 = scalar, F32, 1740 +etbIntegralError1 = scalar, F32, 1744, "", 1, 0 +etbCurrentTarget1 = scalar, F32, 1748, "%", 1, 0 +etbCurrentAdjustedTarget1 = scalar, F32, 1752, "%", 1, 0 +etbRevLimitActive1 = bits, U32, 1756, [0:0] +jamDetected1 = bits, U32, 1756, [1:1] +etbTpsErrorCounter1 = scalar, U16, 1760, "count", 1,0 +etbPpsErrorCounter1 = scalar, U16, 1762, "count", 1,0 +etbErrorCode1 = scalar, S08, 1764, "", 1, 0 +tcEtbDrop1 = scalar, S08, 1765, "%", 1, 0 +jamTimer1 = scalar, U16, 1766, "sec", 0.01, 0 +adjustedEtbTarget1 = scalar, S08, 1768, "%", 1, 0 +; total TS size = 1772 +faultCode0 = scalar, U08, 1772, "", 1, 0 +heaterDuty0 = scalar, U08, 1773, "%", 1, 0 +pumpDuty0 = scalar, U08, 1774, "%", 1, 0 +tempC0 = scalar, U16, 1776, "C", 1, 0 +nernstVoltage0 = scalar, U16, 1778, "V", 0.001, 0 +esr0 = scalar, U16, 1780, "ohm", 1, 0 +; total TS size = 1784 +faultCode1 = scalar, U08, 1784, "", 1, 0 +heaterDuty1 = scalar, U08, 1785, "%", 1, 0 +pumpDuty1 = scalar, U08, 1786, "%", 1, 0 +tempC1 = scalar, U16, 1788, "C", 1, 0 +nernstVoltage1 = scalar, U16, 1790, "V", 0.001, 0 +esr1 = scalar, U16, 1792, "ohm", 1, 0 +; total TS size = 1796 +dcOutput0 = scalar, F32, 1796, "per", 1,0 +isEnabled0_int = scalar, U08, 1800, "per", 1,0 +isEnabled0 = bits, U32, 1804, [0:0] +; total TS size = 1808 +value0 = scalar, U16, 1808, "value", 1,0 +value1 = scalar, U16, 1810, "value", 1,0 +errorRate = scalar, F32, 1812, "ratio", 1,0 +; total TS size = 1816 +vvtTarget = scalar, U16, 1816, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1818, "%", 0.5, 0 +; total TS size = 1820 +lambdaCurrentlyGood = bits, U32, 1820, [0:0] +lambdaMonitorCut = bits, U32, 1820, [1:1] +lambdaTimeSinceGood = scalar, U16, 1824, "sec", 0.01, 0 +; total TS size = 1828 time = { timeNow } @@ -3616,6 +3648,7 @@ lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs8 requiresPowerCycle = cylinderBore + requiresPowerCycle = knockFrequency readOnly = warning_message readOnly = device_uid1 @@ -5033,6 +5066,26 @@ gaugeCategory = Knock knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knockSpectrumChannelCylGauge = m_knockSpectrumChannelCyl, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStartGauge = m_knockFrequencyStart, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStepGauge = m_knockFrequencyStep, "Knock Frequency Step", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFuelTrimMultiplier = m_knockFuelTrimMultiplier, "Knock Fuel Trim", "mult", 0, 0, 0, 0, 0, 30, 1, 1 + knockSpectrum1 = m_knockSpectrum1, "Knock Spectrum1", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum2 = m_knockSpectrum2, "knockSpectrum2", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum3 = m_knockSpectrum3, "knockSpectrum3", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum4 = m_knockSpectrum4, "knockSpectrum4", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum5 = m_knockSpectrum5, "knockSpectrum5", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum6 = m_knockSpectrum6, "knockSpectrum6", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum7 = m_knockSpectrum7, "knockSpectrum7", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum8 = m_knockSpectrum8, "knockSpectrum8", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum9 = m_knockSpectrum9, "knockSpectrum9", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum10 = m_knockSpectrum10, "knockSpectrum10", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum11 = m_knockSpectrum11, "knockSpectrum11", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum12 = m_knockSpectrum12, "knockSpectrum12", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum13 = m_knockSpectrum13, "knockSpectrum13", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum14 = m_knockSpectrum14, "knockSpectrum14", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum15 = m_knockSpectrum15, "knockSpectrum15", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum16 = m_knockSpectrum16, "knockSpectrum16", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -5631,6 +5684,26 @@ entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" entry = m_knockCount, "Knock: Count", int, "%d" entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_knockFrequency, "knock: frequency", int, "%d" +entry = m_knockSpectrum1, "Knock: SpectrumData 1", int, "%d" +entry = m_knockSpectrum2, "Knock: SpectrumData 2", int, "%d" +entry = m_knockSpectrum3, "Knock: SpectrumData 3", int, "%d" +entry = m_knockSpectrum4, "Knock: SpectrumData 4", int, "%d" +entry = m_knockSpectrum5, "Knock: SpectrumData 5", int, "%d" +entry = m_knockSpectrum6, "Knock: SpectrumData 6", int, "%d" +entry = m_knockSpectrum7, "Knock: SpectrumData 7", int, "%d" +entry = m_knockSpectrum8, "Knock: SpectrumData 8", int, "%d" +entry = m_knockSpectrum9, "Knock: SpectrumData 9", int, "%d" +entry = m_knockSpectrum10, "Knock: SpectrumData 10", int, "%d" +entry = m_knockSpectrum11, "Knock: SpectrumData 11", int, "%d" +entry = m_knockSpectrum12, "Knock: SpectrumData 12", int, "%d" +entry = m_knockSpectrum13, "Knock: SpectrumData 13", int, "%d" +entry = m_knockSpectrum14, "Knock: SpectrumData 14", int, "%d" +entry = m_knockSpectrum15, "Knock: SpectrumData 15", int, "%d" +entry = m_knockSpectrum16, "Knock: SpectrumData 16", int, "%d" +entry = m_knockSpectrumChannelCyl, "Knock: ChannelAndCylNumber", int, "%d" +entry = m_knockFrequencyStart, "Knock: Start Freq", int, "%d" +entry = m_knockFrequencyStep, "Knock: Step Freq", float, "%.3f" +entry = m_knockFuelTrimMultiplier, "Knock: Fuel trim when knock", float, "%.3f" entry = tcuCurrentGear, "TCU: Current Gear", int, "%d" entry = tcRatio, "TCU: Torque Converter Ratio", float, "%.3f" entry = lastShiftTime, "lastShiftTime", float, "%.3f" @@ -6527,6 +6600,31 @@ dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard graphLine = m_knockFrequency + graphLine = m_knockSpectrum1 + graphLine = m_knockSpectrum2 + liveGraph = knock_controller_6_Graph, "Graph", South + graphLine = m_knockSpectrum3 + graphLine = m_knockSpectrum4 + graphLine = m_knockSpectrum5 + graphLine = m_knockSpectrum6 + liveGraph = knock_controller_7_Graph, "Graph", South + graphLine = m_knockSpectrum7 + graphLine = m_knockSpectrum8 + graphLine = m_knockSpectrum9 + graphLine = m_knockSpectrum10 + liveGraph = knock_controller_8_Graph, "Graph", South + graphLine = m_knockSpectrum11 + graphLine = m_knockSpectrum12 + graphLine = m_knockSpectrum13 + graphLine = m_knockSpectrum14 + liveGraph = knock_controller_9_Graph, "Graph", South + graphLine = m_knockSpectrum15 + graphLine = m_knockSpectrum16 + graphLine = m_knockSpectrumChannelCyl + graphLine = m_knockFrequencyStart + liveGraph = knock_controller_10_Graph, "Graph", South + graphLine = m_knockFrequencyStep + graphLine = m_knockFuelTrimMultiplier indicatorPanel = tcu_controllerIndicatorPanel, 2 indicator = {isShifting}, "isShifting No", "isShifting Yes" @@ -8595,9 +8693,13 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockCfg, "Sense" field = "Enable", enableSoftwareKnock field = "Cylinder Bore", cylinderBore, {enableSoftwareKnock} + field = "Estimated Knock Frequency",knockFrequency, {enableSoftwareKnock} field = "Detection mode", knockDetectionUseDoubleFrequency field = "Detection Window Start",knockDetectionWindowStart, {enableSoftwareKnock} field = "Sampling Duration", knockSamplingDuration, {enableSoftwareKnock} + field = "Enable Knock Spectrogram", enableKnockSpectrogram, {enableSoftwareKnock} + field = "Enable Knock Spectrogram Filter", enableKnockSpectrogramFilter, {enableKnockSpectrogram} + field = "Knock Spectrum Sensitivity", knockSpectrumSensitivity, {enableKnockSpectrogram} field = "" field = "Select the nearest sensor for each cylinder" @@ -8617,6 +8719,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockResponseCfg, "Response" field = knockRetardAggression, knockRetardAggression field = knockRetardReapplyRate, knockRetardReapplyRate + field = knockFuelTrimAggression, knockFuelTrimAggression + field = knockFuelTrimReapplyRate, knockFuelTrimReapplyRate + field = knockFuelTrim, knockFuelTrim + field = knockSuppressMinTps, knockSuppressMinTps dialog = softwareKnockLeft, "" panel = softwareKnockCfg diff --git a/firmware/tunerstudio/generated/rusefi_stm32f767_nucleo.ini b/firmware/tunerstudio/generated/rusefi_stm32f767_nucleo.ini index 53fa89f3b5..bdf4e601a9 100644 --- a/firmware/tunerstudio/generated/rusefi_stm32f767_nucleo.ini +++ b/firmware/tunerstudio/generated/rusefi_stm32f767_nucleo.ini @@ -38,12 +38,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.10.21.stm32f767_nucleo.2262948377" + signature = "rusEFI master.2024.10.21.stm32f767_nucleo.1523155174" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.10.21.stm32f767_nucleo.2262948377" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.10.21.stm32f767_nucleo.1523155174" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -774,6 +774,7 @@ devBit7 = bits, U32, 1492, [27:27], "false", "true" unusedSkipWasHere = bits, U32, 1492, [28:28], "false", "true" invertExhaustCamVVTSignal = bits, U32, 1492, [29:29], "Rising", "Falling" enableKnockSpectrogram = bits, U32, 1492, [30:30], "false", "true" +enableKnockSpectrogramFilter = bits, U32, 1492, [31:31], "false", "true" afterCrankingIACtaperDuration = scalar, S16, 1496, "cycles", 1, 0, 0, 5000, 0 iacByTpsTaper = scalar, S16, 1498, "percent", 1, 0, 0, 500, 0 unusedAuxSeria = bits, U16, 1500, [0:8], $gpio_list @@ -1394,7 +1395,13 @@ auxLinear4_v1 = scalar, F32, 3880, "volts", 1, 0, 0, 10, 2 auxLinear4_value1 = scalar, F32, 3884, "", 1, 0, -100000, 1000000, 2 auxLinear4_v2 = scalar, F32, 3888, "volts", 1, 0, 0, 10, 2 auxLinear4_value2 = scalar, F32, 3892, "", 1, 0, -100000, 1000000, 2 -unusedOftenChangesDuringFirmwareUpdate = array, U08, 3896, [128], "units", 1, 0, 0, 1, 0 +knockSuppressMinTps = scalar, U08, 3896, "%", 1, 0, 0, 100, 1 +knockFuelTrimAggression = scalar, U08, 3897, "%", 0.1, 0, 0, 20, 1 +knockFuelTrimReapplyRate = scalar, U08, 3898, "deg/s", 0.1, 0, 0, 10, 1 +knockFuelTrim = scalar, U08, 3899, "%", 1, 0, 0, 30, 1 +knockSpectrumSensitivity = scalar, F32, 3900, "sense", 1, 0, 0, 1, 2 +knockFrequency = scalar, F32, 3904, "Hz", 1, 0, 0, 20000, 2 +unusedOftenChangesDuringFirmwareUpdate = array, U08, 3908, [116], "units", 1, 0, 0, 1, 0 postCrankingFactor = array, F32, 4024, [6x6], "mult", 1, 0, 1, 3, 2 postCrankingDurationBins = array, F32, 4168, [6], "count", 1, 0, 0, 1000, 0 postCrankingCLTBins = array, S16, 4192, [6], "C", 1, 0, -100, 250, 0 @@ -2448,6 +2455,11 @@ minimumOilPressureValues = array, U08, 22960, [8], "kPa", 10.0, 0, 0, 1000, 0 minAcPressure = "value of A/C pressure in kPa before that compressor is disengaged" maxAcPressure = "value of A/C pressure in kPa after that compressor is disengaged" minimumOilPressureTimeout = "Delay before cutting fuel due to low oil pressure. Use this to ignore short pressure blips and sensor noise." + knockSuppressMinTps = "Below TPS value all knock suppression will be disabled." + knockFuelTrimAggression = "Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump)," + knockFuelTrimReapplyRate = "After a knock event, reapply fuel at this rate." + knockFuelTrim = "Fuel trim when knock, max 30%" + knockFrequency = "Estimated knock frequency, ignore cylinderBore if this one > 0" etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, open loop component of PID closed loop control" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2560,7 +2572,7 @@ minimumOilPressureValues = array, U08, 22960, [8], "kPa", 10.0, 0, 0, 1000, 0 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1752 + ochBlockSize = 1828 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3101,370 +3113,390 @@ m_knockThreshold = scalar, F32, 960, "", 1, 0 m_knockCount = scalar, U32, 964, "", 1, 0 m_maximumRetard = scalar, F32, 968, "", 1, 0 m_knockFrequency = scalar, U32, 972, "Hz", 1, 0 -; total TS size = 976 -tcuCurrentGear = scalar, S08, 976, "gear", 1, 0 -tcRatio = scalar, U16, 978, "value", 0.01, 0 -lastShiftTime = scalar, F32, 980, "", 1, 0 -tcu_currentRange = scalar, U08, 984, "", 1, 0 -pressureControlDuty = scalar, S08, 985, "%", 1,0 -torqueConverterDuty = scalar, S08, 986, "%", 1,0 -isShifting = bits, U32, 988, [0:0] -; total TS size = 992 -throttleUseWotModel = bits, U32, 992, [0:0] -throttleModelCrossoverAngle = scalar, S16, 996, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1000, "g/s", 1, 0 -; total TS size = 1004 -m_requested_pump = scalar, F32, 1004, "", 1, 0 -fuel_requested_percent = scalar, F32, 1008, "", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1012, "", 1, 0 -noValve = bits, U32, 1016, [0:0] -angleAboveMin = bits, U32, 1016, [1:1] -isHpfpInactive = bits, U32, 1016, [2:2] -m_pressureTarget_kPa = scalar, F32, 1020, "", 1, 0 -nextLobe = scalar, F32, 1024, "", 1, 0 -di_nextStart = scalar, F32, 1028, "v", 1, 0 -; total TS size = 1032 -m_deadtime = scalar, F32, 1032, "ms", 1, 0 -pressureDelta = scalar, F32, 1036, "kPa", 1, 0 -pressureRatio = scalar, F32, 1040, "", 1, 0 -; total TS size = 1044 -retardThresholdRpm = scalar, S32, 1044, "", 1, 0 -launchActivatePinState = bits, U32, 1048, [0:0] -isPreLaunchCondition = bits, U32, 1048, [1:1] -isLaunchCondition = bits, U32, 1048, [2:2] -isSwitchActivated = bits, U32, 1048, [3:3] -isClutchActivated = bits, U32, 1048, [4:4] -isBrakePedalActivated = bits, U32, 1048, [5:5] -isValidInputPin = bits, U32, 1048, [6:6] -activateSwitchCondition = bits, U32, 1048, [7:7] -rpmLaunchCondition = bits, U32, 1048, [8:8] -rpmPreLaunchCondition = bits, U32, 1048, [9:9] -speedCondition = bits, U32, 1048, [10:10] -tpsCondition = bits, U32, 1048, [11:11] +m_knockSpectrum1 = scalar, U32, 976, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 980, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 984, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 988, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1040, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1042, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1044, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1048, "multiplier", 1, 0 ; total TS size = 1052 -isTorqueReductionTriggerPinValid = bits, U32, 1052, [0:0] -torqueReductionTriggerPinState = bits, U32, 1052, [1:1] -isTimeConditionSatisfied = bits, U32, 1052, [2:2] -isRpmConditionSatisfied = bits, U32, 1052, [3:3] -isAppConditionSatisfied = bits, U32, 1052, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1052, [5:5] -; total TS size = 1056 -isAntilagCondition = bits, U32, 1056, [0:0] -ALSMinRPMCondition = bits, U32, 1056, [1:1] -ALSMaxRPMCondition = bits, U32, 1056, [2:2] -ALSMinCLTCondition = bits, U32, 1056, [3:3] -ALSMaxCLTCondition = bits, U32, 1056, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1056, [5:5] -isALSSwitchActivated = bits, U32, 1056, [6:6] -ALSActivatePinState = bits, U32, 1056, [7:7] -ALSSwitchCondition = bits, U32, 1056, [8:8] -ALSTimerCondition = bits, U32, 1056, [9:9] -fuelALSCorrection = scalar, F32, 1060, "", 1, 0 -timingALSCorrection = scalar, S16, 1064, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1066, "deg", 0.01, 0 +tcuCurrentGear = scalar, S08, 1052, "gear", 1, 0 +tcRatio = scalar, U16, 1054, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1056, "", 1, 0 +tcu_currentRange = scalar, U08, 1060, "", 1, 0 +pressureControlDuty = scalar, S08, 1061, "%", 1,0 +torqueConverterDuty = scalar, S08, 1062, "%", 1,0 +isShifting = bits, U32, 1064, [0:0] ; total TS size = 1068 -isTpsInvalid = bits, U32, 1068, [0:0] -m_shouldResetPid = bits, U32, 1068, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1068, [2:2] -isNotClosedLoop = bits, U32, 1068, [3:3] -isZeroRpm = bits, U32, 1068, [4:4] -hasInitBoost = bits, U32, 1068, [5:5] -rpmTooLow = bits, U32, 1068, [6:6] -tpsTooLow = bits, U32, 1068, [7:7] -mapTooLow = bits, U32, 1068, [8:8] -isPlantValid = bits, U32, 1068, [9:9] -isBoostControlled = bits, U32, 1068, [10:10] -luaTargetAdd = scalar, S16, 1072, "v", 0.5,0 -boostOutput = scalar, S16, 1074, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1076, "v", 1,0 -openLoopPart = scalar, F32, 1080, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1084, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1088, "%", 0.5,0 -boostControlTarget = scalar, S16, 1090, "kPa", 0.03333333333333333,0 -; total TS size = 1092 -acButtonState = scalar, S08, 1092, "", 1, 0 -m_acEnabled = bits, U32, 1096, [0:0] -engineTooSlow = bits, U32, 1096, [1:1] -engineTooFast = bits, U32, 1096, [2:2] -noClt = bits, U32, 1096, [3:3] -engineTooHot = bits, U32, 1096, [4:4] -tpsTooHigh = bits, U32, 1096, [5:5] -isDisabledByLua = bits, U32, 1096, [6:6] -acCompressorState = bits, U32, 1096, [7:7] -acPressureTooLow = bits, U32, 1096, [8:8] -acPressureTooHigh = bits, U32, 1096, [9:9] -; total TS size = 1100 -cranking0 = bits, U32, 1100, [0:0] -notRunning0 = bits, U32, 1100, [1:1] -disabledWhileEngineStopped0 = bits, U32, 1100, [2:2] -brokenClt0 = bits, U32, 1100, [3:3] -enabledForAc0 = bits, U32, 1100, [4:4] -hot0 = bits, U32, 1100, [5:5] -cold0 = bits, U32, 1100, [6:6] -disabledBySpeed0 = bits, U32, 1100, [7:7] -radiatorFanStatus0 = scalar, U08, 1104, "", 1, 0 +throttleUseWotModel = bits, U32, 1068, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1072, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1076, "g/s", 1, 0 +; total TS size = 1080 +m_requested_pump = scalar, F32, 1080, "", 1, 0 +fuel_requested_percent = scalar, F32, 1084, "", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1088, "", 1, 0 +noValve = bits, U32, 1092, [0:0] +angleAboveMin = bits, U32, 1092, [1:1] +isHpfpInactive = bits, U32, 1092, [2:2] +m_pressureTarget_kPa = scalar, F32, 1096, "", 1, 0 +nextLobe = scalar, F32, 1100, "", 1, 0 +di_nextStart = scalar, F32, 1104, "v", 1, 0 ; total TS size = 1108 -cranking1 = bits, U32, 1108, [0:0] -notRunning1 = bits, U32, 1108, [1:1] -disabledWhileEngineStopped1 = bits, U32, 1108, [2:2] -brokenClt1 = bits, U32, 1108, [3:3] -enabledForAc1 = bits, U32, 1108, [4:4] -hot1 = bits, U32, 1108, [5:5] -cold1 = bits, U32, 1108, [6:6] -disabledBySpeed1 = bits, U32, 1108, [7:7] -radiatorFanStatus1 = scalar, U08, 1112, "", 1, 0 -; total TS size = 1116 -isPrime = bits, U32, 1116, [0:0] -engineTurnedRecently = bits, U32, 1116, [1:1] -isFuelPumpOn = bits, U32, 1116, [2:2] -ignitionOn = bits, U32, 1116, [3:3] +m_deadtime = scalar, F32, 1108, "ms", 1, 0 +pressureDelta = scalar, F32, 1112, "kPa", 1, 0 +pressureRatio = scalar, F32, 1116, "", 1, 0 ; total TS size = 1120 -isBenchTest = bits, U32, 1120, [0:0] -hasIgnitionVoltage = bits, U32, 1120, [1:1] -mainRelayState = bits, U32, 1120, [2:2] -delayedShutoffRequested = bits, U32, 1120, [3:3] -; total TS size = 1124 -lua_fuelAdd = scalar, F32, 1124, "g", 1, 0 -lua_fuelMult = scalar, F32, 1128, "", 1, 0 -lua_clutchUpState = bits, U32, 1132, [0:0] -lua_brakePedalState = bits, U32, 1132, [1:1] -lua_acRequestState = bits, U32, 1132, [2:2] -lua_luaDisableEtb = bits, U32, 1132, [3:3] -lua_luaIgnCut = bits, U32, 1132, [4:4] -lua_luaFuelCut = bits, U32, 1132, [5:5] -lua_clutchDownState = bits, U32, 1132, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1132, [7:7] -sd_tCharge = scalar, S16, 1136, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1140, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1144, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1148, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1152, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1156, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1160, "", 1, 0 -hellenBoardId = scalar, S16, 1164, "id", 1, 0 -clutchUpState = scalar, S08, 1166, "", 1, 0 -clutchDownState = scalar, S08, 1167, "", 1, 0 -brakePedalState = scalar, S08, 1168, "", 1, 0 -startStopState = scalar, S08, 1169, "", 1, 0 -smartChipState = scalar, S08, 1170, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1171, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1172, "", 1, 0 -startStopPhysicalState = bits, U32, 1176, [0:0] -acrActive = bits, U32, 1176, [1:1] -acrEngineMovedRecently = bits, U32, 1176, [2:2] -heaterControlEnabled = bits, U32, 1176, [3:3] -luaDigitalState0 = bits, U32, 1176, [4:4] -luaDigitalState1 = bits, U32, 1176, [5:5] -luaDigitalState2 = bits, U32, 1176, [6:6] -luaDigitalState3 = bits, U32, 1176, [7:7] -startStopStateToggleCounter = scalar, U32, 1180, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1184, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1188, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1192, "", 1, 0 -desiredRpmLimit = scalar, S16, 1196, "rpm", 1, 0 -fuelInjectionCounter = scalar, U32, 1200, "", 1, 0 -globalSparkCounter = scalar, U32, 1204, "", 1, 0 -fuelingLoad = scalar, F32, 1208, "", 1, 0 -ignitionLoad = scalar, F32, 1212, "", 1, 0 -veTableYAxis = scalar, U16, 1216, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1218, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1219, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1220, "", 1, 0 -; total TS size = 1224 -tpsFrom = scalar, F32, 1224 -tpsTo = scalar, F32, 1228 -deltaTps = scalar, F32, 1232 -extraFuel = scalar, F32, 1236, "", 1, 0 -valueFromTable = scalar, F32, 1240, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1244, [0:0] -isBelowDecelThreshold = bits, U32, 1244, [1:1] -isTimeToResetAccumulator = bits, U32, 1244, [2:2] -isFractionalEnrichment = bits, U32, 1244, [3:3] -belowEpsilon = bits, U32, 1244, [4:4] -tooShort = bits, U32, 1244, [5:5] -fractionalInjFuel = scalar, F32, 1248, "", 1, 0 -accumulatedValue = scalar, F32, 1252, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1256, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1260, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1264, "", 1, 0 -cycleCnt = scalar, S32, 1268, "", 1, 0 -; total TS size = 1272 -hwEventCounters1 = scalar, U32, 1272, "", 1, 0 -hwEventCounters2 = scalar, U32, 1276, "", 1, 0 -hwEventCounters3 = scalar, U32, 1280, "", 1, 0 -hwEventCounters4 = scalar, U32, 1284, "", 1, 0 -hwEventCounters5 = scalar, U32, 1288, "", 1, 0 -hwEventCounters6 = scalar, U32, 1292, "", 1, 0 -vvtCamCounter = scalar, U32, 1296, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1300, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1304, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1308, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1309, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1312, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1316, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1320, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1324, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1328, [0:0] -triggerElapsedUs = scalar, U32, 1332, "", 1, 0 -; total TS size = 1336 -crankSynchronizationCounter0 = scalar, U32, 1336, "", 1, 0 -vvtSyncGapRatio0 = scalar, F32, 1340, "", 1, 0 -vvtToothDurations00 = scalar, U32, 1344, "us", 1, 0 -vvtCurrentPosition0 = scalar, F32, 1348, "sync: Primary Cam Position", 1, 0 -vvtToothPosition10 = scalar, F32, 1352, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition20 = scalar, F32, 1356, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition30 = scalar, F32, 1360, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition40 = scalar, F32, 1364, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio0 = scalar, F32, 1368, "", 1, 0 -triggerStateIndex0 = scalar, U08, 1372, "", 1, 0 -vvtStateIndex0 = scalar, U08, 1373, "", 1, 0 -; total TS size = 1376 -crankSynchronizationCounter1 = scalar, U32, 1376, "", 1, 0 -vvtSyncGapRatio1 = scalar, F32, 1380, "", 1, 0 -vvtToothDurations01 = scalar, U32, 1384, "us", 1, 0 -vvtCurrentPosition1 = scalar, F32, 1388, "sync: Primary Cam Position", 1, 0 -vvtToothPosition11 = scalar, F32, 1392, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition21 = scalar, F32, 1396, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition31 = scalar, F32, 1400, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition41 = scalar, F32, 1404, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio1 = scalar, F32, 1408, "", 1, 0 -triggerStateIndex1 = scalar, U08, 1412, "", 1, 0 -vvtStateIndex1 = scalar, U08, 1413, "", 1, 0 -; total TS size = 1416 -crankSynchronizationCounter2 = scalar, U32, 1416, "", 1, 0 -vvtSyncGapRatio2 = scalar, F32, 1420, "", 1, 0 -vvtToothDurations02 = scalar, U32, 1424, "us", 1, 0 -vvtCurrentPosition2 = scalar, F32, 1428, "sync: Primary Cam Position", 1, 0 -vvtToothPosition12 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition22 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition32 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition42 = scalar, F32, 1444, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio2 = scalar, F32, 1448, "", 1, 0 -triggerStateIndex2 = scalar, U08, 1452, "", 1, 0 -vvtStateIndex2 = scalar, U08, 1453, "", 1, 0 -; total TS size = 1456 -crankSynchronizationCounter3 = scalar, U32, 1456, "", 1, 0 -vvtSyncGapRatio3 = scalar, F32, 1460, "", 1, 0 -vvtToothDurations03 = scalar, U32, 1464, "us", 1, 0 -vvtCurrentPosition3 = scalar, F32, 1468, "sync: Primary Cam Position", 1, 0 -vvtToothPosition13 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition23 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition33 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition43 = scalar, F32, 1484, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio3 = scalar, F32, 1488, "", 1, 0 -triggerStateIndex3 = scalar, U08, 1492, "", 1, 0 -vvtStateIndex3 = scalar, U08, 1493, "", 1, 0 -; total TS size = 1496 -crankSynchronizationCounter4 = scalar, U32, 1496, "", 1, 0 -vvtSyncGapRatio4 = scalar, F32, 1500, "", 1, 0 -vvtToothDurations04 = scalar, U32, 1504, "us", 1, 0 -vvtCurrentPosition4 = scalar, F32, 1508, "sync: Primary Cam Position", 1, 0 -vvtToothPosition14 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition24 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition34 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition44 = scalar, F32, 1524, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio4 = scalar, F32, 1528, "", 1, 0 -triggerStateIndex4 = scalar, U08, 1532, "", 1, 0 -vvtStateIndex4 = scalar, U08, 1533, "", 1, 0 -; total TS size = 1536 -camResyncCounter = scalar, U08, 1536, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1540, [0:0] -; total TS size = 1544 -wallFuelCorrection = scalar, F32, 1544, "", 1, 0 -wallFuel = scalar, F32, 1548, "", 1, 0 -; total TS size = 1552 -idleState = bits, S32, 1552, [0:2], "not important" -currentIdlePosition = scalar, F32, 1556 -baseIdlePosition = scalar, F32, 1560 -idleClosedLoop = scalar, F32, 1564 -iacByTpsTaper = scalar, F32, 1568 -throttlePedalUpState = scalar, S32, 1572, "", 1, 0 -mightResetPid = bits, U32, 1576, [0:0] -shouldResetPid = bits, U32, 1576, [1:1] -wasResetPid = bits, U32, 1576, [2:2] -mustResetPid = bits, U32, 1576, [3:3] -isCranking = bits, U32, 1576, [4:4] -isIacTableForCoasting = bits, U32, 1576, [5:5] -notIdling = bits, U32, 1576, [6:6] -needReset = bits, U32, 1576, [7:7] -isInDeadZone = bits, U32, 1576, [8:8] -isBlipping = bits, U32, 1576, [9:9] -useClosedLoop = bits, U32, 1576, [10:10] -badTps = bits, U32, 1576, [11:11] -looksLikeRunning = bits, U32, 1576, [12:12] -looksLikeCoasting = bits, U32, 1576, [13:13] -looksLikeCrankToIdle = bits, U32, 1576, [14:14] -isIdleCoasting = bits, U32, 1576, [15:15] -isIdleClosedLoop = bits, U32, 1576, [16:16] -idleTarget = scalar, S32, 1580, "", 1, 0 -targetRpmByClt = scalar, S32, 1584, "", 1, 0 -targetRpmAc = scalar, S32, 1588, "", 1, 0 -iacByRpmTaper = scalar, F32, 1592 -luaAdd = scalar, F32, 1596 -; total TS size = 1600 -targetWithIdlePosition0 = scalar, F32, 1600, "per", 1,0 -trim0 = scalar, F32, 1604, "", 1, 0 -luaAdjustment0 = scalar, F32, 1608, "per", 1,0 -m_wastegatePosition0 = scalar, F32, 1612, "per", 1,0 -etbFeedForward0 = scalar, F32, 1616 -etbIntegralError0 = scalar, F32, 1620, "", 1, 0 -etbCurrentTarget0 = scalar, F32, 1624, "%", 1, 0 -etbCurrentAdjustedTarget0 = scalar, F32, 1628, "%", 1, 0 -etbRevLimitActive0 = bits, U32, 1632, [0:0] -jamDetected0 = bits, U32, 1632, [1:1] -etbTpsErrorCounter0 = scalar, U16, 1636, "count", 1,0 -etbPpsErrorCounter0 = scalar, U16, 1638, "count", 1,0 -etbErrorCode0 = scalar, S08, 1640, "", 1, 0 -tcEtbDrop0 = scalar, S08, 1641, "%", 1, 0 -jamTimer0 = scalar, U16, 1642, "sec", 0.01, 0 -adjustedEtbTarget0 = scalar, S08, 1644, "%", 1, 0 -; total TS size = 1648 -targetWithIdlePosition1 = scalar, F32, 1648, "per", 1,0 -trim1 = scalar, F32, 1652, "", 1, 0 -luaAdjustment1 = scalar, F32, 1656, "per", 1,0 -m_wastegatePosition1 = scalar, F32, 1660, "per", 1,0 -etbFeedForward1 = scalar, F32, 1664 -etbIntegralError1 = scalar, F32, 1668, "", 1, 0 -etbCurrentTarget1 = scalar, F32, 1672, "%", 1, 0 -etbCurrentAdjustedTarget1 = scalar, F32, 1676, "%", 1, 0 -etbRevLimitActive1 = bits, U32, 1680, [0:0] -jamDetected1 = bits, U32, 1680, [1:1] -etbTpsErrorCounter1 = scalar, U16, 1684, "count", 1,0 -etbPpsErrorCounter1 = scalar, U16, 1686, "count", 1,0 -etbErrorCode1 = scalar, S08, 1688, "", 1, 0 -tcEtbDrop1 = scalar, S08, 1689, "%", 1, 0 -jamTimer1 = scalar, U16, 1690, "sec", 0.01, 0 -adjustedEtbTarget1 = scalar, S08, 1692, "%", 1, 0 -; total TS size = 1696 -faultCode0 = scalar, U08, 1696, "", 1, 0 -heaterDuty0 = scalar, U08, 1697, "%", 1, 0 -pumpDuty0 = scalar, U08, 1698, "%", 1, 0 -tempC0 = scalar, U16, 1700, "C", 1, 0 -nernstVoltage0 = scalar, U16, 1702, "V", 0.001, 0 -esr0 = scalar, U16, 1704, "ohm", 1, 0 -; total TS size = 1708 -faultCode1 = scalar, U08, 1708, "", 1, 0 -heaterDuty1 = scalar, U08, 1709, "%", 1, 0 -pumpDuty1 = scalar, U08, 1710, "%", 1, 0 -tempC1 = scalar, U16, 1712, "C", 1, 0 -nernstVoltage1 = scalar, U16, 1714, "V", 0.001, 0 -esr1 = scalar, U16, 1716, "ohm", 1, 0 -; total TS size = 1720 -dcOutput0 = scalar, F32, 1720, "per", 1,0 -isEnabled0_int = scalar, U08, 1724, "per", 1,0 -isEnabled0 = bits, U32, 1728, [0:0] -; total TS size = 1732 -value0 = scalar, U16, 1732, "value", 1,0 -value1 = scalar, U16, 1734, "value", 1,0 -errorRate = scalar, F32, 1736, "ratio", 1,0 -; total TS size = 1740 -vvtTarget = scalar, U16, 1740, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1742, "%", 0.5, 0 -; total TS size = 1744 -lambdaCurrentlyGood = bits, U32, 1744, [0:0] -lambdaMonitorCut = bits, U32, 1744, [1:1] -lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 -; total TS size = 1752 +retardThresholdRpm = scalar, S32, 1120, "", 1, 0 +launchActivatePinState = bits, U32, 1124, [0:0] +isPreLaunchCondition = bits, U32, 1124, [1:1] +isLaunchCondition = bits, U32, 1124, [2:2] +isSwitchActivated = bits, U32, 1124, [3:3] +isClutchActivated = bits, U32, 1124, [4:4] +isBrakePedalActivated = bits, U32, 1124, [5:5] +isValidInputPin = bits, U32, 1124, [6:6] +activateSwitchCondition = bits, U32, 1124, [7:7] +rpmLaunchCondition = bits, U32, 1124, [8:8] +rpmPreLaunchCondition = bits, U32, 1124, [9:9] +speedCondition = bits, U32, 1124, [10:10] +tpsCondition = bits, U32, 1124, [11:11] +; total TS size = 1128 +isTorqueReductionTriggerPinValid = bits, U32, 1128, [0:0] +torqueReductionTriggerPinState = bits, U32, 1128, [1:1] +isTimeConditionSatisfied = bits, U32, 1128, [2:2] +isRpmConditionSatisfied = bits, U32, 1128, [3:3] +isAppConditionSatisfied = bits, U32, 1128, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1128, [5:5] +; total TS size = 1132 +isAntilagCondition = bits, U32, 1132, [0:0] +ALSMinRPMCondition = bits, U32, 1132, [1:1] +ALSMaxRPMCondition = bits, U32, 1132, [2:2] +ALSMinCLTCondition = bits, U32, 1132, [3:3] +ALSMaxCLTCondition = bits, U32, 1132, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1132, [5:5] +isALSSwitchActivated = bits, U32, 1132, [6:6] +ALSActivatePinState = bits, U32, 1132, [7:7] +ALSSwitchCondition = bits, U32, 1132, [8:8] +ALSTimerCondition = bits, U32, 1132, [9:9] +fuelALSCorrection = scalar, F32, 1136, "", 1, 0 +timingALSCorrection = scalar, S16, 1140, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1142, "deg", 0.01, 0 +; total TS size = 1144 +isTpsInvalid = bits, U32, 1144, [0:0] +m_shouldResetPid = bits, U32, 1144, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1144, [2:2] +isNotClosedLoop = bits, U32, 1144, [3:3] +isZeroRpm = bits, U32, 1144, [4:4] +hasInitBoost = bits, U32, 1144, [5:5] +rpmTooLow = bits, U32, 1144, [6:6] +tpsTooLow = bits, U32, 1144, [7:7] +mapTooLow = bits, U32, 1144, [8:8] +isPlantValid = bits, U32, 1144, [9:9] +isBoostControlled = bits, U32, 1144, [10:10] +luaTargetAdd = scalar, S16, 1148, "v", 0.5,0 +boostOutput = scalar, S16, 1150, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1152, "v", 1,0 +openLoopPart = scalar, F32, 1156, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1160, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1164, "%", 0.5,0 +boostControlTarget = scalar, S16, 1166, "kPa", 0.03333333333333333,0 +; total TS size = 1168 +acButtonState = scalar, S08, 1168, "", 1, 0 +m_acEnabled = bits, U32, 1172, [0:0] +engineTooSlow = bits, U32, 1172, [1:1] +engineTooFast = bits, U32, 1172, [2:2] +noClt = bits, U32, 1172, [3:3] +engineTooHot = bits, U32, 1172, [4:4] +tpsTooHigh = bits, U32, 1172, [5:5] +isDisabledByLua = bits, U32, 1172, [6:6] +acCompressorState = bits, U32, 1172, [7:7] +acPressureTooLow = bits, U32, 1172, [8:8] +acPressureTooHigh = bits, U32, 1172, [9:9] +; total TS size = 1176 +cranking0 = bits, U32, 1176, [0:0] +notRunning0 = bits, U32, 1176, [1:1] +disabledWhileEngineStopped0 = bits, U32, 1176, [2:2] +brokenClt0 = bits, U32, 1176, [3:3] +enabledForAc0 = bits, U32, 1176, [4:4] +hot0 = bits, U32, 1176, [5:5] +cold0 = bits, U32, 1176, [6:6] +disabledBySpeed0 = bits, U32, 1176, [7:7] +radiatorFanStatus0 = scalar, U08, 1180, "", 1, 0 +; total TS size = 1184 +cranking1 = bits, U32, 1184, [0:0] +notRunning1 = bits, U32, 1184, [1:1] +disabledWhileEngineStopped1 = bits, U32, 1184, [2:2] +brokenClt1 = bits, U32, 1184, [3:3] +enabledForAc1 = bits, U32, 1184, [4:4] +hot1 = bits, U32, 1184, [5:5] +cold1 = bits, U32, 1184, [6:6] +disabledBySpeed1 = bits, U32, 1184, [7:7] +radiatorFanStatus1 = scalar, U08, 1188, "", 1, 0 +; total TS size = 1192 +isPrime = bits, U32, 1192, [0:0] +engineTurnedRecently = bits, U32, 1192, [1:1] +isFuelPumpOn = bits, U32, 1192, [2:2] +ignitionOn = bits, U32, 1192, [3:3] +; total TS size = 1196 +isBenchTest = bits, U32, 1196, [0:0] +hasIgnitionVoltage = bits, U32, 1196, [1:1] +mainRelayState = bits, U32, 1196, [2:2] +delayedShutoffRequested = bits, U32, 1196, [3:3] +; total TS size = 1200 +lua_fuelAdd = scalar, F32, 1200, "g", 1, 0 +lua_fuelMult = scalar, F32, 1204, "", 1, 0 +lua_clutchUpState = bits, U32, 1208, [0:0] +lua_brakePedalState = bits, U32, 1208, [1:1] +lua_acRequestState = bits, U32, 1208, [2:2] +lua_luaDisableEtb = bits, U32, 1208, [3:3] +lua_luaIgnCut = bits, U32, 1208, [4:4] +lua_luaFuelCut = bits, U32, 1208, [5:5] +lua_clutchDownState = bits, U32, 1208, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1208, [7:7] +sd_tCharge = scalar, S16, 1212, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1216, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1220, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1224, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1228, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1232, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1236, "", 1, 0 +hellenBoardId = scalar, S16, 1240, "id", 1, 0 +clutchUpState = scalar, S08, 1242, "", 1, 0 +clutchDownState = scalar, S08, 1243, "", 1, 0 +brakePedalState = scalar, S08, 1244, "", 1, 0 +startStopState = scalar, S08, 1245, "", 1, 0 +smartChipState = scalar, S08, 1246, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1247, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1248, "", 1, 0 +startStopPhysicalState = bits, U32, 1252, [0:0] +acrActive = bits, U32, 1252, [1:1] +acrEngineMovedRecently = bits, U32, 1252, [2:2] +heaterControlEnabled = bits, U32, 1252, [3:3] +luaDigitalState0 = bits, U32, 1252, [4:4] +luaDigitalState1 = bits, U32, 1252, [5:5] +luaDigitalState2 = bits, U32, 1252, [6:6] +luaDigitalState3 = bits, U32, 1252, [7:7] +startStopStateToggleCounter = scalar, U32, 1256, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1260, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1264, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1268, "", 1, 0 +desiredRpmLimit = scalar, S16, 1272, "rpm", 1, 0 +fuelInjectionCounter = scalar, U32, 1276, "", 1, 0 +globalSparkCounter = scalar, U32, 1280, "", 1, 0 +fuelingLoad = scalar, F32, 1284, "", 1, 0 +ignitionLoad = scalar, F32, 1288, "", 1, 0 +veTableYAxis = scalar, U16, 1292, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1294, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1295, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1296, "", 1, 0 +; total TS size = 1300 +tpsFrom = scalar, F32, 1300 +tpsTo = scalar, F32, 1304 +deltaTps = scalar, F32, 1308 +extraFuel = scalar, F32, 1312, "", 1, 0 +valueFromTable = scalar, F32, 1316, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1320, [0:0] +isBelowDecelThreshold = bits, U32, 1320, [1:1] +isTimeToResetAccumulator = bits, U32, 1320, [2:2] +isFractionalEnrichment = bits, U32, 1320, [3:3] +belowEpsilon = bits, U32, 1320, [4:4] +tooShort = bits, U32, 1320, [5:5] +fractionalInjFuel = scalar, F32, 1324, "", 1, 0 +accumulatedValue = scalar, F32, 1328, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1332, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1336, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1340, "", 1, 0 +cycleCnt = scalar, S32, 1344, "", 1, 0 +; total TS size = 1348 +hwEventCounters1 = scalar, U32, 1348, "", 1, 0 +hwEventCounters2 = scalar, U32, 1352, "", 1, 0 +hwEventCounters3 = scalar, U32, 1356, "", 1, 0 +hwEventCounters4 = scalar, U32, 1360, "", 1, 0 +hwEventCounters5 = scalar, U32, 1364, "", 1, 0 +hwEventCounters6 = scalar, U32, 1368, "", 1, 0 +vvtCamCounter = scalar, U32, 1372, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1376, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1380, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1384, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1385, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1388, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1392, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1396, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1400, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1404, [0:0] +triggerElapsedUs = scalar, U32, 1408, "", 1, 0 +; total TS size = 1412 +crankSynchronizationCounter0 = scalar, U32, 1412, "", 1, 0 +vvtSyncGapRatio0 = scalar, F32, 1416, "", 1, 0 +vvtToothDurations00 = scalar, U32, 1420, "us", 1, 0 +vvtCurrentPosition0 = scalar, F32, 1424, "sync: Primary Cam Position", 1, 0 +vvtToothPosition10 = scalar, F32, 1428, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition20 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition30 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition40 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio0 = scalar, F32, 1444, "", 1, 0 +triggerStateIndex0 = scalar, U08, 1448, "", 1, 0 +vvtStateIndex0 = scalar, U08, 1449, "", 1, 0 +; total TS size = 1452 +crankSynchronizationCounter1 = scalar, U32, 1452, "", 1, 0 +vvtSyncGapRatio1 = scalar, F32, 1456, "", 1, 0 +vvtToothDurations01 = scalar, U32, 1460, "us", 1, 0 +vvtCurrentPosition1 = scalar, F32, 1464, "sync: Primary Cam Position", 1, 0 +vvtToothPosition11 = scalar, F32, 1468, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition21 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition31 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition41 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio1 = scalar, F32, 1484, "", 1, 0 +triggerStateIndex1 = scalar, U08, 1488, "", 1, 0 +vvtStateIndex1 = scalar, U08, 1489, "", 1, 0 +; total TS size = 1492 +crankSynchronizationCounter2 = scalar, U32, 1492, "", 1, 0 +vvtSyncGapRatio2 = scalar, F32, 1496, "", 1, 0 +vvtToothDurations02 = scalar, U32, 1500, "us", 1, 0 +vvtCurrentPosition2 = scalar, F32, 1504, "sync: Primary Cam Position", 1, 0 +vvtToothPosition12 = scalar, F32, 1508, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition22 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition32 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition42 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio2 = scalar, F32, 1524, "", 1, 0 +triggerStateIndex2 = scalar, U08, 1528, "", 1, 0 +vvtStateIndex2 = scalar, U08, 1529, "", 1, 0 +; total TS size = 1532 +crankSynchronizationCounter3 = scalar, U32, 1532, "", 1, 0 +vvtSyncGapRatio3 = scalar, F32, 1536, "", 1, 0 +vvtToothDurations03 = scalar, U32, 1540, "us", 1, 0 +vvtCurrentPosition3 = scalar, F32, 1544, "sync: Primary Cam Position", 1, 0 +vvtToothPosition13 = scalar, F32, 1548, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition23 = scalar, F32, 1552, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition33 = scalar, F32, 1556, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition43 = scalar, F32, 1560, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio3 = scalar, F32, 1564, "", 1, 0 +triggerStateIndex3 = scalar, U08, 1568, "", 1, 0 +vvtStateIndex3 = scalar, U08, 1569, "", 1, 0 +; total TS size = 1572 +crankSynchronizationCounter4 = scalar, U32, 1572, "", 1, 0 +vvtSyncGapRatio4 = scalar, F32, 1576, "", 1, 0 +vvtToothDurations04 = scalar, U32, 1580, "us", 1, 0 +vvtCurrentPosition4 = scalar, F32, 1584, "sync: Primary Cam Position", 1, 0 +vvtToothPosition14 = scalar, F32, 1588, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition24 = scalar, F32, 1592, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition34 = scalar, F32, 1596, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition44 = scalar, F32, 1600, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio4 = scalar, F32, 1604, "", 1, 0 +triggerStateIndex4 = scalar, U08, 1608, "", 1, 0 +vvtStateIndex4 = scalar, U08, 1609, "", 1, 0 +; total TS size = 1612 +camResyncCounter = scalar, U08, 1612, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1616, [0:0] +; total TS size = 1620 +wallFuelCorrection = scalar, F32, 1620, "", 1, 0 +wallFuel = scalar, F32, 1624, "", 1, 0 +; total TS size = 1628 +idleState = bits, S32, 1628, [0:2], "not important" +currentIdlePosition = scalar, F32, 1632 +baseIdlePosition = scalar, F32, 1636 +idleClosedLoop = scalar, F32, 1640 +iacByTpsTaper = scalar, F32, 1644 +throttlePedalUpState = scalar, S32, 1648, "", 1, 0 +mightResetPid = bits, U32, 1652, [0:0] +shouldResetPid = bits, U32, 1652, [1:1] +wasResetPid = bits, U32, 1652, [2:2] +mustResetPid = bits, U32, 1652, [3:3] +isCranking = bits, U32, 1652, [4:4] +isIacTableForCoasting = bits, U32, 1652, [5:5] +notIdling = bits, U32, 1652, [6:6] +needReset = bits, U32, 1652, [7:7] +isInDeadZone = bits, U32, 1652, [8:8] +isBlipping = bits, U32, 1652, [9:9] +useClosedLoop = bits, U32, 1652, [10:10] +badTps = bits, U32, 1652, [11:11] +looksLikeRunning = bits, U32, 1652, [12:12] +looksLikeCoasting = bits, U32, 1652, [13:13] +looksLikeCrankToIdle = bits, U32, 1652, [14:14] +isIdleCoasting = bits, U32, 1652, [15:15] +isIdleClosedLoop = bits, U32, 1652, [16:16] +idleTarget = scalar, S32, 1656, "", 1, 0 +targetRpmByClt = scalar, S32, 1660, "", 1, 0 +targetRpmAc = scalar, S32, 1664, "", 1, 0 +iacByRpmTaper = scalar, F32, 1668 +luaAdd = scalar, F32, 1672 +; total TS size = 1676 +targetWithIdlePosition0 = scalar, F32, 1676, "per", 1,0 +trim0 = scalar, F32, 1680, "", 1, 0 +luaAdjustment0 = scalar, F32, 1684, "per", 1,0 +m_wastegatePosition0 = scalar, F32, 1688, "per", 1,0 +etbFeedForward0 = scalar, F32, 1692 +etbIntegralError0 = scalar, F32, 1696, "", 1, 0 +etbCurrentTarget0 = scalar, F32, 1700, "%", 1, 0 +etbCurrentAdjustedTarget0 = scalar, F32, 1704, "%", 1, 0 +etbRevLimitActive0 = bits, U32, 1708, [0:0] +jamDetected0 = bits, U32, 1708, [1:1] +etbTpsErrorCounter0 = scalar, U16, 1712, "count", 1,0 +etbPpsErrorCounter0 = scalar, U16, 1714, "count", 1,0 +etbErrorCode0 = scalar, S08, 1716, "", 1, 0 +tcEtbDrop0 = scalar, S08, 1717, "%", 1, 0 +jamTimer0 = scalar, U16, 1718, "sec", 0.01, 0 +adjustedEtbTarget0 = scalar, S08, 1720, "%", 1, 0 +; total TS size = 1724 +targetWithIdlePosition1 = scalar, F32, 1724, "per", 1,0 +trim1 = scalar, F32, 1728, "", 1, 0 +luaAdjustment1 = scalar, F32, 1732, "per", 1,0 +m_wastegatePosition1 = scalar, F32, 1736, "per", 1,0 +etbFeedForward1 = scalar, F32, 1740 +etbIntegralError1 = scalar, F32, 1744, "", 1, 0 +etbCurrentTarget1 = scalar, F32, 1748, "%", 1, 0 +etbCurrentAdjustedTarget1 = scalar, F32, 1752, "%", 1, 0 +etbRevLimitActive1 = bits, U32, 1756, [0:0] +jamDetected1 = bits, U32, 1756, [1:1] +etbTpsErrorCounter1 = scalar, U16, 1760, "count", 1,0 +etbPpsErrorCounter1 = scalar, U16, 1762, "count", 1,0 +etbErrorCode1 = scalar, S08, 1764, "", 1, 0 +tcEtbDrop1 = scalar, S08, 1765, "%", 1, 0 +jamTimer1 = scalar, U16, 1766, "sec", 0.01, 0 +adjustedEtbTarget1 = scalar, S08, 1768, "%", 1, 0 +; total TS size = 1772 +faultCode0 = scalar, U08, 1772, "", 1, 0 +heaterDuty0 = scalar, U08, 1773, "%", 1, 0 +pumpDuty0 = scalar, U08, 1774, "%", 1, 0 +tempC0 = scalar, U16, 1776, "C", 1, 0 +nernstVoltage0 = scalar, U16, 1778, "V", 0.001, 0 +esr0 = scalar, U16, 1780, "ohm", 1, 0 +; total TS size = 1784 +faultCode1 = scalar, U08, 1784, "", 1, 0 +heaterDuty1 = scalar, U08, 1785, "%", 1, 0 +pumpDuty1 = scalar, U08, 1786, "%", 1, 0 +tempC1 = scalar, U16, 1788, "C", 1, 0 +nernstVoltage1 = scalar, U16, 1790, "V", 0.001, 0 +esr1 = scalar, U16, 1792, "ohm", 1, 0 +; total TS size = 1796 +dcOutput0 = scalar, F32, 1796, "per", 1,0 +isEnabled0_int = scalar, U08, 1800, "per", 1,0 +isEnabled0 = bits, U32, 1804, [0:0] +; total TS size = 1808 +value0 = scalar, U16, 1808, "value", 1,0 +value1 = scalar, U16, 1810, "value", 1,0 +errorRate = scalar, F32, 1812, "ratio", 1,0 +; total TS size = 1816 +vvtTarget = scalar, U16, 1816, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1818, "%", 0.5, 0 +; total TS size = 1820 +lambdaCurrentlyGood = bits, U32, 1820, [0:0] +lambdaMonitorCut = bits, U32, 1820, [1:1] +lambdaTimeSinceGood = scalar, U16, 1824, "sec", 0.01, 0 +; total TS size = 1828 time = { timeNow } @@ -3616,6 +3648,7 @@ lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs8 requiresPowerCycle = cylinderBore + requiresPowerCycle = knockFrequency readOnly = warning_message readOnly = device_uid1 @@ -5033,6 +5066,26 @@ gaugeCategory = Knock knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knockSpectrumChannelCylGauge = m_knockSpectrumChannelCyl, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStartGauge = m_knockFrequencyStart, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStepGauge = m_knockFrequencyStep, "Knock Frequency Step", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFuelTrimMultiplier = m_knockFuelTrimMultiplier, "Knock Fuel Trim", "mult", 0, 0, 0, 0, 0, 30, 1, 1 + knockSpectrum1 = m_knockSpectrum1, "Knock Spectrum1", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum2 = m_knockSpectrum2, "knockSpectrum2", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum3 = m_knockSpectrum3, "knockSpectrum3", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum4 = m_knockSpectrum4, "knockSpectrum4", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum5 = m_knockSpectrum5, "knockSpectrum5", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum6 = m_knockSpectrum6, "knockSpectrum6", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum7 = m_knockSpectrum7, "knockSpectrum7", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum8 = m_knockSpectrum8, "knockSpectrum8", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum9 = m_knockSpectrum9, "knockSpectrum9", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum10 = m_knockSpectrum10, "knockSpectrum10", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum11 = m_knockSpectrum11, "knockSpectrum11", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum12 = m_knockSpectrum12, "knockSpectrum12", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum13 = m_knockSpectrum13, "knockSpectrum13", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum14 = m_knockSpectrum14, "knockSpectrum14", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum15 = m_knockSpectrum15, "knockSpectrum15", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum16 = m_knockSpectrum16, "knockSpectrum16", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -5631,6 +5684,26 @@ entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" entry = m_knockCount, "Knock: Count", int, "%d" entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_knockFrequency, "knock: frequency", int, "%d" +entry = m_knockSpectrum1, "Knock: SpectrumData 1", int, "%d" +entry = m_knockSpectrum2, "Knock: SpectrumData 2", int, "%d" +entry = m_knockSpectrum3, "Knock: SpectrumData 3", int, "%d" +entry = m_knockSpectrum4, "Knock: SpectrumData 4", int, "%d" +entry = m_knockSpectrum5, "Knock: SpectrumData 5", int, "%d" +entry = m_knockSpectrum6, "Knock: SpectrumData 6", int, "%d" +entry = m_knockSpectrum7, "Knock: SpectrumData 7", int, "%d" +entry = m_knockSpectrum8, "Knock: SpectrumData 8", int, "%d" +entry = m_knockSpectrum9, "Knock: SpectrumData 9", int, "%d" +entry = m_knockSpectrum10, "Knock: SpectrumData 10", int, "%d" +entry = m_knockSpectrum11, "Knock: SpectrumData 11", int, "%d" +entry = m_knockSpectrum12, "Knock: SpectrumData 12", int, "%d" +entry = m_knockSpectrum13, "Knock: SpectrumData 13", int, "%d" +entry = m_knockSpectrum14, "Knock: SpectrumData 14", int, "%d" +entry = m_knockSpectrum15, "Knock: SpectrumData 15", int, "%d" +entry = m_knockSpectrum16, "Knock: SpectrumData 16", int, "%d" +entry = m_knockSpectrumChannelCyl, "Knock: ChannelAndCylNumber", int, "%d" +entry = m_knockFrequencyStart, "Knock: Start Freq", int, "%d" +entry = m_knockFrequencyStep, "Knock: Step Freq", float, "%.3f" +entry = m_knockFuelTrimMultiplier, "Knock: Fuel trim when knock", float, "%.3f" entry = tcuCurrentGear, "TCU: Current Gear", int, "%d" entry = tcRatio, "TCU: Torque Converter Ratio", float, "%.3f" entry = lastShiftTime, "lastShiftTime", float, "%.3f" @@ -6527,6 +6600,31 @@ dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard graphLine = m_knockFrequency + graphLine = m_knockSpectrum1 + graphLine = m_knockSpectrum2 + liveGraph = knock_controller_6_Graph, "Graph", South + graphLine = m_knockSpectrum3 + graphLine = m_knockSpectrum4 + graphLine = m_knockSpectrum5 + graphLine = m_knockSpectrum6 + liveGraph = knock_controller_7_Graph, "Graph", South + graphLine = m_knockSpectrum7 + graphLine = m_knockSpectrum8 + graphLine = m_knockSpectrum9 + graphLine = m_knockSpectrum10 + liveGraph = knock_controller_8_Graph, "Graph", South + graphLine = m_knockSpectrum11 + graphLine = m_knockSpectrum12 + graphLine = m_knockSpectrum13 + graphLine = m_knockSpectrum14 + liveGraph = knock_controller_9_Graph, "Graph", South + graphLine = m_knockSpectrum15 + graphLine = m_knockSpectrum16 + graphLine = m_knockSpectrumChannelCyl + graphLine = m_knockFrequencyStart + liveGraph = knock_controller_10_Graph, "Graph", South + graphLine = m_knockFrequencyStep + graphLine = m_knockFuelTrimMultiplier indicatorPanel = tcu_controllerIndicatorPanel, 2 indicator = {isShifting}, "isShifting No", "isShifting Yes" @@ -8595,9 +8693,13 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockCfg, "Sense" field = "Enable", enableSoftwareKnock field = "Cylinder Bore", cylinderBore, {enableSoftwareKnock} + field = "Estimated Knock Frequency",knockFrequency, {enableSoftwareKnock} field = "Detection mode", knockDetectionUseDoubleFrequency field = "Detection Window Start",knockDetectionWindowStart, {enableSoftwareKnock} field = "Sampling Duration", knockSamplingDuration, {enableSoftwareKnock} + field = "Enable Knock Spectrogram", enableKnockSpectrogram, {enableSoftwareKnock} + field = "Enable Knock Spectrogram Filter", enableKnockSpectrogramFilter, {enableKnockSpectrogram} + field = "Knock Spectrum Sensitivity", knockSpectrumSensitivity, {enableKnockSpectrogram} field = "" field = "Select the nearest sensor for each cylinder" @@ -8617,6 +8719,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockResponseCfg, "Response" field = knockRetardAggression, knockRetardAggression field = knockRetardReapplyRate, knockRetardReapplyRate + field = knockFuelTrimAggression, knockFuelTrimAggression + field = knockFuelTrimReapplyRate, knockFuelTrimReapplyRate + field = knockFuelTrim, knockFuelTrim + field = knockSuppressMinTps, knockSuppressMinTps dialog = softwareKnockLeft, "" panel = softwareKnockCfg diff --git a/firmware/tunerstudio/generated/rusefi_stm32h743_nucleo.ini b/firmware/tunerstudio/generated/rusefi_stm32h743_nucleo.ini index e32d16d4d6..69333f0522 100644 --- a/firmware/tunerstudio/generated/rusefi_stm32h743_nucleo.ini +++ b/firmware/tunerstudio/generated/rusefi_stm32h743_nucleo.ini @@ -38,12 +38,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.10.21.stm32h743_nucleo.2262948377" + signature = "rusEFI master.2024.10.21.stm32h743_nucleo.1523155174" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.10.21.stm32h743_nucleo.2262948377" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.10.21.stm32h743_nucleo.1523155174" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -774,6 +774,7 @@ devBit7 = bits, U32, 1492, [27:27], "false", "true" unusedSkipWasHere = bits, U32, 1492, [28:28], "false", "true" invertExhaustCamVVTSignal = bits, U32, 1492, [29:29], "Rising", "Falling" enableKnockSpectrogram = bits, U32, 1492, [30:30], "false", "true" +enableKnockSpectrogramFilter = bits, U32, 1492, [31:31], "false", "true" afterCrankingIACtaperDuration = scalar, S16, 1496, "cycles", 1, 0, 0, 5000, 0 iacByTpsTaper = scalar, S16, 1498, "percent", 1, 0, 0, 500, 0 unusedAuxSeria = bits, U16, 1500, [0:8], $gpio_list @@ -1394,7 +1395,13 @@ auxLinear4_v1 = scalar, F32, 3880, "volts", 1, 0, 0, 10, 2 auxLinear4_value1 = scalar, F32, 3884, "", 1, 0, -100000, 1000000, 2 auxLinear4_v2 = scalar, F32, 3888, "volts", 1, 0, 0, 10, 2 auxLinear4_value2 = scalar, F32, 3892, "", 1, 0, -100000, 1000000, 2 -unusedOftenChangesDuringFirmwareUpdate = array, U08, 3896, [128], "units", 1, 0, 0, 1, 0 +knockSuppressMinTps = scalar, U08, 3896, "%", 1, 0, 0, 100, 1 +knockFuelTrimAggression = scalar, U08, 3897, "%", 0.1, 0, 0, 20, 1 +knockFuelTrimReapplyRate = scalar, U08, 3898, "deg/s", 0.1, 0, 0, 10, 1 +knockFuelTrim = scalar, U08, 3899, "%", 1, 0, 0, 30, 1 +knockSpectrumSensitivity = scalar, F32, 3900, "sense", 1, 0, 0, 1, 2 +knockFrequency = scalar, F32, 3904, "Hz", 1, 0, 0, 20000, 2 +unusedOftenChangesDuringFirmwareUpdate = array, U08, 3908, [116], "units", 1, 0, 0, 1, 0 postCrankingFactor = array, F32, 4024, [6x6], "mult", 1, 0, 1, 3, 2 postCrankingDurationBins = array, F32, 4168, [6], "count", 1, 0, 0, 1000, 0 postCrankingCLTBins = array, S16, 4192, [6], "C", 1, 0, -100, 250, 0 @@ -2448,6 +2455,11 @@ minimumOilPressureValues = array, U08, 22960, [8], "kPa", 10.0, 0, 0, 1000, 0 minAcPressure = "value of A/C pressure in kPa before that compressor is disengaged" maxAcPressure = "value of A/C pressure in kPa after that compressor is disengaged" minimumOilPressureTimeout = "Delay before cutting fuel due to low oil pressure. Use this to ignore short pressure blips and sensor noise." + knockSuppressMinTps = "Below TPS value all knock suppression will be disabled." + knockFuelTrimAggression = "Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump)," + knockFuelTrimReapplyRate = "After a knock event, reapply fuel at this rate." + knockFuelTrim = "Fuel trim when knock, max 30%" + knockFrequency = "Estimated knock frequency, ignore cylinderBore if this one > 0" etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, open loop component of PID closed loop control" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2560,7 +2572,7 @@ minimumOilPressureValues = array, U08, 22960, [8], "kPa", 10.0, 0, 0, 1000, 0 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1752 + ochBlockSize = 1828 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3101,370 +3113,390 @@ m_knockThreshold = scalar, F32, 960, "", 1, 0 m_knockCount = scalar, U32, 964, "", 1, 0 m_maximumRetard = scalar, F32, 968, "", 1, 0 m_knockFrequency = scalar, U32, 972, "Hz", 1, 0 -; total TS size = 976 -tcuCurrentGear = scalar, S08, 976, "gear", 1, 0 -tcRatio = scalar, U16, 978, "value", 0.01, 0 -lastShiftTime = scalar, F32, 980, "", 1, 0 -tcu_currentRange = scalar, U08, 984, "", 1, 0 -pressureControlDuty = scalar, S08, 985, "%", 1,0 -torqueConverterDuty = scalar, S08, 986, "%", 1,0 -isShifting = bits, U32, 988, [0:0] -; total TS size = 992 -throttleUseWotModel = bits, U32, 992, [0:0] -throttleModelCrossoverAngle = scalar, S16, 996, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1000, "g/s", 1, 0 -; total TS size = 1004 -m_requested_pump = scalar, F32, 1004, "", 1, 0 -fuel_requested_percent = scalar, F32, 1008, "", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1012, "", 1, 0 -noValve = bits, U32, 1016, [0:0] -angleAboveMin = bits, U32, 1016, [1:1] -isHpfpInactive = bits, U32, 1016, [2:2] -m_pressureTarget_kPa = scalar, F32, 1020, "", 1, 0 -nextLobe = scalar, F32, 1024, "", 1, 0 -di_nextStart = scalar, F32, 1028, "v", 1, 0 -; total TS size = 1032 -m_deadtime = scalar, F32, 1032, "ms", 1, 0 -pressureDelta = scalar, F32, 1036, "kPa", 1, 0 -pressureRatio = scalar, F32, 1040, "", 1, 0 -; total TS size = 1044 -retardThresholdRpm = scalar, S32, 1044, "", 1, 0 -launchActivatePinState = bits, U32, 1048, [0:0] -isPreLaunchCondition = bits, U32, 1048, [1:1] -isLaunchCondition = bits, U32, 1048, [2:2] -isSwitchActivated = bits, U32, 1048, [3:3] -isClutchActivated = bits, U32, 1048, [4:4] -isBrakePedalActivated = bits, U32, 1048, [5:5] -isValidInputPin = bits, U32, 1048, [6:6] -activateSwitchCondition = bits, U32, 1048, [7:7] -rpmLaunchCondition = bits, U32, 1048, [8:8] -rpmPreLaunchCondition = bits, U32, 1048, [9:9] -speedCondition = bits, U32, 1048, [10:10] -tpsCondition = bits, U32, 1048, [11:11] +m_knockSpectrum1 = scalar, U32, 976, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 980, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 984, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 988, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1040, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1042, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1044, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1048, "multiplier", 1, 0 ; total TS size = 1052 -isTorqueReductionTriggerPinValid = bits, U32, 1052, [0:0] -torqueReductionTriggerPinState = bits, U32, 1052, [1:1] -isTimeConditionSatisfied = bits, U32, 1052, [2:2] -isRpmConditionSatisfied = bits, U32, 1052, [3:3] -isAppConditionSatisfied = bits, U32, 1052, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1052, [5:5] -; total TS size = 1056 -isAntilagCondition = bits, U32, 1056, [0:0] -ALSMinRPMCondition = bits, U32, 1056, [1:1] -ALSMaxRPMCondition = bits, U32, 1056, [2:2] -ALSMinCLTCondition = bits, U32, 1056, [3:3] -ALSMaxCLTCondition = bits, U32, 1056, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1056, [5:5] -isALSSwitchActivated = bits, U32, 1056, [6:6] -ALSActivatePinState = bits, U32, 1056, [7:7] -ALSSwitchCondition = bits, U32, 1056, [8:8] -ALSTimerCondition = bits, U32, 1056, [9:9] -fuelALSCorrection = scalar, F32, 1060, "", 1, 0 -timingALSCorrection = scalar, S16, 1064, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1066, "deg", 0.01, 0 +tcuCurrentGear = scalar, S08, 1052, "gear", 1, 0 +tcRatio = scalar, U16, 1054, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1056, "", 1, 0 +tcu_currentRange = scalar, U08, 1060, "", 1, 0 +pressureControlDuty = scalar, S08, 1061, "%", 1,0 +torqueConverterDuty = scalar, S08, 1062, "%", 1,0 +isShifting = bits, U32, 1064, [0:0] ; total TS size = 1068 -isTpsInvalid = bits, U32, 1068, [0:0] -m_shouldResetPid = bits, U32, 1068, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1068, [2:2] -isNotClosedLoop = bits, U32, 1068, [3:3] -isZeroRpm = bits, U32, 1068, [4:4] -hasInitBoost = bits, U32, 1068, [5:5] -rpmTooLow = bits, U32, 1068, [6:6] -tpsTooLow = bits, U32, 1068, [7:7] -mapTooLow = bits, U32, 1068, [8:8] -isPlantValid = bits, U32, 1068, [9:9] -isBoostControlled = bits, U32, 1068, [10:10] -luaTargetAdd = scalar, S16, 1072, "v", 0.5,0 -boostOutput = scalar, S16, 1074, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1076, "v", 1,0 -openLoopPart = scalar, F32, 1080, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1084, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1088, "%", 0.5,0 -boostControlTarget = scalar, S16, 1090, "kPa", 0.03333333333333333,0 -; total TS size = 1092 -acButtonState = scalar, S08, 1092, "", 1, 0 -m_acEnabled = bits, U32, 1096, [0:0] -engineTooSlow = bits, U32, 1096, [1:1] -engineTooFast = bits, U32, 1096, [2:2] -noClt = bits, U32, 1096, [3:3] -engineTooHot = bits, U32, 1096, [4:4] -tpsTooHigh = bits, U32, 1096, [5:5] -isDisabledByLua = bits, U32, 1096, [6:6] -acCompressorState = bits, U32, 1096, [7:7] -acPressureTooLow = bits, U32, 1096, [8:8] -acPressureTooHigh = bits, U32, 1096, [9:9] -; total TS size = 1100 -cranking0 = bits, U32, 1100, [0:0] -notRunning0 = bits, U32, 1100, [1:1] -disabledWhileEngineStopped0 = bits, U32, 1100, [2:2] -brokenClt0 = bits, U32, 1100, [3:3] -enabledForAc0 = bits, U32, 1100, [4:4] -hot0 = bits, U32, 1100, [5:5] -cold0 = bits, U32, 1100, [6:6] -disabledBySpeed0 = bits, U32, 1100, [7:7] -radiatorFanStatus0 = scalar, U08, 1104, "", 1, 0 +throttleUseWotModel = bits, U32, 1068, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1072, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1076, "g/s", 1, 0 +; total TS size = 1080 +m_requested_pump = scalar, F32, 1080, "", 1, 0 +fuel_requested_percent = scalar, F32, 1084, "", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1088, "", 1, 0 +noValve = bits, U32, 1092, [0:0] +angleAboveMin = bits, U32, 1092, [1:1] +isHpfpInactive = bits, U32, 1092, [2:2] +m_pressureTarget_kPa = scalar, F32, 1096, "", 1, 0 +nextLobe = scalar, F32, 1100, "", 1, 0 +di_nextStart = scalar, F32, 1104, "v", 1, 0 ; total TS size = 1108 -cranking1 = bits, U32, 1108, [0:0] -notRunning1 = bits, U32, 1108, [1:1] -disabledWhileEngineStopped1 = bits, U32, 1108, [2:2] -brokenClt1 = bits, U32, 1108, [3:3] -enabledForAc1 = bits, U32, 1108, [4:4] -hot1 = bits, U32, 1108, [5:5] -cold1 = bits, U32, 1108, [6:6] -disabledBySpeed1 = bits, U32, 1108, [7:7] -radiatorFanStatus1 = scalar, U08, 1112, "", 1, 0 -; total TS size = 1116 -isPrime = bits, U32, 1116, [0:0] -engineTurnedRecently = bits, U32, 1116, [1:1] -isFuelPumpOn = bits, U32, 1116, [2:2] -ignitionOn = bits, U32, 1116, [3:3] +m_deadtime = scalar, F32, 1108, "ms", 1, 0 +pressureDelta = scalar, F32, 1112, "kPa", 1, 0 +pressureRatio = scalar, F32, 1116, "", 1, 0 ; total TS size = 1120 -isBenchTest = bits, U32, 1120, [0:0] -hasIgnitionVoltage = bits, U32, 1120, [1:1] -mainRelayState = bits, U32, 1120, [2:2] -delayedShutoffRequested = bits, U32, 1120, [3:3] -; total TS size = 1124 -lua_fuelAdd = scalar, F32, 1124, "g", 1, 0 -lua_fuelMult = scalar, F32, 1128, "", 1, 0 -lua_clutchUpState = bits, U32, 1132, [0:0] -lua_brakePedalState = bits, U32, 1132, [1:1] -lua_acRequestState = bits, U32, 1132, [2:2] -lua_luaDisableEtb = bits, U32, 1132, [3:3] -lua_luaIgnCut = bits, U32, 1132, [4:4] -lua_luaFuelCut = bits, U32, 1132, [5:5] -lua_clutchDownState = bits, U32, 1132, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1132, [7:7] -sd_tCharge = scalar, S16, 1136, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1140, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1144, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1148, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1152, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1156, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1160, "", 1, 0 -hellenBoardId = scalar, S16, 1164, "id", 1, 0 -clutchUpState = scalar, S08, 1166, "", 1, 0 -clutchDownState = scalar, S08, 1167, "", 1, 0 -brakePedalState = scalar, S08, 1168, "", 1, 0 -startStopState = scalar, S08, 1169, "", 1, 0 -smartChipState = scalar, S08, 1170, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1171, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1172, "", 1, 0 -startStopPhysicalState = bits, U32, 1176, [0:0] -acrActive = bits, U32, 1176, [1:1] -acrEngineMovedRecently = bits, U32, 1176, [2:2] -heaterControlEnabled = bits, U32, 1176, [3:3] -luaDigitalState0 = bits, U32, 1176, [4:4] -luaDigitalState1 = bits, U32, 1176, [5:5] -luaDigitalState2 = bits, U32, 1176, [6:6] -luaDigitalState3 = bits, U32, 1176, [7:7] -startStopStateToggleCounter = scalar, U32, 1180, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1184, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1188, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1192, "", 1, 0 -desiredRpmLimit = scalar, S16, 1196, "rpm", 1, 0 -fuelInjectionCounter = scalar, U32, 1200, "", 1, 0 -globalSparkCounter = scalar, U32, 1204, "", 1, 0 -fuelingLoad = scalar, F32, 1208, "", 1, 0 -ignitionLoad = scalar, F32, 1212, "", 1, 0 -veTableYAxis = scalar, U16, 1216, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1218, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1219, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1220, "", 1, 0 -; total TS size = 1224 -tpsFrom = scalar, F32, 1224 -tpsTo = scalar, F32, 1228 -deltaTps = scalar, F32, 1232 -extraFuel = scalar, F32, 1236, "", 1, 0 -valueFromTable = scalar, F32, 1240, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1244, [0:0] -isBelowDecelThreshold = bits, U32, 1244, [1:1] -isTimeToResetAccumulator = bits, U32, 1244, [2:2] -isFractionalEnrichment = bits, U32, 1244, [3:3] -belowEpsilon = bits, U32, 1244, [4:4] -tooShort = bits, U32, 1244, [5:5] -fractionalInjFuel = scalar, F32, 1248, "", 1, 0 -accumulatedValue = scalar, F32, 1252, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1256, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1260, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1264, "", 1, 0 -cycleCnt = scalar, S32, 1268, "", 1, 0 -; total TS size = 1272 -hwEventCounters1 = scalar, U32, 1272, "", 1, 0 -hwEventCounters2 = scalar, U32, 1276, "", 1, 0 -hwEventCounters3 = scalar, U32, 1280, "", 1, 0 -hwEventCounters4 = scalar, U32, 1284, "", 1, 0 -hwEventCounters5 = scalar, U32, 1288, "", 1, 0 -hwEventCounters6 = scalar, U32, 1292, "", 1, 0 -vvtCamCounter = scalar, U32, 1296, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1300, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1304, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1308, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1309, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1312, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1316, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1320, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1324, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1328, [0:0] -triggerElapsedUs = scalar, U32, 1332, "", 1, 0 -; total TS size = 1336 -crankSynchronizationCounter0 = scalar, U32, 1336, "", 1, 0 -vvtSyncGapRatio0 = scalar, F32, 1340, "", 1, 0 -vvtToothDurations00 = scalar, U32, 1344, "us", 1, 0 -vvtCurrentPosition0 = scalar, F32, 1348, "sync: Primary Cam Position", 1, 0 -vvtToothPosition10 = scalar, F32, 1352, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition20 = scalar, F32, 1356, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition30 = scalar, F32, 1360, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition40 = scalar, F32, 1364, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio0 = scalar, F32, 1368, "", 1, 0 -triggerStateIndex0 = scalar, U08, 1372, "", 1, 0 -vvtStateIndex0 = scalar, U08, 1373, "", 1, 0 -; total TS size = 1376 -crankSynchronizationCounter1 = scalar, U32, 1376, "", 1, 0 -vvtSyncGapRatio1 = scalar, F32, 1380, "", 1, 0 -vvtToothDurations01 = scalar, U32, 1384, "us", 1, 0 -vvtCurrentPosition1 = scalar, F32, 1388, "sync: Primary Cam Position", 1, 0 -vvtToothPosition11 = scalar, F32, 1392, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition21 = scalar, F32, 1396, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition31 = scalar, F32, 1400, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition41 = scalar, F32, 1404, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio1 = scalar, F32, 1408, "", 1, 0 -triggerStateIndex1 = scalar, U08, 1412, "", 1, 0 -vvtStateIndex1 = scalar, U08, 1413, "", 1, 0 -; total TS size = 1416 -crankSynchronizationCounter2 = scalar, U32, 1416, "", 1, 0 -vvtSyncGapRatio2 = scalar, F32, 1420, "", 1, 0 -vvtToothDurations02 = scalar, U32, 1424, "us", 1, 0 -vvtCurrentPosition2 = scalar, F32, 1428, "sync: Primary Cam Position", 1, 0 -vvtToothPosition12 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition22 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition32 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition42 = scalar, F32, 1444, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio2 = scalar, F32, 1448, "", 1, 0 -triggerStateIndex2 = scalar, U08, 1452, "", 1, 0 -vvtStateIndex2 = scalar, U08, 1453, "", 1, 0 -; total TS size = 1456 -crankSynchronizationCounter3 = scalar, U32, 1456, "", 1, 0 -vvtSyncGapRatio3 = scalar, F32, 1460, "", 1, 0 -vvtToothDurations03 = scalar, U32, 1464, "us", 1, 0 -vvtCurrentPosition3 = scalar, F32, 1468, "sync: Primary Cam Position", 1, 0 -vvtToothPosition13 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition23 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition33 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition43 = scalar, F32, 1484, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio3 = scalar, F32, 1488, "", 1, 0 -triggerStateIndex3 = scalar, U08, 1492, "", 1, 0 -vvtStateIndex3 = scalar, U08, 1493, "", 1, 0 -; total TS size = 1496 -crankSynchronizationCounter4 = scalar, U32, 1496, "", 1, 0 -vvtSyncGapRatio4 = scalar, F32, 1500, "", 1, 0 -vvtToothDurations04 = scalar, U32, 1504, "us", 1, 0 -vvtCurrentPosition4 = scalar, F32, 1508, "sync: Primary Cam Position", 1, 0 -vvtToothPosition14 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition24 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition34 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition44 = scalar, F32, 1524, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio4 = scalar, F32, 1528, "", 1, 0 -triggerStateIndex4 = scalar, U08, 1532, "", 1, 0 -vvtStateIndex4 = scalar, U08, 1533, "", 1, 0 -; total TS size = 1536 -camResyncCounter = scalar, U08, 1536, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1540, [0:0] -; total TS size = 1544 -wallFuelCorrection = scalar, F32, 1544, "", 1, 0 -wallFuel = scalar, F32, 1548, "", 1, 0 -; total TS size = 1552 -idleState = bits, S32, 1552, [0:2], "not important" -currentIdlePosition = scalar, F32, 1556 -baseIdlePosition = scalar, F32, 1560 -idleClosedLoop = scalar, F32, 1564 -iacByTpsTaper = scalar, F32, 1568 -throttlePedalUpState = scalar, S32, 1572, "", 1, 0 -mightResetPid = bits, U32, 1576, [0:0] -shouldResetPid = bits, U32, 1576, [1:1] -wasResetPid = bits, U32, 1576, [2:2] -mustResetPid = bits, U32, 1576, [3:3] -isCranking = bits, U32, 1576, [4:4] -isIacTableForCoasting = bits, U32, 1576, [5:5] -notIdling = bits, U32, 1576, [6:6] -needReset = bits, U32, 1576, [7:7] -isInDeadZone = bits, U32, 1576, [8:8] -isBlipping = bits, U32, 1576, [9:9] -useClosedLoop = bits, U32, 1576, [10:10] -badTps = bits, U32, 1576, [11:11] -looksLikeRunning = bits, U32, 1576, [12:12] -looksLikeCoasting = bits, U32, 1576, [13:13] -looksLikeCrankToIdle = bits, U32, 1576, [14:14] -isIdleCoasting = bits, U32, 1576, [15:15] -isIdleClosedLoop = bits, U32, 1576, [16:16] -idleTarget = scalar, S32, 1580, "", 1, 0 -targetRpmByClt = scalar, S32, 1584, "", 1, 0 -targetRpmAc = scalar, S32, 1588, "", 1, 0 -iacByRpmTaper = scalar, F32, 1592 -luaAdd = scalar, F32, 1596 -; total TS size = 1600 -targetWithIdlePosition0 = scalar, F32, 1600, "per", 1,0 -trim0 = scalar, F32, 1604, "", 1, 0 -luaAdjustment0 = scalar, F32, 1608, "per", 1,0 -m_wastegatePosition0 = scalar, F32, 1612, "per", 1,0 -etbFeedForward0 = scalar, F32, 1616 -etbIntegralError0 = scalar, F32, 1620, "", 1, 0 -etbCurrentTarget0 = scalar, F32, 1624, "%", 1, 0 -etbCurrentAdjustedTarget0 = scalar, F32, 1628, "%", 1, 0 -etbRevLimitActive0 = bits, U32, 1632, [0:0] -jamDetected0 = bits, U32, 1632, [1:1] -etbTpsErrorCounter0 = scalar, U16, 1636, "count", 1,0 -etbPpsErrorCounter0 = scalar, U16, 1638, "count", 1,0 -etbErrorCode0 = scalar, S08, 1640, "", 1, 0 -tcEtbDrop0 = scalar, S08, 1641, "%", 1, 0 -jamTimer0 = scalar, U16, 1642, "sec", 0.01, 0 -adjustedEtbTarget0 = scalar, S08, 1644, "%", 1, 0 -; total TS size = 1648 -targetWithIdlePosition1 = scalar, F32, 1648, "per", 1,0 -trim1 = scalar, F32, 1652, "", 1, 0 -luaAdjustment1 = scalar, F32, 1656, "per", 1,0 -m_wastegatePosition1 = scalar, F32, 1660, "per", 1,0 -etbFeedForward1 = scalar, F32, 1664 -etbIntegralError1 = scalar, F32, 1668, "", 1, 0 -etbCurrentTarget1 = scalar, F32, 1672, "%", 1, 0 -etbCurrentAdjustedTarget1 = scalar, F32, 1676, "%", 1, 0 -etbRevLimitActive1 = bits, U32, 1680, [0:0] -jamDetected1 = bits, U32, 1680, [1:1] -etbTpsErrorCounter1 = scalar, U16, 1684, "count", 1,0 -etbPpsErrorCounter1 = scalar, U16, 1686, "count", 1,0 -etbErrorCode1 = scalar, S08, 1688, "", 1, 0 -tcEtbDrop1 = scalar, S08, 1689, "%", 1, 0 -jamTimer1 = scalar, U16, 1690, "sec", 0.01, 0 -adjustedEtbTarget1 = scalar, S08, 1692, "%", 1, 0 -; total TS size = 1696 -faultCode0 = scalar, U08, 1696, "", 1, 0 -heaterDuty0 = scalar, U08, 1697, "%", 1, 0 -pumpDuty0 = scalar, U08, 1698, "%", 1, 0 -tempC0 = scalar, U16, 1700, "C", 1, 0 -nernstVoltage0 = scalar, U16, 1702, "V", 0.001, 0 -esr0 = scalar, U16, 1704, "ohm", 1, 0 -; total TS size = 1708 -faultCode1 = scalar, U08, 1708, "", 1, 0 -heaterDuty1 = scalar, U08, 1709, "%", 1, 0 -pumpDuty1 = scalar, U08, 1710, "%", 1, 0 -tempC1 = scalar, U16, 1712, "C", 1, 0 -nernstVoltage1 = scalar, U16, 1714, "V", 0.001, 0 -esr1 = scalar, U16, 1716, "ohm", 1, 0 -; total TS size = 1720 -dcOutput0 = scalar, F32, 1720, "per", 1,0 -isEnabled0_int = scalar, U08, 1724, "per", 1,0 -isEnabled0 = bits, U32, 1728, [0:0] -; total TS size = 1732 -value0 = scalar, U16, 1732, "value", 1,0 -value1 = scalar, U16, 1734, "value", 1,0 -errorRate = scalar, F32, 1736, "ratio", 1,0 -; total TS size = 1740 -vvtTarget = scalar, U16, 1740, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1742, "%", 0.5, 0 -; total TS size = 1744 -lambdaCurrentlyGood = bits, U32, 1744, [0:0] -lambdaMonitorCut = bits, U32, 1744, [1:1] -lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 -; total TS size = 1752 +retardThresholdRpm = scalar, S32, 1120, "", 1, 0 +launchActivatePinState = bits, U32, 1124, [0:0] +isPreLaunchCondition = bits, U32, 1124, [1:1] +isLaunchCondition = bits, U32, 1124, [2:2] +isSwitchActivated = bits, U32, 1124, [3:3] +isClutchActivated = bits, U32, 1124, [4:4] +isBrakePedalActivated = bits, U32, 1124, [5:5] +isValidInputPin = bits, U32, 1124, [6:6] +activateSwitchCondition = bits, U32, 1124, [7:7] +rpmLaunchCondition = bits, U32, 1124, [8:8] +rpmPreLaunchCondition = bits, U32, 1124, [9:9] +speedCondition = bits, U32, 1124, [10:10] +tpsCondition = bits, U32, 1124, [11:11] +; total TS size = 1128 +isTorqueReductionTriggerPinValid = bits, U32, 1128, [0:0] +torqueReductionTriggerPinState = bits, U32, 1128, [1:1] +isTimeConditionSatisfied = bits, U32, 1128, [2:2] +isRpmConditionSatisfied = bits, U32, 1128, [3:3] +isAppConditionSatisfied = bits, U32, 1128, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1128, [5:5] +; total TS size = 1132 +isAntilagCondition = bits, U32, 1132, [0:0] +ALSMinRPMCondition = bits, U32, 1132, [1:1] +ALSMaxRPMCondition = bits, U32, 1132, [2:2] +ALSMinCLTCondition = bits, U32, 1132, [3:3] +ALSMaxCLTCondition = bits, U32, 1132, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1132, [5:5] +isALSSwitchActivated = bits, U32, 1132, [6:6] +ALSActivatePinState = bits, U32, 1132, [7:7] +ALSSwitchCondition = bits, U32, 1132, [8:8] +ALSTimerCondition = bits, U32, 1132, [9:9] +fuelALSCorrection = scalar, F32, 1136, "", 1, 0 +timingALSCorrection = scalar, S16, 1140, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1142, "deg", 0.01, 0 +; total TS size = 1144 +isTpsInvalid = bits, U32, 1144, [0:0] +m_shouldResetPid = bits, U32, 1144, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1144, [2:2] +isNotClosedLoop = bits, U32, 1144, [3:3] +isZeroRpm = bits, U32, 1144, [4:4] +hasInitBoost = bits, U32, 1144, [5:5] +rpmTooLow = bits, U32, 1144, [6:6] +tpsTooLow = bits, U32, 1144, [7:7] +mapTooLow = bits, U32, 1144, [8:8] +isPlantValid = bits, U32, 1144, [9:9] +isBoostControlled = bits, U32, 1144, [10:10] +luaTargetAdd = scalar, S16, 1148, "v", 0.5,0 +boostOutput = scalar, S16, 1150, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1152, "v", 1,0 +openLoopPart = scalar, F32, 1156, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1160, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1164, "%", 0.5,0 +boostControlTarget = scalar, S16, 1166, "kPa", 0.03333333333333333,0 +; total TS size = 1168 +acButtonState = scalar, S08, 1168, "", 1, 0 +m_acEnabled = bits, U32, 1172, [0:0] +engineTooSlow = bits, U32, 1172, [1:1] +engineTooFast = bits, U32, 1172, [2:2] +noClt = bits, U32, 1172, [3:3] +engineTooHot = bits, U32, 1172, [4:4] +tpsTooHigh = bits, U32, 1172, [5:5] +isDisabledByLua = bits, U32, 1172, [6:6] +acCompressorState = bits, U32, 1172, [7:7] +acPressureTooLow = bits, U32, 1172, [8:8] +acPressureTooHigh = bits, U32, 1172, [9:9] +; total TS size = 1176 +cranking0 = bits, U32, 1176, [0:0] +notRunning0 = bits, U32, 1176, [1:1] +disabledWhileEngineStopped0 = bits, U32, 1176, [2:2] +brokenClt0 = bits, U32, 1176, [3:3] +enabledForAc0 = bits, U32, 1176, [4:4] +hot0 = bits, U32, 1176, [5:5] +cold0 = bits, U32, 1176, [6:6] +disabledBySpeed0 = bits, U32, 1176, [7:7] +radiatorFanStatus0 = scalar, U08, 1180, "", 1, 0 +; total TS size = 1184 +cranking1 = bits, U32, 1184, [0:0] +notRunning1 = bits, U32, 1184, [1:1] +disabledWhileEngineStopped1 = bits, U32, 1184, [2:2] +brokenClt1 = bits, U32, 1184, [3:3] +enabledForAc1 = bits, U32, 1184, [4:4] +hot1 = bits, U32, 1184, [5:5] +cold1 = bits, U32, 1184, [6:6] +disabledBySpeed1 = bits, U32, 1184, [7:7] +radiatorFanStatus1 = scalar, U08, 1188, "", 1, 0 +; total TS size = 1192 +isPrime = bits, U32, 1192, [0:0] +engineTurnedRecently = bits, U32, 1192, [1:1] +isFuelPumpOn = bits, U32, 1192, [2:2] +ignitionOn = bits, U32, 1192, [3:3] +; total TS size = 1196 +isBenchTest = bits, U32, 1196, [0:0] +hasIgnitionVoltage = bits, U32, 1196, [1:1] +mainRelayState = bits, U32, 1196, [2:2] +delayedShutoffRequested = bits, U32, 1196, [3:3] +; total TS size = 1200 +lua_fuelAdd = scalar, F32, 1200, "g", 1, 0 +lua_fuelMult = scalar, F32, 1204, "", 1, 0 +lua_clutchUpState = bits, U32, 1208, [0:0] +lua_brakePedalState = bits, U32, 1208, [1:1] +lua_acRequestState = bits, U32, 1208, [2:2] +lua_luaDisableEtb = bits, U32, 1208, [3:3] +lua_luaIgnCut = bits, U32, 1208, [4:4] +lua_luaFuelCut = bits, U32, 1208, [5:5] +lua_clutchDownState = bits, U32, 1208, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1208, [7:7] +sd_tCharge = scalar, S16, 1212, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1216, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1220, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1224, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1228, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1232, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1236, "", 1, 0 +hellenBoardId = scalar, S16, 1240, "id", 1, 0 +clutchUpState = scalar, S08, 1242, "", 1, 0 +clutchDownState = scalar, S08, 1243, "", 1, 0 +brakePedalState = scalar, S08, 1244, "", 1, 0 +startStopState = scalar, S08, 1245, "", 1, 0 +smartChipState = scalar, S08, 1246, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1247, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1248, "", 1, 0 +startStopPhysicalState = bits, U32, 1252, [0:0] +acrActive = bits, U32, 1252, [1:1] +acrEngineMovedRecently = bits, U32, 1252, [2:2] +heaterControlEnabled = bits, U32, 1252, [3:3] +luaDigitalState0 = bits, U32, 1252, [4:4] +luaDigitalState1 = bits, U32, 1252, [5:5] +luaDigitalState2 = bits, U32, 1252, [6:6] +luaDigitalState3 = bits, U32, 1252, [7:7] +startStopStateToggleCounter = scalar, U32, 1256, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1260, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1264, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1268, "", 1, 0 +desiredRpmLimit = scalar, S16, 1272, "rpm", 1, 0 +fuelInjectionCounter = scalar, U32, 1276, "", 1, 0 +globalSparkCounter = scalar, U32, 1280, "", 1, 0 +fuelingLoad = scalar, F32, 1284, "", 1, 0 +ignitionLoad = scalar, F32, 1288, "", 1, 0 +veTableYAxis = scalar, U16, 1292, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1294, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1295, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1296, "", 1, 0 +; total TS size = 1300 +tpsFrom = scalar, F32, 1300 +tpsTo = scalar, F32, 1304 +deltaTps = scalar, F32, 1308 +extraFuel = scalar, F32, 1312, "", 1, 0 +valueFromTable = scalar, F32, 1316, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1320, [0:0] +isBelowDecelThreshold = bits, U32, 1320, [1:1] +isTimeToResetAccumulator = bits, U32, 1320, [2:2] +isFractionalEnrichment = bits, U32, 1320, [3:3] +belowEpsilon = bits, U32, 1320, [4:4] +tooShort = bits, U32, 1320, [5:5] +fractionalInjFuel = scalar, F32, 1324, "", 1, 0 +accumulatedValue = scalar, F32, 1328, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1332, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1336, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1340, "", 1, 0 +cycleCnt = scalar, S32, 1344, "", 1, 0 +; total TS size = 1348 +hwEventCounters1 = scalar, U32, 1348, "", 1, 0 +hwEventCounters2 = scalar, U32, 1352, "", 1, 0 +hwEventCounters3 = scalar, U32, 1356, "", 1, 0 +hwEventCounters4 = scalar, U32, 1360, "", 1, 0 +hwEventCounters5 = scalar, U32, 1364, "", 1, 0 +hwEventCounters6 = scalar, U32, 1368, "", 1, 0 +vvtCamCounter = scalar, U32, 1372, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1376, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1380, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1384, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1385, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1388, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1392, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1396, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1400, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1404, [0:0] +triggerElapsedUs = scalar, U32, 1408, "", 1, 0 +; total TS size = 1412 +crankSynchronizationCounter0 = scalar, U32, 1412, "", 1, 0 +vvtSyncGapRatio0 = scalar, F32, 1416, "", 1, 0 +vvtToothDurations00 = scalar, U32, 1420, "us", 1, 0 +vvtCurrentPosition0 = scalar, F32, 1424, "sync: Primary Cam Position", 1, 0 +vvtToothPosition10 = scalar, F32, 1428, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition20 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition30 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition40 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio0 = scalar, F32, 1444, "", 1, 0 +triggerStateIndex0 = scalar, U08, 1448, "", 1, 0 +vvtStateIndex0 = scalar, U08, 1449, "", 1, 0 +; total TS size = 1452 +crankSynchronizationCounter1 = scalar, U32, 1452, "", 1, 0 +vvtSyncGapRatio1 = scalar, F32, 1456, "", 1, 0 +vvtToothDurations01 = scalar, U32, 1460, "us", 1, 0 +vvtCurrentPosition1 = scalar, F32, 1464, "sync: Primary Cam Position", 1, 0 +vvtToothPosition11 = scalar, F32, 1468, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition21 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition31 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition41 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio1 = scalar, F32, 1484, "", 1, 0 +triggerStateIndex1 = scalar, U08, 1488, "", 1, 0 +vvtStateIndex1 = scalar, U08, 1489, "", 1, 0 +; total TS size = 1492 +crankSynchronizationCounter2 = scalar, U32, 1492, "", 1, 0 +vvtSyncGapRatio2 = scalar, F32, 1496, "", 1, 0 +vvtToothDurations02 = scalar, U32, 1500, "us", 1, 0 +vvtCurrentPosition2 = scalar, F32, 1504, "sync: Primary Cam Position", 1, 0 +vvtToothPosition12 = scalar, F32, 1508, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition22 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition32 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition42 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio2 = scalar, F32, 1524, "", 1, 0 +triggerStateIndex2 = scalar, U08, 1528, "", 1, 0 +vvtStateIndex2 = scalar, U08, 1529, "", 1, 0 +; total TS size = 1532 +crankSynchronizationCounter3 = scalar, U32, 1532, "", 1, 0 +vvtSyncGapRatio3 = scalar, F32, 1536, "", 1, 0 +vvtToothDurations03 = scalar, U32, 1540, "us", 1, 0 +vvtCurrentPosition3 = scalar, F32, 1544, "sync: Primary Cam Position", 1, 0 +vvtToothPosition13 = scalar, F32, 1548, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition23 = scalar, F32, 1552, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition33 = scalar, F32, 1556, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition43 = scalar, F32, 1560, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio3 = scalar, F32, 1564, "", 1, 0 +triggerStateIndex3 = scalar, U08, 1568, "", 1, 0 +vvtStateIndex3 = scalar, U08, 1569, "", 1, 0 +; total TS size = 1572 +crankSynchronizationCounter4 = scalar, U32, 1572, "", 1, 0 +vvtSyncGapRatio4 = scalar, F32, 1576, "", 1, 0 +vvtToothDurations04 = scalar, U32, 1580, "us", 1, 0 +vvtCurrentPosition4 = scalar, F32, 1584, "sync: Primary Cam Position", 1, 0 +vvtToothPosition14 = scalar, F32, 1588, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition24 = scalar, F32, 1592, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition34 = scalar, F32, 1596, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition44 = scalar, F32, 1600, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio4 = scalar, F32, 1604, "", 1, 0 +triggerStateIndex4 = scalar, U08, 1608, "", 1, 0 +vvtStateIndex4 = scalar, U08, 1609, "", 1, 0 +; total TS size = 1612 +camResyncCounter = scalar, U08, 1612, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1616, [0:0] +; total TS size = 1620 +wallFuelCorrection = scalar, F32, 1620, "", 1, 0 +wallFuel = scalar, F32, 1624, "", 1, 0 +; total TS size = 1628 +idleState = bits, S32, 1628, [0:2], "not important" +currentIdlePosition = scalar, F32, 1632 +baseIdlePosition = scalar, F32, 1636 +idleClosedLoop = scalar, F32, 1640 +iacByTpsTaper = scalar, F32, 1644 +throttlePedalUpState = scalar, S32, 1648, "", 1, 0 +mightResetPid = bits, U32, 1652, [0:0] +shouldResetPid = bits, U32, 1652, [1:1] +wasResetPid = bits, U32, 1652, [2:2] +mustResetPid = bits, U32, 1652, [3:3] +isCranking = bits, U32, 1652, [4:4] +isIacTableForCoasting = bits, U32, 1652, [5:5] +notIdling = bits, U32, 1652, [6:6] +needReset = bits, U32, 1652, [7:7] +isInDeadZone = bits, U32, 1652, [8:8] +isBlipping = bits, U32, 1652, [9:9] +useClosedLoop = bits, U32, 1652, [10:10] +badTps = bits, U32, 1652, [11:11] +looksLikeRunning = bits, U32, 1652, [12:12] +looksLikeCoasting = bits, U32, 1652, [13:13] +looksLikeCrankToIdle = bits, U32, 1652, [14:14] +isIdleCoasting = bits, U32, 1652, [15:15] +isIdleClosedLoop = bits, U32, 1652, [16:16] +idleTarget = scalar, S32, 1656, "", 1, 0 +targetRpmByClt = scalar, S32, 1660, "", 1, 0 +targetRpmAc = scalar, S32, 1664, "", 1, 0 +iacByRpmTaper = scalar, F32, 1668 +luaAdd = scalar, F32, 1672 +; total TS size = 1676 +targetWithIdlePosition0 = scalar, F32, 1676, "per", 1,0 +trim0 = scalar, F32, 1680, "", 1, 0 +luaAdjustment0 = scalar, F32, 1684, "per", 1,0 +m_wastegatePosition0 = scalar, F32, 1688, "per", 1,0 +etbFeedForward0 = scalar, F32, 1692 +etbIntegralError0 = scalar, F32, 1696, "", 1, 0 +etbCurrentTarget0 = scalar, F32, 1700, "%", 1, 0 +etbCurrentAdjustedTarget0 = scalar, F32, 1704, "%", 1, 0 +etbRevLimitActive0 = bits, U32, 1708, [0:0] +jamDetected0 = bits, U32, 1708, [1:1] +etbTpsErrorCounter0 = scalar, U16, 1712, "count", 1,0 +etbPpsErrorCounter0 = scalar, U16, 1714, "count", 1,0 +etbErrorCode0 = scalar, S08, 1716, "", 1, 0 +tcEtbDrop0 = scalar, S08, 1717, "%", 1, 0 +jamTimer0 = scalar, U16, 1718, "sec", 0.01, 0 +adjustedEtbTarget0 = scalar, S08, 1720, "%", 1, 0 +; total TS size = 1724 +targetWithIdlePosition1 = scalar, F32, 1724, "per", 1,0 +trim1 = scalar, F32, 1728, "", 1, 0 +luaAdjustment1 = scalar, F32, 1732, "per", 1,0 +m_wastegatePosition1 = scalar, F32, 1736, "per", 1,0 +etbFeedForward1 = scalar, F32, 1740 +etbIntegralError1 = scalar, F32, 1744, "", 1, 0 +etbCurrentTarget1 = scalar, F32, 1748, "%", 1, 0 +etbCurrentAdjustedTarget1 = scalar, F32, 1752, "%", 1, 0 +etbRevLimitActive1 = bits, U32, 1756, [0:0] +jamDetected1 = bits, U32, 1756, [1:1] +etbTpsErrorCounter1 = scalar, U16, 1760, "count", 1,0 +etbPpsErrorCounter1 = scalar, U16, 1762, "count", 1,0 +etbErrorCode1 = scalar, S08, 1764, "", 1, 0 +tcEtbDrop1 = scalar, S08, 1765, "%", 1, 0 +jamTimer1 = scalar, U16, 1766, "sec", 0.01, 0 +adjustedEtbTarget1 = scalar, S08, 1768, "%", 1, 0 +; total TS size = 1772 +faultCode0 = scalar, U08, 1772, "", 1, 0 +heaterDuty0 = scalar, U08, 1773, "%", 1, 0 +pumpDuty0 = scalar, U08, 1774, "%", 1, 0 +tempC0 = scalar, U16, 1776, "C", 1, 0 +nernstVoltage0 = scalar, U16, 1778, "V", 0.001, 0 +esr0 = scalar, U16, 1780, "ohm", 1, 0 +; total TS size = 1784 +faultCode1 = scalar, U08, 1784, "", 1, 0 +heaterDuty1 = scalar, U08, 1785, "%", 1, 0 +pumpDuty1 = scalar, U08, 1786, "%", 1, 0 +tempC1 = scalar, U16, 1788, "C", 1, 0 +nernstVoltage1 = scalar, U16, 1790, "V", 0.001, 0 +esr1 = scalar, U16, 1792, "ohm", 1, 0 +; total TS size = 1796 +dcOutput0 = scalar, F32, 1796, "per", 1,0 +isEnabled0_int = scalar, U08, 1800, "per", 1,0 +isEnabled0 = bits, U32, 1804, [0:0] +; total TS size = 1808 +value0 = scalar, U16, 1808, "value", 1,0 +value1 = scalar, U16, 1810, "value", 1,0 +errorRate = scalar, F32, 1812, "ratio", 1,0 +; total TS size = 1816 +vvtTarget = scalar, U16, 1816, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1818, "%", 0.5, 0 +; total TS size = 1820 +lambdaCurrentlyGood = bits, U32, 1820, [0:0] +lambdaMonitorCut = bits, U32, 1820, [1:1] +lambdaTimeSinceGood = scalar, U16, 1824, "sec", 0.01, 0 +; total TS size = 1828 time = { timeNow } @@ -3616,6 +3648,7 @@ lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs8 requiresPowerCycle = cylinderBore + requiresPowerCycle = knockFrequency readOnly = warning_message readOnly = device_uid1 @@ -5033,6 +5066,26 @@ gaugeCategory = Knock knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knockSpectrumChannelCylGauge = m_knockSpectrumChannelCyl, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStartGauge = m_knockFrequencyStart, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStepGauge = m_knockFrequencyStep, "Knock Frequency Step", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFuelTrimMultiplier = m_knockFuelTrimMultiplier, "Knock Fuel Trim", "mult", 0, 0, 0, 0, 0, 30, 1, 1 + knockSpectrum1 = m_knockSpectrum1, "Knock Spectrum1", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum2 = m_knockSpectrum2, "knockSpectrum2", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum3 = m_knockSpectrum3, "knockSpectrum3", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum4 = m_knockSpectrum4, "knockSpectrum4", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum5 = m_knockSpectrum5, "knockSpectrum5", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum6 = m_knockSpectrum6, "knockSpectrum6", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum7 = m_knockSpectrum7, "knockSpectrum7", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum8 = m_knockSpectrum8, "knockSpectrum8", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum9 = m_knockSpectrum9, "knockSpectrum9", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum10 = m_knockSpectrum10, "knockSpectrum10", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum11 = m_knockSpectrum11, "knockSpectrum11", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum12 = m_knockSpectrum12, "knockSpectrum12", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum13 = m_knockSpectrum13, "knockSpectrum13", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum14 = m_knockSpectrum14, "knockSpectrum14", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum15 = m_knockSpectrum15, "knockSpectrum15", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum16 = m_knockSpectrum16, "knockSpectrum16", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -5631,6 +5684,26 @@ entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" entry = m_knockCount, "Knock: Count", int, "%d" entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_knockFrequency, "knock: frequency", int, "%d" +entry = m_knockSpectrum1, "Knock: SpectrumData 1", int, "%d" +entry = m_knockSpectrum2, "Knock: SpectrumData 2", int, "%d" +entry = m_knockSpectrum3, "Knock: SpectrumData 3", int, "%d" +entry = m_knockSpectrum4, "Knock: SpectrumData 4", int, "%d" +entry = m_knockSpectrum5, "Knock: SpectrumData 5", int, "%d" +entry = m_knockSpectrum6, "Knock: SpectrumData 6", int, "%d" +entry = m_knockSpectrum7, "Knock: SpectrumData 7", int, "%d" +entry = m_knockSpectrum8, "Knock: SpectrumData 8", int, "%d" +entry = m_knockSpectrum9, "Knock: SpectrumData 9", int, "%d" +entry = m_knockSpectrum10, "Knock: SpectrumData 10", int, "%d" +entry = m_knockSpectrum11, "Knock: SpectrumData 11", int, "%d" +entry = m_knockSpectrum12, "Knock: SpectrumData 12", int, "%d" +entry = m_knockSpectrum13, "Knock: SpectrumData 13", int, "%d" +entry = m_knockSpectrum14, "Knock: SpectrumData 14", int, "%d" +entry = m_knockSpectrum15, "Knock: SpectrumData 15", int, "%d" +entry = m_knockSpectrum16, "Knock: SpectrumData 16", int, "%d" +entry = m_knockSpectrumChannelCyl, "Knock: ChannelAndCylNumber", int, "%d" +entry = m_knockFrequencyStart, "Knock: Start Freq", int, "%d" +entry = m_knockFrequencyStep, "Knock: Step Freq", float, "%.3f" +entry = m_knockFuelTrimMultiplier, "Knock: Fuel trim when knock", float, "%.3f" entry = tcuCurrentGear, "TCU: Current Gear", int, "%d" entry = tcRatio, "TCU: Torque Converter Ratio", float, "%.3f" entry = lastShiftTime, "lastShiftTime", float, "%.3f" @@ -6527,6 +6600,31 @@ dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard graphLine = m_knockFrequency + graphLine = m_knockSpectrum1 + graphLine = m_knockSpectrum2 + liveGraph = knock_controller_6_Graph, "Graph", South + graphLine = m_knockSpectrum3 + graphLine = m_knockSpectrum4 + graphLine = m_knockSpectrum5 + graphLine = m_knockSpectrum6 + liveGraph = knock_controller_7_Graph, "Graph", South + graphLine = m_knockSpectrum7 + graphLine = m_knockSpectrum8 + graphLine = m_knockSpectrum9 + graphLine = m_knockSpectrum10 + liveGraph = knock_controller_8_Graph, "Graph", South + graphLine = m_knockSpectrum11 + graphLine = m_knockSpectrum12 + graphLine = m_knockSpectrum13 + graphLine = m_knockSpectrum14 + liveGraph = knock_controller_9_Graph, "Graph", South + graphLine = m_knockSpectrum15 + graphLine = m_knockSpectrum16 + graphLine = m_knockSpectrumChannelCyl + graphLine = m_knockFrequencyStart + liveGraph = knock_controller_10_Graph, "Graph", South + graphLine = m_knockFrequencyStep + graphLine = m_knockFuelTrimMultiplier indicatorPanel = tcu_controllerIndicatorPanel, 2 indicator = {isShifting}, "isShifting No", "isShifting Yes" @@ -8595,9 +8693,13 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockCfg, "Sense" field = "Enable", enableSoftwareKnock field = "Cylinder Bore", cylinderBore, {enableSoftwareKnock} + field = "Estimated Knock Frequency",knockFrequency, {enableSoftwareKnock} field = "Detection mode", knockDetectionUseDoubleFrequency field = "Detection Window Start",knockDetectionWindowStart, {enableSoftwareKnock} field = "Sampling Duration", knockSamplingDuration, {enableSoftwareKnock} + field = "Enable Knock Spectrogram", enableKnockSpectrogram, {enableSoftwareKnock} + field = "Enable Knock Spectrogram Filter", enableKnockSpectrogramFilter, {enableKnockSpectrogram} + field = "Knock Spectrum Sensitivity", knockSpectrumSensitivity, {enableKnockSpectrogram} field = "" field = "Select the nearest sensor for each cylinder" @@ -8617,6 +8719,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockResponseCfg, "Response" field = knockRetardAggression, knockRetardAggression field = knockRetardReapplyRate, knockRetardReapplyRate + field = knockFuelTrimAggression, knockFuelTrimAggression + field = knockFuelTrimReapplyRate, knockFuelTrimReapplyRate + field = knockFuelTrim, knockFuelTrim + field = knockSuppressMinTps, knockSuppressMinTps dialog = softwareKnockLeft, "" panel = softwareKnockCfg diff --git a/firmware/tunerstudio/generated/rusefi_subaru_eg33_f7.ini b/firmware/tunerstudio/generated/rusefi_subaru_eg33_f7.ini index ffc0d4fb92..9d8e3186cd 100644 --- a/firmware/tunerstudio/generated/rusefi_subaru_eg33_f7.ini +++ b/firmware/tunerstudio/generated/rusefi_subaru_eg33_f7.ini @@ -38,12 +38,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.10.21.subaru_eg33_f7.3653296711" + signature = "rusEFI master.2024.10.21.subaru_eg33_f7.99137720" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.10.21.subaru_eg33_f7.3653296711" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.10.21.subaru_eg33_f7.99137720" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -774,6 +774,7 @@ devBit7 = bits, U32, 1492, [27:27], "false", "true" unusedSkipWasHere = bits, U32, 1492, [28:28], "false", "true" invertExhaustCamVVTSignal = bits, U32, 1492, [29:29], "Rising", "Falling" enableKnockSpectrogram = bits, U32, 1492, [30:30], "false", "true" +enableKnockSpectrogramFilter = bits, U32, 1492, [31:31], "false", "true" afterCrankingIACtaperDuration = scalar, S16, 1496, "cycles", 1, 0, 0, 5000, 0 iacByTpsTaper = scalar, S16, 1498, "percent", 1, 0, 0, 500, 0 unusedAuxSeria = bits, U16, 1500, [0:8], $gpio_list @@ -1394,7 +1395,13 @@ auxLinear4_v1 = scalar, F32, 3880, "volts", 1, 0, 0, 10, 2 auxLinear4_value1 = scalar, F32, 3884, "", 1, 0, -100000, 1000000, 2 auxLinear4_v2 = scalar, F32, 3888, "volts", 1, 0, 0, 10, 2 auxLinear4_value2 = scalar, F32, 3892, "", 1, 0, -100000, 1000000, 2 -unusedOftenChangesDuringFirmwareUpdate = array, U08, 3896, [128], "units", 1, 0, 0, 1, 0 +knockSuppressMinTps = scalar, U08, 3896, "%", 1, 0, 0, 100, 1 +knockFuelTrimAggression = scalar, U08, 3897, "%", 0.1, 0, 0, 20, 1 +knockFuelTrimReapplyRate = scalar, U08, 3898, "deg/s", 0.1, 0, 0, 10, 1 +knockFuelTrim = scalar, U08, 3899, "%", 1, 0, 0, 30, 1 +knockSpectrumSensitivity = scalar, F32, 3900, "sense", 1, 0, 0, 1, 2 +knockFrequency = scalar, F32, 3904, "Hz", 1, 0, 0, 20000, 2 +unusedOftenChangesDuringFirmwareUpdate = array, U08, 3908, [116], "units", 1, 0, 0, 1, 0 postCrankingFactor = array, F32, 4024, [6x6], "mult", 1, 0, 1, 3, 2 postCrankingDurationBins = array, F32, 4168, [6], "count", 1, 0, 0, 1000, 0 postCrankingCLTBins = array, S16, 4192, [6], "C", 1, 0, -100, 125, 0 @@ -2448,6 +2455,11 @@ minimumOilPressureValues = array, U08, 22960, [8], "kPa", 10.0, 0, 0, 1000, 0 minAcPressure = "value of A/C pressure in kPa before that compressor is disengaged" maxAcPressure = "value of A/C pressure in kPa after that compressor is disengaged" minimumOilPressureTimeout = "Delay before cutting fuel due to low oil pressure. Use this to ignore short pressure blips and sensor noise." + knockSuppressMinTps = "Below TPS value all knock suppression will be disabled." + knockFuelTrimAggression = "Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump)," + knockFuelTrimReapplyRate = "After a knock event, reapply fuel at this rate." + knockFuelTrim = "Fuel trim when knock, max 30%" + knockFrequency = "Estimated knock frequency, ignore cylinderBore if this one > 0" etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, open loop component of PID closed loop control" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2560,7 +2572,7 @@ minimumOilPressureValues = array, U08, 22960, [8], "kPa", 10.0, 0, 0, 1000, 0 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1752 + ochBlockSize = 1828 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3101,370 +3113,390 @@ m_knockThreshold = scalar, F32, 960, "", 1, 0 m_knockCount = scalar, U32, 964, "", 1, 0 m_maximumRetard = scalar, F32, 968, "", 1, 0 m_knockFrequency = scalar, U32, 972, "Hz", 1, 0 -; total TS size = 976 -tcuCurrentGear = scalar, S08, 976, "gear", 1, 0 -tcRatio = scalar, U16, 978, "value", 0.01, 0 -lastShiftTime = scalar, F32, 980, "", 1, 0 -tcu_currentRange = scalar, U08, 984, "", 1, 0 -pressureControlDuty = scalar, S08, 985, "%", 1,0 -torqueConverterDuty = scalar, S08, 986, "%", 1,0 -isShifting = bits, U32, 988, [0:0] -; total TS size = 992 -throttleUseWotModel = bits, U32, 992, [0:0] -throttleModelCrossoverAngle = scalar, S16, 996, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1000, "g/s", 1, 0 -; total TS size = 1004 -m_requested_pump = scalar, F32, 1004, "", 1, 0 -fuel_requested_percent = scalar, F32, 1008, "", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1012, "", 1, 0 -noValve = bits, U32, 1016, [0:0] -angleAboveMin = bits, U32, 1016, [1:1] -isHpfpInactive = bits, U32, 1016, [2:2] -m_pressureTarget_kPa = scalar, F32, 1020, "", 1, 0 -nextLobe = scalar, F32, 1024, "", 1, 0 -di_nextStart = scalar, F32, 1028, "v", 1, 0 -; total TS size = 1032 -m_deadtime = scalar, F32, 1032, "ms", 1, 0 -pressureDelta = scalar, F32, 1036, "kPa", 1, 0 -pressureRatio = scalar, F32, 1040, "", 1, 0 -; total TS size = 1044 -retardThresholdRpm = scalar, S32, 1044, "", 1, 0 -launchActivatePinState = bits, U32, 1048, [0:0] -isPreLaunchCondition = bits, U32, 1048, [1:1] -isLaunchCondition = bits, U32, 1048, [2:2] -isSwitchActivated = bits, U32, 1048, [3:3] -isClutchActivated = bits, U32, 1048, [4:4] -isBrakePedalActivated = bits, U32, 1048, [5:5] -isValidInputPin = bits, U32, 1048, [6:6] -activateSwitchCondition = bits, U32, 1048, [7:7] -rpmLaunchCondition = bits, U32, 1048, [8:8] -rpmPreLaunchCondition = bits, U32, 1048, [9:9] -speedCondition = bits, U32, 1048, [10:10] -tpsCondition = bits, U32, 1048, [11:11] +m_knockSpectrum1 = scalar, U32, 976, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 980, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 984, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 988, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1040, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1042, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1044, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1048, "multiplier", 1, 0 ; total TS size = 1052 -isTorqueReductionTriggerPinValid = bits, U32, 1052, [0:0] -torqueReductionTriggerPinState = bits, U32, 1052, [1:1] -isTimeConditionSatisfied = bits, U32, 1052, [2:2] -isRpmConditionSatisfied = bits, U32, 1052, [3:3] -isAppConditionSatisfied = bits, U32, 1052, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1052, [5:5] -; total TS size = 1056 -isAntilagCondition = bits, U32, 1056, [0:0] -ALSMinRPMCondition = bits, U32, 1056, [1:1] -ALSMaxRPMCondition = bits, U32, 1056, [2:2] -ALSMinCLTCondition = bits, U32, 1056, [3:3] -ALSMaxCLTCondition = bits, U32, 1056, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1056, [5:5] -isALSSwitchActivated = bits, U32, 1056, [6:6] -ALSActivatePinState = bits, U32, 1056, [7:7] -ALSSwitchCondition = bits, U32, 1056, [8:8] -ALSTimerCondition = bits, U32, 1056, [9:9] -fuelALSCorrection = scalar, F32, 1060, "", 1, 0 -timingALSCorrection = scalar, S16, 1064, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1066, "deg", 0.01, 0 +tcuCurrentGear = scalar, S08, 1052, "gear", 1, 0 +tcRatio = scalar, U16, 1054, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1056, "", 1, 0 +tcu_currentRange = scalar, U08, 1060, "", 1, 0 +pressureControlDuty = scalar, S08, 1061, "%", 1,0 +torqueConverterDuty = scalar, S08, 1062, "%", 1,0 +isShifting = bits, U32, 1064, [0:0] ; total TS size = 1068 -isTpsInvalid = bits, U32, 1068, [0:0] -m_shouldResetPid = bits, U32, 1068, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1068, [2:2] -isNotClosedLoop = bits, U32, 1068, [3:3] -isZeroRpm = bits, U32, 1068, [4:4] -hasInitBoost = bits, U32, 1068, [5:5] -rpmTooLow = bits, U32, 1068, [6:6] -tpsTooLow = bits, U32, 1068, [7:7] -mapTooLow = bits, U32, 1068, [8:8] -isPlantValid = bits, U32, 1068, [9:9] -isBoostControlled = bits, U32, 1068, [10:10] -luaTargetAdd = scalar, S16, 1072, "v", 0.5,0 -boostOutput = scalar, S16, 1074, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1076, "v", 1,0 -openLoopPart = scalar, F32, 1080, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1084, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1088, "%", 0.5,0 -boostControlTarget = scalar, S16, 1090, "kPa", 0.03333333333333333,0 -; total TS size = 1092 -acButtonState = scalar, S08, 1092, "", 1, 0 -m_acEnabled = bits, U32, 1096, [0:0] -engineTooSlow = bits, U32, 1096, [1:1] -engineTooFast = bits, U32, 1096, [2:2] -noClt = bits, U32, 1096, [3:3] -engineTooHot = bits, U32, 1096, [4:4] -tpsTooHigh = bits, U32, 1096, [5:5] -isDisabledByLua = bits, U32, 1096, [6:6] -acCompressorState = bits, U32, 1096, [7:7] -acPressureTooLow = bits, U32, 1096, [8:8] -acPressureTooHigh = bits, U32, 1096, [9:9] -; total TS size = 1100 -cranking0 = bits, U32, 1100, [0:0] -notRunning0 = bits, U32, 1100, [1:1] -disabledWhileEngineStopped0 = bits, U32, 1100, [2:2] -brokenClt0 = bits, U32, 1100, [3:3] -enabledForAc0 = bits, U32, 1100, [4:4] -hot0 = bits, U32, 1100, [5:5] -cold0 = bits, U32, 1100, [6:6] -disabledBySpeed0 = bits, U32, 1100, [7:7] -radiatorFanStatus0 = scalar, U08, 1104, "", 1, 0 +throttleUseWotModel = bits, U32, 1068, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1072, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1076, "g/s", 1, 0 +; total TS size = 1080 +m_requested_pump = scalar, F32, 1080, "", 1, 0 +fuel_requested_percent = scalar, F32, 1084, "", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1088, "", 1, 0 +noValve = bits, U32, 1092, [0:0] +angleAboveMin = bits, U32, 1092, [1:1] +isHpfpInactive = bits, U32, 1092, [2:2] +m_pressureTarget_kPa = scalar, F32, 1096, "", 1, 0 +nextLobe = scalar, F32, 1100, "", 1, 0 +di_nextStart = scalar, F32, 1104, "v", 1, 0 ; total TS size = 1108 -cranking1 = bits, U32, 1108, [0:0] -notRunning1 = bits, U32, 1108, [1:1] -disabledWhileEngineStopped1 = bits, U32, 1108, [2:2] -brokenClt1 = bits, U32, 1108, [3:3] -enabledForAc1 = bits, U32, 1108, [4:4] -hot1 = bits, U32, 1108, [5:5] -cold1 = bits, U32, 1108, [6:6] -disabledBySpeed1 = bits, U32, 1108, [7:7] -radiatorFanStatus1 = scalar, U08, 1112, "", 1, 0 -; total TS size = 1116 -isPrime = bits, U32, 1116, [0:0] -engineTurnedRecently = bits, U32, 1116, [1:1] -isFuelPumpOn = bits, U32, 1116, [2:2] -ignitionOn = bits, U32, 1116, [3:3] +m_deadtime = scalar, F32, 1108, "ms", 1, 0 +pressureDelta = scalar, F32, 1112, "kPa", 1, 0 +pressureRatio = scalar, F32, 1116, "", 1, 0 ; total TS size = 1120 -isBenchTest = bits, U32, 1120, [0:0] -hasIgnitionVoltage = bits, U32, 1120, [1:1] -mainRelayState = bits, U32, 1120, [2:2] -delayedShutoffRequested = bits, U32, 1120, [3:3] -; total TS size = 1124 -lua_fuelAdd = scalar, F32, 1124, "g", 1, 0 -lua_fuelMult = scalar, F32, 1128, "", 1, 0 -lua_clutchUpState = bits, U32, 1132, [0:0] -lua_brakePedalState = bits, U32, 1132, [1:1] -lua_acRequestState = bits, U32, 1132, [2:2] -lua_luaDisableEtb = bits, U32, 1132, [3:3] -lua_luaIgnCut = bits, U32, 1132, [4:4] -lua_luaFuelCut = bits, U32, 1132, [5:5] -lua_clutchDownState = bits, U32, 1132, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1132, [7:7] -sd_tCharge = scalar, S16, 1136, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1140, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1144, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1148, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1152, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1156, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1160, "", 1, 0 -hellenBoardId = scalar, S16, 1164, "id", 1, 0 -clutchUpState = scalar, S08, 1166, "", 1, 0 -clutchDownState = scalar, S08, 1167, "", 1, 0 -brakePedalState = scalar, S08, 1168, "", 1, 0 -startStopState = scalar, S08, 1169, "", 1, 0 -smartChipState = scalar, S08, 1170, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1171, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1172, "", 1, 0 -startStopPhysicalState = bits, U32, 1176, [0:0] -acrActive = bits, U32, 1176, [1:1] -acrEngineMovedRecently = bits, U32, 1176, [2:2] -heaterControlEnabled = bits, U32, 1176, [3:3] -luaDigitalState0 = bits, U32, 1176, [4:4] -luaDigitalState1 = bits, U32, 1176, [5:5] -luaDigitalState2 = bits, U32, 1176, [6:6] -luaDigitalState3 = bits, U32, 1176, [7:7] -startStopStateToggleCounter = scalar, U32, 1180, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1184, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1188, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1192, "", 1, 0 -desiredRpmLimit = scalar, S16, 1196, "rpm", 1, 0 -fuelInjectionCounter = scalar, U32, 1200, "", 1, 0 -globalSparkCounter = scalar, U32, 1204, "", 1, 0 -fuelingLoad = scalar, F32, 1208, "", 1, 0 -ignitionLoad = scalar, F32, 1212, "", 1, 0 -veTableYAxis = scalar, U16, 1216, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1218, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1219, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1220, "", 1, 0 -; total TS size = 1224 -tpsFrom = scalar, F32, 1224 -tpsTo = scalar, F32, 1228 -deltaTps = scalar, F32, 1232 -extraFuel = scalar, F32, 1236, "", 1, 0 -valueFromTable = scalar, F32, 1240, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1244, [0:0] -isBelowDecelThreshold = bits, U32, 1244, [1:1] -isTimeToResetAccumulator = bits, U32, 1244, [2:2] -isFractionalEnrichment = bits, U32, 1244, [3:3] -belowEpsilon = bits, U32, 1244, [4:4] -tooShort = bits, U32, 1244, [5:5] -fractionalInjFuel = scalar, F32, 1248, "", 1, 0 -accumulatedValue = scalar, F32, 1252, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1256, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1260, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1264, "", 1, 0 -cycleCnt = scalar, S32, 1268, "", 1, 0 -; total TS size = 1272 -hwEventCounters1 = scalar, U32, 1272, "", 1, 0 -hwEventCounters2 = scalar, U32, 1276, "", 1, 0 -hwEventCounters3 = scalar, U32, 1280, "", 1, 0 -hwEventCounters4 = scalar, U32, 1284, "", 1, 0 -hwEventCounters5 = scalar, U32, 1288, "", 1, 0 -hwEventCounters6 = scalar, U32, 1292, "", 1, 0 -vvtCamCounter = scalar, U32, 1296, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1300, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1304, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1308, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1309, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1312, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1316, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1320, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1324, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1328, [0:0] -triggerElapsedUs = scalar, U32, 1332, "", 1, 0 -; total TS size = 1336 -crankSynchronizationCounter0 = scalar, U32, 1336, "", 1, 0 -vvtSyncGapRatio0 = scalar, F32, 1340, "", 1, 0 -vvtToothDurations00 = scalar, U32, 1344, "us", 1, 0 -vvtCurrentPosition0 = scalar, F32, 1348, "sync: Primary Cam Position", 1, 0 -vvtToothPosition10 = scalar, F32, 1352, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition20 = scalar, F32, 1356, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition30 = scalar, F32, 1360, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition40 = scalar, F32, 1364, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio0 = scalar, F32, 1368, "", 1, 0 -triggerStateIndex0 = scalar, U08, 1372, "", 1, 0 -vvtStateIndex0 = scalar, U08, 1373, "", 1, 0 -; total TS size = 1376 -crankSynchronizationCounter1 = scalar, U32, 1376, "", 1, 0 -vvtSyncGapRatio1 = scalar, F32, 1380, "", 1, 0 -vvtToothDurations01 = scalar, U32, 1384, "us", 1, 0 -vvtCurrentPosition1 = scalar, F32, 1388, "sync: Primary Cam Position", 1, 0 -vvtToothPosition11 = scalar, F32, 1392, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition21 = scalar, F32, 1396, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition31 = scalar, F32, 1400, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition41 = scalar, F32, 1404, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio1 = scalar, F32, 1408, "", 1, 0 -triggerStateIndex1 = scalar, U08, 1412, "", 1, 0 -vvtStateIndex1 = scalar, U08, 1413, "", 1, 0 -; total TS size = 1416 -crankSynchronizationCounter2 = scalar, U32, 1416, "", 1, 0 -vvtSyncGapRatio2 = scalar, F32, 1420, "", 1, 0 -vvtToothDurations02 = scalar, U32, 1424, "us", 1, 0 -vvtCurrentPosition2 = scalar, F32, 1428, "sync: Primary Cam Position", 1, 0 -vvtToothPosition12 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition22 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition32 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition42 = scalar, F32, 1444, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio2 = scalar, F32, 1448, "", 1, 0 -triggerStateIndex2 = scalar, U08, 1452, "", 1, 0 -vvtStateIndex2 = scalar, U08, 1453, "", 1, 0 -; total TS size = 1456 -crankSynchronizationCounter3 = scalar, U32, 1456, "", 1, 0 -vvtSyncGapRatio3 = scalar, F32, 1460, "", 1, 0 -vvtToothDurations03 = scalar, U32, 1464, "us", 1, 0 -vvtCurrentPosition3 = scalar, F32, 1468, "sync: Primary Cam Position", 1, 0 -vvtToothPosition13 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition23 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition33 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition43 = scalar, F32, 1484, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio3 = scalar, F32, 1488, "", 1, 0 -triggerStateIndex3 = scalar, U08, 1492, "", 1, 0 -vvtStateIndex3 = scalar, U08, 1493, "", 1, 0 -; total TS size = 1496 -crankSynchronizationCounter4 = scalar, U32, 1496, "", 1, 0 -vvtSyncGapRatio4 = scalar, F32, 1500, "", 1, 0 -vvtToothDurations04 = scalar, U32, 1504, "us", 1, 0 -vvtCurrentPosition4 = scalar, F32, 1508, "sync: Primary Cam Position", 1, 0 -vvtToothPosition14 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition24 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition34 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition44 = scalar, F32, 1524, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio4 = scalar, F32, 1528, "", 1, 0 -triggerStateIndex4 = scalar, U08, 1532, "", 1, 0 -vvtStateIndex4 = scalar, U08, 1533, "", 1, 0 -; total TS size = 1536 -camResyncCounter = scalar, U08, 1536, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1540, [0:0] -; total TS size = 1544 -wallFuelCorrection = scalar, F32, 1544, "", 1, 0 -wallFuel = scalar, F32, 1548, "", 1, 0 -; total TS size = 1552 -idleState = bits, S32, 1552, [0:2], "not important" -currentIdlePosition = scalar, F32, 1556 -baseIdlePosition = scalar, F32, 1560 -idleClosedLoop = scalar, F32, 1564 -iacByTpsTaper = scalar, F32, 1568 -throttlePedalUpState = scalar, S32, 1572, "", 1, 0 -mightResetPid = bits, U32, 1576, [0:0] -shouldResetPid = bits, U32, 1576, [1:1] -wasResetPid = bits, U32, 1576, [2:2] -mustResetPid = bits, U32, 1576, [3:3] -isCranking = bits, U32, 1576, [4:4] -isIacTableForCoasting = bits, U32, 1576, [5:5] -notIdling = bits, U32, 1576, [6:6] -needReset = bits, U32, 1576, [7:7] -isInDeadZone = bits, U32, 1576, [8:8] -isBlipping = bits, U32, 1576, [9:9] -useClosedLoop = bits, U32, 1576, [10:10] -badTps = bits, U32, 1576, [11:11] -looksLikeRunning = bits, U32, 1576, [12:12] -looksLikeCoasting = bits, U32, 1576, [13:13] -looksLikeCrankToIdle = bits, U32, 1576, [14:14] -isIdleCoasting = bits, U32, 1576, [15:15] -isIdleClosedLoop = bits, U32, 1576, [16:16] -idleTarget = scalar, S32, 1580, "", 1, 0 -targetRpmByClt = scalar, S32, 1584, "", 1, 0 -targetRpmAc = scalar, S32, 1588, "", 1, 0 -iacByRpmTaper = scalar, F32, 1592 -luaAdd = scalar, F32, 1596 -; total TS size = 1600 -targetWithIdlePosition0 = scalar, F32, 1600, "per", 1,0 -trim0 = scalar, F32, 1604, "", 1, 0 -luaAdjustment0 = scalar, F32, 1608, "per", 1,0 -m_wastegatePosition0 = scalar, F32, 1612, "per", 1,0 -etbFeedForward0 = scalar, F32, 1616 -etbIntegralError0 = scalar, F32, 1620, "", 1, 0 -etbCurrentTarget0 = scalar, F32, 1624, "%", 1, 0 -etbCurrentAdjustedTarget0 = scalar, F32, 1628, "%", 1, 0 -etbRevLimitActive0 = bits, U32, 1632, [0:0] -jamDetected0 = bits, U32, 1632, [1:1] -etbTpsErrorCounter0 = scalar, U16, 1636, "count", 1,0 -etbPpsErrorCounter0 = scalar, U16, 1638, "count", 1,0 -etbErrorCode0 = scalar, S08, 1640, "", 1, 0 -tcEtbDrop0 = scalar, S08, 1641, "%", 1, 0 -jamTimer0 = scalar, U16, 1642, "sec", 0.01, 0 -adjustedEtbTarget0 = scalar, S08, 1644, "%", 1, 0 -; total TS size = 1648 -targetWithIdlePosition1 = scalar, F32, 1648, "per", 1,0 -trim1 = scalar, F32, 1652, "", 1, 0 -luaAdjustment1 = scalar, F32, 1656, "per", 1,0 -m_wastegatePosition1 = scalar, F32, 1660, "per", 1,0 -etbFeedForward1 = scalar, F32, 1664 -etbIntegralError1 = scalar, F32, 1668, "", 1, 0 -etbCurrentTarget1 = scalar, F32, 1672, "%", 1, 0 -etbCurrentAdjustedTarget1 = scalar, F32, 1676, "%", 1, 0 -etbRevLimitActive1 = bits, U32, 1680, [0:0] -jamDetected1 = bits, U32, 1680, [1:1] -etbTpsErrorCounter1 = scalar, U16, 1684, "count", 1,0 -etbPpsErrorCounter1 = scalar, U16, 1686, "count", 1,0 -etbErrorCode1 = scalar, S08, 1688, "", 1, 0 -tcEtbDrop1 = scalar, S08, 1689, "%", 1, 0 -jamTimer1 = scalar, U16, 1690, "sec", 0.01, 0 -adjustedEtbTarget1 = scalar, S08, 1692, "%", 1, 0 -; total TS size = 1696 -faultCode0 = scalar, U08, 1696, "", 1, 0 -heaterDuty0 = scalar, U08, 1697, "%", 1, 0 -pumpDuty0 = scalar, U08, 1698, "%", 1, 0 -tempC0 = scalar, U16, 1700, "C", 1, 0 -nernstVoltage0 = scalar, U16, 1702, "V", 0.001, 0 -esr0 = scalar, U16, 1704, "ohm", 1, 0 -; total TS size = 1708 -faultCode1 = scalar, U08, 1708, "", 1, 0 -heaterDuty1 = scalar, U08, 1709, "%", 1, 0 -pumpDuty1 = scalar, U08, 1710, "%", 1, 0 -tempC1 = scalar, U16, 1712, "C", 1, 0 -nernstVoltage1 = scalar, U16, 1714, "V", 0.001, 0 -esr1 = scalar, U16, 1716, "ohm", 1, 0 -; total TS size = 1720 -dcOutput0 = scalar, F32, 1720, "per", 1,0 -isEnabled0_int = scalar, U08, 1724, "per", 1,0 -isEnabled0 = bits, U32, 1728, [0:0] -; total TS size = 1732 -value0 = scalar, U16, 1732, "value", 1,0 -value1 = scalar, U16, 1734, "value", 1,0 -errorRate = scalar, F32, 1736, "ratio", 1,0 -; total TS size = 1740 -vvtTarget = scalar, U16, 1740, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1742, "%", 0.5, 0 -; total TS size = 1744 -lambdaCurrentlyGood = bits, U32, 1744, [0:0] -lambdaMonitorCut = bits, U32, 1744, [1:1] -lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 -; total TS size = 1752 +retardThresholdRpm = scalar, S32, 1120, "", 1, 0 +launchActivatePinState = bits, U32, 1124, [0:0] +isPreLaunchCondition = bits, U32, 1124, [1:1] +isLaunchCondition = bits, U32, 1124, [2:2] +isSwitchActivated = bits, U32, 1124, [3:3] +isClutchActivated = bits, U32, 1124, [4:4] +isBrakePedalActivated = bits, U32, 1124, [5:5] +isValidInputPin = bits, U32, 1124, [6:6] +activateSwitchCondition = bits, U32, 1124, [7:7] +rpmLaunchCondition = bits, U32, 1124, [8:8] +rpmPreLaunchCondition = bits, U32, 1124, [9:9] +speedCondition = bits, U32, 1124, [10:10] +tpsCondition = bits, U32, 1124, [11:11] +; total TS size = 1128 +isTorqueReductionTriggerPinValid = bits, U32, 1128, [0:0] +torqueReductionTriggerPinState = bits, U32, 1128, [1:1] +isTimeConditionSatisfied = bits, U32, 1128, [2:2] +isRpmConditionSatisfied = bits, U32, 1128, [3:3] +isAppConditionSatisfied = bits, U32, 1128, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1128, [5:5] +; total TS size = 1132 +isAntilagCondition = bits, U32, 1132, [0:0] +ALSMinRPMCondition = bits, U32, 1132, [1:1] +ALSMaxRPMCondition = bits, U32, 1132, [2:2] +ALSMinCLTCondition = bits, U32, 1132, [3:3] +ALSMaxCLTCondition = bits, U32, 1132, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1132, [5:5] +isALSSwitchActivated = bits, U32, 1132, [6:6] +ALSActivatePinState = bits, U32, 1132, [7:7] +ALSSwitchCondition = bits, U32, 1132, [8:8] +ALSTimerCondition = bits, U32, 1132, [9:9] +fuelALSCorrection = scalar, F32, 1136, "", 1, 0 +timingALSCorrection = scalar, S16, 1140, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1142, "deg", 0.01, 0 +; total TS size = 1144 +isTpsInvalid = bits, U32, 1144, [0:0] +m_shouldResetPid = bits, U32, 1144, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1144, [2:2] +isNotClosedLoop = bits, U32, 1144, [3:3] +isZeroRpm = bits, U32, 1144, [4:4] +hasInitBoost = bits, U32, 1144, [5:5] +rpmTooLow = bits, U32, 1144, [6:6] +tpsTooLow = bits, U32, 1144, [7:7] +mapTooLow = bits, U32, 1144, [8:8] +isPlantValid = bits, U32, 1144, [9:9] +isBoostControlled = bits, U32, 1144, [10:10] +luaTargetAdd = scalar, S16, 1148, "v", 0.5,0 +boostOutput = scalar, S16, 1150, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1152, "v", 1,0 +openLoopPart = scalar, F32, 1156, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1160, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1164, "%", 0.5,0 +boostControlTarget = scalar, S16, 1166, "kPa", 0.03333333333333333,0 +; total TS size = 1168 +acButtonState = scalar, S08, 1168, "", 1, 0 +m_acEnabled = bits, U32, 1172, [0:0] +engineTooSlow = bits, U32, 1172, [1:1] +engineTooFast = bits, U32, 1172, [2:2] +noClt = bits, U32, 1172, [3:3] +engineTooHot = bits, U32, 1172, [4:4] +tpsTooHigh = bits, U32, 1172, [5:5] +isDisabledByLua = bits, U32, 1172, [6:6] +acCompressorState = bits, U32, 1172, [7:7] +acPressureTooLow = bits, U32, 1172, [8:8] +acPressureTooHigh = bits, U32, 1172, [9:9] +; total TS size = 1176 +cranking0 = bits, U32, 1176, [0:0] +notRunning0 = bits, U32, 1176, [1:1] +disabledWhileEngineStopped0 = bits, U32, 1176, [2:2] +brokenClt0 = bits, U32, 1176, [3:3] +enabledForAc0 = bits, U32, 1176, [4:4] +hot0 = bits, U32, 1176, [5:5] +cold0 = bits, U32, 1176, [6:6] +disabledBySpeed0 = bits, U32, 1176, [7:7] +radiatorFanStatus0 = scalar, U08, 1180, "", 1, 0 +; total TS size = 1184 +cranking1 = bits, U32, 1184, [0:0] +notRunning1 = bits, U32, 1184, [1:1] +disabledWhileEngineStopped1 = bits, U32, 1184, [2:2] +brokenClt1 = bits, U32, 1184, [3:3] +enabledForAc1 = bits, U32, 1184, [4:4] +hot1 = bits, U32, 1184, [5:5] +cold1 = bits, U32, 1184, [6:6] +disabledBySpeed1 = bits, U32, 1184, [7:7] +radiatorFanStatus1 = scalar, U08, 1188, "", 1, 0 +; total TS size = 1192 +isPrime = bits, U32, 1192, [0:0] +engineTurnedRecently = bits, U32, 1192, [1:1] +isFuelPumpOn = bits, U32, 1192, [2:2] +ignitionOn = bits, U32, 1192, [3:3] +; total TS size = 1196 +isBenchTest = bits, U32, 1196, [0:0] +hasIgnitionVoltage = bits, U32, 1196, [1:1] +mainRelayState = bits, U32, 1196, [2:2] +delayedShutoffRequested = bits, U32, 1196, [3:3] +; total TS size = 1200 +lua_fuelAdd = scalar, F32, 1200, "g", 1, 0 +lua_fuelMult = scalar, F32, 1204, "", 1, 0 +lua_clutchUpState = bits, U32, 1208, [0:0] +lua_brakePedalState = bits, U32, 1208, [1:1] +lua_acRequestState = bits, U32, 1208, [2:2] +lua_luaDisableEtb = bits, U32, 1208, [3:3] +lua_luaIgnCut = bits, U32, 1208, [4:4] +lua_luaFuelCut = bits, U32, 1208, [5:5] +lua_clutchDownState = bits, U32, 1208, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1208, [7:7] +sd_tCharge = scalar, S16, 1212, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1216, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1220, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1224, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1228, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1232, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1236, "", 1, 0 +hellenBoardId = scalar, S16, 1240, "id", 1, 0 +clutchUpState = scalar, S08, 1242, "", 1, 0 +clutchDownState = scalar, S08, 1243, "", 1, 0 +brakePedalState = scalar, S08, 1244, "", 1, 0 +startStopState = scalar, S08, 1245, "", 1, 0 +smartChipState = scalar, S08, 1246, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1247, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1248, "", 1, 0 +startStopPhysicalState = bits, U32, 1252, [0:0] +acrActive = bits, U32, 1252, [1:1] +acrEngineMovedRecently = bits, U32, 1252, [2:2] +heaterControlEnabled = bits, U32, 1252, [3:3] +luaDigitalState0 = bits, U32, 1252, [4:4] +luaDigitalState1 = bits, U32, 1252, [5:5] +luaDigitalState2 = bits, U32, 1252, [6:6] +luaDigitalState3 = bits, U32, 1252, [7:7] +startStopStateToggleCounter = scalar, U32, 1256, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1260, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1264, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1268, "", 1, 0 +desiredRpmLimit = scalar, S16, 1272, "rpm", 1, 0 +fuelInjectionCounter = scalar, U32, 1276, "", 1, 0 +globalSparkCounter = scalar, U32, 1280, "", 1, 0 +fuelingLoad = scalar, F32, 1284, "", 1, 0 +ignitionLoad = scalar, F32, 1288, "", 1, 0 +veTableYAxis = scalar, U16, 1292, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1294, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1295, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1296, "", 1, 0 +; total TS size = 1300 +tpsFrom = scalar, F32, 1300 +tpsTo = scalar, F32, 1304 +deltaTps = scalar, F32, 1308 +extraFuel = scalar, F32, 1312, "", 1, 0 +valueFromTable = scalar, F32, 1316, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1320, [0:0] +isBelowDecelThreshold = bits, U32, 1320, [1:1] +isTimeToResetAccumulator = bits, U32, 1320, [2:2] +isFractionalEnrichment = bits, U32, 1320, [3:3] +belowEpsilon = bits, U32, 1320, [4:4] +tooShort = bits, U32, 1320, [5:5] +fractionalInjFuel = scalar, F32, 1324, "", 1, 0 +accumulatedValue = scalar, F32, 1328, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1332, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1336, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1340, "", 1, 0 +cycleCnt = scalar, S32, 1344, "", 1, 0 +; total TS size = 1348 +hwEventCounters1 = scalar, U32, 1348, "", 1, 0 +hwEventCounters2 = scalar, U32, 1352, "", 1, 0 +hwEventCounters3 = scalar, U32, 1356, "", 1, 0 +hwEventCounters4 = scalar, U32, 1360, "", 1, 0 +hwEventCounters5 = scalar, U32, 1364, "", 1, 0 +hwEventCounters6 = scalar, U32, 1368, "", 1, 0 +vvtCamCounter = scalar, U32, 1372, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1376, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1380, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1384, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1385, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1388, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1392, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1396, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1400, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1404, [0:0] +triggerElapsedUs = scalar, U32, 1408, "", 1, 0 +; total TS size = 1412 +crankSynchronizationCounter0 = scalar, U32, 1412, "", 1, 0 +vvtSyncGapRatio0 = scalar, F32, 1416, "", 1, 0 +vvtToothDurations00 = scalar, U32, 1420, "us", 1, 0 +vvtCurrentPosition0 = scalar, F32, 1424, "sync: Primary Cam Position", 1, 0 +vvtToothPosition10 = scalar, F32, 1428, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition20 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition30 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition40 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio0 = scalar, F32, 1444, "", 1, 0 +triggerStateIndex0 = scalar, U08, 1448, "", 1, 0 +vvtStateIndex0 = scalar, U08, 1449, "", 1, 0 +; total TS size = 1452 +crankSynchronizationCounter1 = scalar, U32, 1452, "", 1, 0 +vvtSyncGapRatio1 = scalar, F32, 1456, "", 1, 0 +vvtToothDurations01 = scalar, U32, 1460, "us", 1, 0 +vvtCurrentPosition1 = scalar, F32, 1464, "sync: Primary Cam Position", 1, 0 +vvtToothPosition11 = scalar, F32, 1468, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition21 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition31 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition41 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio1 = scalar, F32, 1484, "", 1, 0 +triggerStateIndex1 = scalar, U08, 1488, "", 1, 0 +vvtStateIndex1 = scalar, U08, 1489, "", 1, 0 +; total TS size = 1492 +crankSynchronizationCounter2 = scalar, U32, 1492, "", 1, 0 +vvtSyncGapRatio2 = scalar, F32, 1496, "", 1, 0 +vvtToothDurations02 = scalar, U32, 1500, "us", 1, 0 +vvtCurrentPosition2 = scalar, F32, 1504, "sync: Primary Cam Position", 1, 0 +vvtToothPosition12 = scalar, F32, 1508, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition22 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition32 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition42 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio2 = scalar, F32, 1524, "", 1, 0 +triggerStateIndex2 = scalar, U08, 1528, "", 1, 0 +vvtStateIndex2 = scalar, U08, 1529, "", 1, 0 +; total TS size = 1532 +crankSynchronizationCounter3 = scalar, U32, 1532, "", 1, 0 +vvtSyncGapRatio3 = scalar, F32, 1536, "", 1, 0 +vvtToothDurations03 = scalar, U32, 1540, "us", 1, 0 +vvtCurrentPosition3 = scalar, F32, 1544, "sync: Primary Cam Position", 1, 0 +vvtToothPosition13 = scalar, F32, 1548, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition23 = scalar, F32, 1552, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition33 = scalar, F32, 1556, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition43 = scalar, F32, 1560, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio3 = scalar, F32, 1564, "", 1, 0 +triggerStateIndex3 = scalar, U08, 1568, "", 1, 0 +vvtStateIndex3 = scalar, U08, 1569, "", 1, 0 +; total TS size = 1572 +crankSynchronizationCounter4 = scalar, U32, 1572, "", 1, 0 +vvtSyncGapRatio4 = scalar, F32, 1576, "", 1, 0 +vvtToothDurations04 = scalar, U32, 1580, "us", 1, 0 +vvtCurrentPosition4 = scalar, F32, 1584, "sync: Primary Cam Position", 1, 0 +vvtToothPosition14 = scalar, F32, 1588, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition24 = scalar, F32, 1592, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition34 = scalar, F32, 1596, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition44 = scalar, F32, 1600, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio4 = scalar, F32, 1604, "", 1, 0 +triggerStateIndex4 = scalar, U08, 1608, "", 1, 0 +vvtStateIndex4 = scalar, U08, 1609, "", 1, 0 +; total TS size = 1612 +camResyncCounter = scalar, U08, 1612, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1616, [0:0] +; total TS size = 1620 +wallFuelCorrection = scalar, F32, 1620, "", 1, 0 +wallFuel = scalar, F32, 1624, "", 1, 0 +; total TS size = 1628 +idleState = bits, S32, 1628, [0:2], "not important" +currentIdlePosition = scalar, F32, 1632 +baseIdlePosition = scalar, F32, 1636 +idleClosedLoop = scalar, F32, 1640 +iacByTpsTaper = scalar, F32, 1644 +throttlePedalUpState = scalar, S32, 1648, "", 1, 0 +mightResetPid = bits, U32, 1652, [0:0] +shouldResetPid = bits, U32, 1652, [1:1] +wasResetPid = bits, U32, 1652, [2:2] +mustResetPid = bits, U32, 1652, [3:3] +isCranking = bits, U32, 1652, [4:4] +isIacTableForCoasting = bits, U32, 1652, [5:5] +notIdling = bits, U32, 1652, [6:6] +needReset = bits, U32, 1652, [7:7] +isInDeadZone = bits, U32, 1652, [8:8] +isBlipping = bits, U32, 1652, [9:9] +useClosedLoop = bits, U32, 1652, [10:10] +badTps = bits, U32, 1652, [11:11] +looksLikeRunning = bits, U32, 1652, [12:12] +looksLikeCoasting = bits, U32, 1652, [13:13] +looksLikeCrankToIdle = bits, U32, 1652, [14:14] +isIdleCoasting = bits, U32, 1652, [15:15] +isIdleClosedLoop = bits, U32, 1652, [16:16] +idleTarget = scalar, S32, 1656, "", 1, 0 +targetRpmByClt = scalar, S32, 1660, "", 1, 0 +targetRpmAc = scalar, S32, 1664, "", 1, 0 +iacByRpmTaper = scalar, F32, 1668 +luaAdd = scalar, F32, 1672 +; total TS size = 1676 +targetWithIdlePosition0 = scalar, F32, 1676, "per", 1,0 +trim0 = scalar, F32, 1680, "", 1, 0 +luaAdjustment0 = scalar, F32, 1684, "per", 1,0 +m_wastegatePosition0 = scalar, F32, 1688, "per", 1,0 +etbFeedForward0 = scalar, F32, 1692 +etbIntegralError0 = scalar, F32, 1696, "", 1, 0 +etbCurrentTarget0 = scalar, F32, 1700, "%", 1, 0 +etbCurrentAdjustedTarget0 = scalar, F32, 1704, "%", 1, 0 +etbRevLimitActive0 = bits, U32, 1708, [0:0] +jamDetected0 = bits, U32, 1708, [1:1] +etbTpsErrorCounter0 = scalar, U16, 1712, "count", 1,0 +etbPpsErrorCounter0 = scalar, U16, 1714, "count", 1,0 +etbErrorCode0 = scalar, S08, 1716, "", 1, 0 +tcEtbDrop0 = scalar, S08, 1717, "%", 1, 0 +jamTimer0 = scalar, U16, 1718, "sec", 0.01, 0 +adjustedEtbTarget0 = scalar, S08, 1720, "%", 1, 0 +; total TS size = 1724 +targetWithIdlePosition1 = scalar, F32, 1724, "per", 1,0 +trim1 = scalar, F32, 1728, "", 1, 0 +luaAdjustment1 = scalar, F32, 1732, "per", 1,0 +m_wastegatePosition1 = scalar, F32, 1736, "per", 1,0 +etbFeedForward1 = scalar, F32, 1740 +etbIntegralError1 = scalar, F32, 1744, "", 1, 0 +etbCurrentTarget1 = scalar, F32, 1748, "%", 1, 0 +etbCurrentAdjustedTarget1 = scalar, F32, 1752, "%", 1, 0 +etbRevLimitActive1 = bits, U32, 1756, [0:0] +jamDetected1 = bits, U32, 1756, [1:1] +etbTpsErrorCounter1 = scalar, U16, 1760, "count", 1,0 +etbPpsErrorCounter1 = scalar, U16, 1762, "count", 1,0 +etbErrorCode1 = scalar, S08, 1764, "", 1, 0 +tcEtbDrop1 = scalar, S08, 1765, "%", 1, 0 +jamTimer1 = scalar, U16, 1766, "sec", 0.01, 0 +adjustedEtbTarget1 = scalar, S08, 1768, "%", 1, 0 +; total TS size = 1772 +faultCode0 = scalar, U08, 1772, "", 1, 0 +heaterDuty0 = scalar, U08, 1773, "%", 1, 0 +pumpDuty0 = scalar, U08, 1774, "%", 1, 0 +tempC0 = scalar, U16, 1776, "C", 1, 0 +nernstVoltage0 = scalar, U16, 1778, "V", 0.001, 0 +esr0 = scalar, U16, 1780, "ohm", 1, 0 +; total TS size = 1784 +faultCode1 = scalar, U08, 1784, "", 1, 0 +heaterDuty1 = scalar, U08, 1785, "%", 1, 0 +pumpDuty1 = scalar, U08, 1786, "%", 1, 0 +tempC1 = scalar, U16, 1788, "C", 1, 0 +nernstVoltage1 = scalar, U16, 1790, "V", 0.001, 0 +esr1 = scalar, U16, 1792, "ohm", 1, 0 +; total TS size = 1796 +dcOutput0 = scalar, F32, 1796, "per", 1,0 +isEnabled0_int = scalar, U08, 1800, "per", 1,0 +isEnabled0 = bits, U32, 1804, [0:0] +; total TS size = 1808 +value0 = scalar, U16, 1808, "value", 1,0 +value1 = scalar, U16, 1810, "value", 1,0 +errorRate = scalar, F32, 1812, "ratio", 1,0 +; total TS size = 1816 +vvtTarget = scalar, U16, 1816, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1818, "%", 0.5, 0 +; total TS size = 1820 +lambdaCurrentlyGood = bits, U32, 1820, [0:0] +lambdaMonitorCut = bits, U32, 1820, [1:1] +lambdaTimeSinceGood = scalar, U16, 1824, "sec", 0.01, 0 +; total TS size = 1828 time = { timeNow } @@ -3616,6 +3648,7 @@ lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs8 requiresPowerCycle = cylinderBore + requiresPowerCycle = knockFrequency readOnly = warning_message readOnly = device_uid1 @@ -5033,6 +5066,26 @@ gaugeCategory = Knock knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knockSpectrumChannelCylGauge = m_knockSpectrumChannelCyl, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStartGauge = m_knockFrequencyStart, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStepGauge = m_knockFrequencyStep, "Knock Frequency Step", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFuelTrimMultiplier = m_knockFuelTrimMultiplier, "Knock Fuel Trim", "mult", 0, 0, 0, 0, 0, 30, 1, 1 + knockSpectrum1 = m_knockSpectrum1, "Knock Spectrum1", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum2 = m_knockSpectrum2, "knockSpectrum2", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum3 = m_knockSpectrum3, "knockSpectrum3", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum4 = m_knockSpectrum4, "knockSpectrum4", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum5 = m_knockSpectrum5, "knockSpectrum5", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum6 = m_knockSpectrum6, "knockSpectrum6", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum7 = m_knockSpectrum7, "knockSpectrum7", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum8 = m_knockSpectrum8, "knockSpectrum8", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum9 = m_knockSpectrum9, "knockSpectrum9", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum10 = m_knockSpectrum10, "knockSpectrum10", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum11 = m_knockSpectrum11, "knockSpectrum11", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum12 = m_knockSpectrum12, "knockSpectrum12", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum13 = m_knockSpectrum13, "knockSpectrum13", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum14 = m_knockSpectrum14, "knockSpectrum14", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum15 = m_knockSpectrum15, "knockSpectrum15", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum16 = m_knockSpectrum16, "knockSpectrum16", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -5631,6 +5684,26 @@ entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" entry = m_knockCount, "Knock: Count", int, "%d" entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_knockFrequency, "knock: frequency", int, "%d" +entry = m_knockSpectrum1, "Knock: SpectrumData 1", int, "%d" +entry = m_knockSpectrum2, "Knock: SpectrumData 2", int, "%d" +entry = m_knockSpectrum3, "Knock: SpectrumData 3", int, "%d" +entry = m_knockSpectrum4, "Knock: SpectrumData 4", int, "%d" +entry = m_knockSpectrum5, "Knock: SpectrumData 5", int, "%d" +entry = m_knockSpectrum6, "Knock: SpectrumData 6", int, "%d" +entry = m_knockSpectrum7, "Knock: SpectrumData 7", int, "%d" +entry = m_knockSpectrum8, "Knock: SpectrumData 8", int, "%d" +entry = m_knockSpectrum9, "Knock: SpectrumData 9", int, "%d" +entry = m_knockSpectrum10, "Knock: SpectrumData 10", int, "%d" +entry = m_knockSpectrum11, "Knock: SpectrumData 11", int, "%d" +entry = m_knockSpectrum12, "Knock: SpectrumData 12", int, "%d" +entry = m_knockSpectrum13, "Knock: SpectrumData 13", int, "%d" +entry = m_knockSpectrum14, "Knock: SpectrumData 14", int, "%d" +entry = m_knockSpectrum15, "Knock: SpectrumData 15", int, "%d" +entry = m_knockSpectrum16, "Knock: SpectrumData 16", int, "%d" +entry = m_knockSpectrumChannelCyl, "Knock: ChannelAndCylNumber", int, "%d" +entry = m_knockFrequencyStart, "Knock: Start Freq", int, "%d" +entry = m_knockFrequencyStep, "Knock: Step Freq", float, "%.3f" +entry = m_knockFuelTrimMultiplier, "Knock: Fuel trim when knock", float, "%.3f" entry = tcuCurrentGear, "TCU: Current Gear", int, "%d" entry = tcRatio, "TCU: Torque Converter Ratio", float, "%.3f" entry = lastShiftTime, "lastShiftTime", float, "%.3f" @@ -6529,6 +6602,31 @@ dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard graphLine = m_knockFrequency + graphLine = m_knockSpectrum1 + graphLine = m_knockSpectrum2 + liveGraph = knock_controller_6_Graph, "Graph", South + graphLine = m_knockSpectrum3 + graphLine = m_knockSpectrum4 + graphLine = m_knockSpectrum5 + graphLine = m_knockSpectrum6 + liveGraph = knock_controller_7_Graph, "Graph", South + graphLine = m_knockSpectrum7 + graphLine = m_knockSpectrum8 + graphLine = m_knockSpectrum9 + graphLine = m_knockSpectrum10 + liveGraph = knock_controller_8_Graph, "Graph", South + graphLine = m_knockSpectrum11 + graphLine = m_knockSpectrum12 + graphLine = m_knockSpectrum13 + graphLine = m_knockSpectrum14 + liveGraph = knock_controller_9_Graph, "Graph", South + graphLine = m_knockSpectrum15 + graphLine = m_knockSpectrum16 + graphLine = m_knockSpectrumChannelCyl + graphLine = m_knockFrequencyStart + liveGraph = knock_controller_10_Graph, "Graph", South + graphLine = m_knockFrequencyStep + graphLine = m_knockFuelTrimMultiplier indicatorPanel = tcu_controllerIndicatorPanel, 2 indicator = {isShifting}, "isShifting No", "isShifting Yes" @@ -8597,9 +8695,13 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockCfg, "Sense" field = "Enable", enableSoftwareKnock field = "Cylinder Bore", cylinderBore, {enableSoftwareKnock} + field = "Estimated Knock Frequency",knockFrequency, {enableSoftwareKnock} field = "Detection mode", knockDetectionUseDoubleFrequency field = "Detection Window Start",knockDetectionWindowStart, {enableSoftwareKnock} field = "Sampling Duration", knockSamplingDuration, {enableSoftwareKnock} + field = "Enable Knock Spectrogram", enableKnockSpectrogram, {enableSoftwareKnock} + field = "Enable Knock Spectrogram Filter", enableKnockSpectrogramFilter, {enableKnockSpectrogram} + field = "Knock Spectrum Sensitivity", knockSpectrumSensitivity, {enableKnockSpectrogram} field = "" field = "Select the nearest sensor for each cylinder" @@ -8619,6 +8721,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockResponseCfg, "Response" field = knockRetardAggression, knockRetardAggression field = knockRetardReapplyRate, knockRetardReapplyRate + field = knockFuelTrimAggression, knockFuelTrimAggression + field = knockFuelTrimReapplyRate, knockFuelTrimReapplyRate + field = knockFuelTrim, knockFuelTrim + field = knockSuppressMinTps, knockSuppressMinTps dialog = softwareKnockLeft, "" panel = softwareKnockCfg diff --git a/firmware/tunerstudio/generated/rusefi_t-b-g.ini b/firmware/tunerstudio/generated/rusefi_t-b-g.ini index 9dc7c8aa49..94b7dce7d4 100644 --- a/firmware/tunerstudio/generated/rusefi_t-b-g.ini +++ b/firmware/tunerstudio/generated/rusefi_t-b-g.ini @@ -38,12 +38,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.10.21.t-b-g.2262948377" + signature = "rusEFI master.2024.10.21.t-b-g.1523155174" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.10.21.t-b-g.2262948377" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.10.21.t-b-g.1523155174" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -774,6 +774,7 @@ devBit7 = bits, U32, 1492, [27:27], "false", "true" unusedSkipWasHere = bits, U32, 1492, [28:28], "false", "true" invertExhaustCamVVTSignal = bits, U32, 1492, [29:29], "Rising", "Falling" enableKnockSpectrogram = bits, U32, 1492, [30:30], "false", "true" +enableKnockSpectrogramFilter = bits, U32, 1492, [31:31], "false", "true" afterCrankingIACtaperDuration = scalar, S16, 1496, "cycles", 1, 0, 0, 5000, 0 iacByTpsTaper = scalar, S16, 1498, "percent", 1, 0, 0, 500, 0 unusedAuxSeria = bits, U16, 1500, [0:8], $gpio_list @@ -1394,7 +1395,13 @@ auxLinear4_v1 = scalar, F32, 3880, "volts", 1, 0, 0, 10, 2 auxLinear4_value1 = scalar, F32, 3884, "", 1, 0, -100000, 1000000, 2 auxLinear4_v2 = scalar, F32, 3888, "volts", 1, 0, 0, 10, 2 auxLinear4_value2 = scalar, F32, 3892, "", 1, 0, -100000, 1000000, 2 -unusedOftenChangesDuringFirmwareUpdate = array, U08, 3896, [128], "units", 1, 0, 0, 1, 0 +knockSuppressMinTps = scalar, U08, 3896, "%", 1, 0, 0, 100, 1 +knockFuelTrimAggression = scalar, U08, 3897, "%", 0.1, 0, 0, 20, 1 +knockFuelTrimReapplyRate = scalar, U08, 3898, "deg/s", 0.1, 0, 0, 10, 1 +knockFuelTrim = scalar, U08, 3899, "%", 1, 0, 0, 30, 1 +knockSpectrumSensitivity = scalar, F32, 3900, "sense", 1, 0, 0, 1, 2 +knockFrequency = scalar, F32, 3904, "Hz", 1, 0, 0, 20000, 2 +unusedOftenChangesDuringFirmwareUpdate = array, U08, 3908, [116], "units", 1, 0, 0, 1, 0 postCrankingFactor = array, F32, 4024, [6x6], "mult", 1, 0, 1, 3, 2 postCrankingDurationBins = array, F32, 4168, [6], "count", 1, 0, 0, 1000, 0 postCrankingCLTBins = array, S16, 4192, [6], "C", 1, 0, -100, 250, 0 @@ -2448,6 +2455,11 @@ minimumOilPressureValues = array, U08, 22960, [8], "kPa", 10.0, 0, 0, 1000, 0 minAcPressure = "value of A/C pressure in kPa before that compressor is disengaged" maxAcPressure = "value of A/C pressure in kPa after that compressor is disengaged" minimumOilPressureTimeout = "Delay before cutting fuel due to low oil pressure. Use this to ignore short pressure blips and sensor noise." + knockSuppressMinTps = "Below TPS value all knock suppression will be disabled." + knockFuelTrimAggression = "Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump)," + knockFuelTrimReapplyRate = "After a knock event, reapply fuel at this rate." + knockFuelTrim = "Fuel trim when knock, max 30%" + knockFrequency = "Estimated knock frequency, ignore cylinderBore if this one > 0" etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, open loop component of PID closed loop control" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2560,7 +2572,7 @@ minimumOilPressureValues = array, U08, 22960, [8], "kPa", 10.0, 0, 0, 1000, 0 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1752 + ochBlockSize = 1828 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3101,370 +3113,390 @@ m_knockThreshold = scalar, F32, 960, "", 1, 0 m_knockCount = scalar, U32, 964, "", 1, 0 m_maximumRetard = scalar, F32, 968, "", 1, 0 m_knockFrequency = scalar, U32, 972, "Hz", 1, 0 -; total TS size = 976 -tcuCurrentGear = scalar, S08, 976, "gear", 1, 0 -tcRatio = scalar, U16, 978, "value", 0.01, 0 -lastShiftTime = scalar, F32, 980, "", 1, 0 -tcu_currentRange = scalar, U08, 984, "", 1, 0 -pressureControlDuty = scalar, S08, 985, "%", 1,0 -torqueConverterDuty = scalar, S08, 986, "%", 1,0 -isShifting = bits, U32, 988, [0:0] -; total TS size = 992 -throttleUseWotModel = bits, U32, 992, [0:0] -throttleModelCrossoverAngle = scalar, S16, 996, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1000, "g/s", 1, 0 -; total TS size = 1004 -m_requested_pump = scalar, F32, 1004, "", 1, 0 -fuel_requested_percent = scalar, F32, 1008, "", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1012, "", 1, 0 -noValve = bits, U32, 1016, [0:0] -angleAboveMin = bits, U32, 1016, [1:1] -isHpfpInactive = bits, U32, 1016, [2:2] -m_pressureTarget_kPa = scalar, F32, 1020, "", 1, 0 -nextLobe = scalar, F32, 1024, "", 1, 0 -di_nextStart = scalar, F32, 1028, "v", 1, 0 -; total TS size = 1032 -m_deadtime = scalar, F32, 1032, "ms", 1, 0 -pressureDelta = scalar, F32, 1036, "kPa", 1, 0 -pressureRatio = scalar, F32, 1040, "", 1, 0 -; total TS size = 1044 -retardThresholdRpm = scalar, S32, 1044, "", 1, 0 -launchActivatePinState = bits, U32, 1048, [0:0] -isPreLaunchCondition = bits, U32, 1048, [1:1] -isLaunchCondition = bits, U32, 1048, [2:2] -isSwitchActivated = bits, U32, 1048, [3:3] -isClutchActivated = bits, U32, 1048, [4:4] -isBrakePedalActivated = bits, U32, 1048, [5:5] -isValidInputPin = bits, U32, 1048, [6:6] -activateSwitchCondition = bits, U32, 1048, [7:7] -rpmLaunchCondition = bits, U32, 1048, [8:8] -rpmPreLaunchCondition = bits, U32, 1048, [9:9] -speedCondition = bits, U32, 1048, [10:10] -tpsCondition = bits, U32, 1048, [11:11] +m_knockSpectrum1 = scalar, U32, 976, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 980, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 984, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 988, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1040, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1042, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1044, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1048, "multiplier", 1, 0 ; total TS size = 1052 -isTorqueReductionTriggerPinValid = bits, U32, 1052, [0:0] -torqueReductionTriggerPinState = bits, U32, 1052, [1:1] -isTimeConditionSatisfied = bits, U32, 1052, [2:2] -isRpmConditionSatisfied = bits, U32, 1052, [3:3] -isAppConditionSatisfied = bits, U32, 1052, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1052, [5:5] -; total TS size = 1056 -isAntilagCondition = bits, U32, 1056, [0:0] -ALSMinRPMCondition = bits, U32, 1056, [1:1] -ALSMaxRPMCondition = bits, U32, 1056, [2:2] -ALSMinCLTCondition = bits, U32, 1056, [3:3] -ALSMaxCLTCondition = bits, U32, 1056, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1056, [5:5] -isALSSwitchActivated = bits, U32, 1056, [6:6] -ALSActivatePinState = bits, U32, 1056, [7:7] -ALSSwitchCondition = bits, U32, 1056, [8:8] -ALSTimerCondition = bits, U32, 1056, [9:9] -fuelALSCorrection = scalar, F32, 1060, "", 1, 0 -timingALSCorrection = scalar, S16, 1064, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1066, "deg", 0.01, 0 +tcuCurrentGear = scalar, S08, 1052, "gear", 1, 0 +tcRatio = scalar, U16, 1054, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1056, "", 1, 0 +tcu_currentRange = scalar, U08, 1060, "", 1, 0 +pressureControlDuty = scalar, S08, 1061, "%", 1,0 +torqueConverterDuty = scalar, S08, 1062, "%", 1,0 +isShifting = bits, U32, 1064, [0:0] ; total TS size = 1068 -isTpsInvalid = bits, U32, 1068, [0:0] -m_shouldResetPid = bits, U32, 1068, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1068, [2:2] -isNotClosedLoop = bits, U32, 1068, [3:3] -isZeroRpm = bits, U32, 1068, [4:4] -hasInitBoost = bits, U32, 1068, [5:5] -rpmTooLow = bits, U32, 1068, [6:6] -tpsTooLow = bits, U32, 1068, [7:7] -mapTooLow = bits, U32, 1068, [8:8] -isPlantValid = bits, U32, 1068, [9:9] -isBoostControlled = bits, U32, 1068, [10:10] -luaTargetAdd = scalar, S16, 1072, "v", 0.5,0 -boostOutput = scalar, S16, 1074, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1076, "v", 1,0 -openLoopPart = scalar, F32, 1080, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1084, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1088, "%", 0.5,0 -boostControlTarget = scalar, S16, 1090, "kPa", 0.03333333333333333,0 -; total TS size = 1092 -acButtonState = scalar, S08, 1092, "", 1, 0 -m_acEnabled = bits, U32, 1096, [0:0] -engineTooSlow = bits, U32, 1096, [1:1] -engineTooFast = bits, U32, 1096, [2:2] -noClt = bits, U32, 1096, [3:3] -engineTooHot = bits, U32, 1096, [4:4] -tpsTooHigh = bits, U32, 1096, [5:5] -isDisabledByLua = bits, U32, 1096, [6:6] -acCompressorState = bits, U32, 1096, [7:7] -acPressureTooLow = bits, U32, 1096, [8:8] -acPressureTooHigh = bits, U32, 1096, [9:9] -; total TS size = 1100 -cranking0 = bits, U32, 1100, [0:0] -notRunning0 = bits, U32, 1100, [1:1] -disabledWhileEngineStopped0 = bits, U32, 1100, [2:2] -brokenClt0 = bits, U32, 1100, [3:3] -enabledForAc0 = bits, U32, 1100, [4:4] -hot0 = bits, U32, 1100, [5:5] -cold0 = bits, U32, 1100, [6:6] -disabledBySpeed0 = bits, U32, 1100, [7:7] -radiatorFanStatus0 = scalar, U08, 1104, "", 1, 0 +throttleUseWotModel = bits, U32, 1068, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1072, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1076, "g/s", 1, 0 +; total TS size = 1080 +m_requested_pump = scalar, F32, 1080, "", 1, 0 +fuel_requested_percent = scalar, F32, 1084, "", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1088, "", 1, 0 +noValve = bits, U32, 1092, [0:0] +angleAboveMin = bits, U32, 1092, [1:1] +isHpfpInactive = bits, U32, 1092, [2:2] +m_pressureTarget_kPa = scalar, F32, 1096, "", 1, 0 +nextLobe = scalar, F32, 1100, "", 1, 0 +di_nextStart = scalar, F32, 1104, "v", 1, 0 ; total TS size = 1108 -cranking1 = bits, U32, 1108, [0:0] -notRunning1 = bits, U32, 1108, [1:1] -disabledWhileEngineStopped1 = bits, U32, 1108, [2:2] -brokenClt1 = bits, U32, 1108, [3:3] -enabledForAc1 = bits, U32, 1108, [4:4] -hot1 = bits, U32, 1108, [5:5] -cold1 = bits, U32, 1108, [6:6] -disabledBySpeed1 = bits, U32, 1108, [7:7] -radiatorFanStatus1 = scalar, U08, 1112, "", 1, 0 -; total TS size = 1116 -isPrime = bits, U32, 1116, [0:0] -engineTurnedRecently = bits, U32, 1116, [1:1] -isFuelPumpOn = bits, U32, 1116, [2:2] -ignitionOn = bits, U32, 1116, [3:3] +m_deadtime = scalar, F32, 1108, "ms", 1, 0 +pressureDelta = scalar, F32, 1112, "kPa", 1, 0 +pressureRatio = scalar, F32, 1116, "", 1, 0 ; total TS size = 1120 -isBenchTest = bits, U32, 1120, [0:0] -hasIgnitionVoltage = bits, U32, 1120, [1:1] -mainRelayState = bits, U32, 1120, [2:2] -delayedShutoffRequested = bits, U32, 1120, [3:3] -; total TS size = 1124 -lua_fuelAdd = scalar, F32, 1124, "g", 1, 0 -lua_fuelMult = scalar, F32, 1128, "", 1, 0 -lua_clutchUpState = bits, U32, 1132, [0:0] -lua_brakePedalState = bits, U32, 1132, [1:1] -lua_acRequestState = bits, U32, 1132, [2:2] -lua_luaDisableEtb = bits, U32, 1132, [3:3] -lua_luaIgnCut = bits, U32, 1132, [4:4] -lua_luaFuelCut = bits, U32, 1132, [5:5] -lua_clutchDownState = bits, U32, 1132, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1132, [7:7] -sd_tCharge = scalar, S16, 1136, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1140, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1144, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1148, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1152, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1156, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1160, "", 1, 0 -hellenBoardId = scalar, S16, 1164, "id", 1, 0 -clutchUpState = scalar, S08, 1166, "", 1, 0 -clutchDownState = scalar, S08, 1167, "", 1, 0 -brakePedalState = scalar, S08, 1168, "", 1, 0 -startStopState = scalar, S08, 1169, "", 1, 0 -smartChipState = scalar, S08, 1170, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1171, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1172, "", 1, 0 -startStopPhysicalState = bits, U32, 1176, [0:0] -acrActive = bits, U32, 1176, [1:1] -acrEngineMovedRecently = bits, U32, 1176, [2:2] -heaterControlEnabled = bits, U32, 1176, [3:3] -luaDigitalState0 = bits, U32, 1176, [4:4] -luaDigitalState1 = bits, U32, 1176, [5:5] -luaDigitalState2 = bits, U32, 1176, [6:6] -luaDigitalState3 = bits, U32, 1176, [7:7] -startStopStateToggleCounter = scalar, U32, 1180, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1184, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1188, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1192, "", 1, 0 -desiredRpmLimit = scalar, S16, 1196, "rpm", 1, 0 -fuelInjectionCounter = scalar, U32, 1200, "", 1, 0 -globalSparkCounter = scalar, U32, 1204, "", 1, 0 -fuelingLoad = scalar, F32, 1208, "", 1, 0 -ignitionLoad = scalar, F32, 1212, "", 1, 0 -veTableYAxis = scalar, U16, 1216, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1218, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1219, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1220, "", 1, 0 -; total TS size = 1224 -tpsFrom = scalar, F32, 1224 -tpsTo = scalar, F32, 1228 -deltaTps = scalar, F32, 1232 -extraFuel = scalar, F32, 1236, "", 1, 0 -valueFromTable = scalar, F32, 1240, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1244, [0:0] -isBelowDecelThreshold = bits, U32, 1244, [1:1] -isTimeToResetAccumulator = bits, U32, 1244, [2:2] -isFractionalEnrichment = bits, U32, 1244, [3:3] -belowEpsilon = bits, U32, 1244, [4:4] -tooShort = bits, U32, 1244, [5:5] -fractionalInjFuel = scalar, F32, 1248, "", 1, 0 -accumulatedValue = scalar, F32, 1252, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1256, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1260, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1264, "", 1, 0 -cycleCnt = scalar, S32, 1268, "", 1, 0 -; total TS size = 1272 -hwEventCounters1 = scalar, U32, 1272, "", 1, 0 -hwEventCounters2 = scalar, U32, 1276, "", 1, 0 -hwEventCounters3 = scalar, U32, 1280, "", 1, 0 -hwEventCounters4 = scalar, U32, 1284, "", 1, 0 -hwEventCounters5 = scalar, U32, 1288, "", 1, 0 -hwEventCounters6 = scalar, U32, 1292, "", 1, 0 -vvtCamCounter = scalar, U32, 1296, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1300, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1304, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1308, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1309, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1312, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1316, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1320, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1324, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1328, [0:0] -triggerElapsedUs = scalar, U32, 1332, "", 1, 0 -; total TS size = 1336 -crankSynchronizationCounter0 = scalar, U32, 1336, "", 1, 0 -vvtSyncGapRatio0 = scalar, F32, 1340, "", 1, 0 -vvtToothDurations00 = scalar, U32, 1344, "us", 1, 0 -vvtCurrentPosition0 = scalar, F32, 1348, "sync: Primary Cam Position", 1, 0 -vvtToothPosition10 = scalar, F32, 1352, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition20 = scalar, F32, 1356, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition30 = scalar, F32, 1360, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition40 = scalar, F32, 1364, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio0 = scalar, F32, 1368, "", 1, 0 -triggerStateIndex0 = scalar, U08, 1372, "", 1, 0 -vvtStateIndex0 = scalar, U08, 1373, "", 1, 0 -; total TS size = 1376 -crankSynchronizationCounter1 = scalar, U32, 1376, "", 1, 0 -vvtSyncGapRatio1 = scalar, F32, 1380, "", 1, 0 -vvtToothDurations01 = scalar, U32, 1384, "us", 1, 0 -vvtCurrentPosition1 = scalar, F32, 1388, "sync: Primary Cam Position", 1, 0 -vvtToothPosition11 = scalar, F32, 1392, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition21 = scalar, F32, 1396, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition31 = scalar, F32, 1400, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition41 = scalar, F32, 1404, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio1 = scalar, F32, 1408, "", 1, 0 -triggerStateIndex1 = scalar, U08, 1412, "", 1, 0 -vvtStateIndex1 = scalar, U08, 1413, "", 1, 0 -; total TS size = 1416 -crankSynchronizationCounter2 = scalar, U32, 1416, "", 1, 0 -vvtSyncGapRatio2 = scalar, F32, 1420, "", 1, 0 -vvtToothDurations02 = scalar, U32, 1424, "us", 1, 0 -vvtCurrentPosition2 = scalar, F32, 1428, "sync: Primary Cam Position", 1, 0 -vvtToothPosition12 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition22 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition32 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition42 = scalar, F32, 1444, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio2 = scalar, F32, 1448, "", 1, 0 -triggerStateIndex2 = scalar, U08, 1452, "", 1, 0 -vvtStateIndex2 = scalar, U08, 1453, "", 1, 0 -; total TS size = 1456 -crankSynchronizationCounter3 = scalar, U32, 1456, "", 1, 0 -vvtSyncGapRatio3 = scalar, F32, 1460, "", 1, 0 -vvtToothDurations03 = scalar, U32, 1464, "us", 1, 0 -vvtCurrentPosition3 = scalar, F32, 1468, "sync: Primary Cam Position", 1, 0 -vvtToothPosition13 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition23 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition33 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition43 = scalar, F32, 1484, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio3 = scalar, F32, 1488, "", 1, 0 -triggerStateIndex3 = scalar, U08, 1492, "", 1, 0 -vvtStateIndex3 = scalar, U08, 1493, "", 1, 0 -; total TS size = 1496 -crankSynchronizationCounter4 = scalar, U32, 1496, "", 1, 0 -vvtSyncGapRatio4 = scalar, F32, 1500, "", 1, 0 -vvtToothDurations04 = scalar, U32, 1504, "us", 1, 0 -vvtCurrentPosition4 = scalar, F32, 1508, "sync: Primary Cam Position", 1, 0 -vvtToothPosition14 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition24 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition34 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition44 = scalar, F32, 1524, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio4 = scalar, F32, 1528, "", 1, 0 -triggerStateIndex4 = scalar, U08, 1532, "", 1, 0 -vvtStateIndex4 = scalar, U08, 1533, "", 1, 0 -; total TS size = 1536 -camResyncCounter = scalar, U08, 1536, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1540, [0:0] -; total TS size = 1544 -wallFuelCorrection = scalar, F32, 1544, "", 1, 0 -wallFuel = scalar, F32, 1548, "", 1, 0 -; total TS size = 1552 -idleState = bits, S32, 1552, [0:2], "not important" -currentIdlePosition = scalar, F32, 1556 -baseIdlePosition = scalar, F32, 1560 -idleClosedLoop = scalar, F32, 1564 -iacByTpsTaper = scalar, F32, 1568 -throttlePedalUpState = scalar, S32, 1572, "", 1, 0 -mightResetPid = bits, U32, 1576, [0:0] -shouldResetPid = bits, U32, 1576, [1:1] -wasResetPid = bits, U32, 1576, [2:2] -mustResetPid = bits, U32, 1576, [3:3] -isCranking = bits, U32, 1576, [4:4] -isIacTableForCoasting = bits, U32, 1576, [5:5] -notIdling = bits, U32, 1576, [6:6] -needReset = bits, U32, 1576, [7:7] -isInDeadZone = bits, U32, 1576, [8:8] -isBlipping = bits, U32, 1576, [9:9] -useClosedLoop = bits, U32, 1576, [10:10] -badTps = bits, U32, 1576, [11:11] -looksLikeRunning = bits, U32, 1576, [12:12] -looksLikeCoasting = bits, U32, 1576, [13:13] -looksLikeCrankToIdle = bits, U32, 1576, [14:14] -isIdleCoasting = bits, U32, 1576, [15:15] -isIdleClosedLoop = bits, U32, 1576, [16:16] -idleTarget = scalar, S32, 1580, "", 1, 0 -targetRpmByClt = scalar, S32, 1584, "", 1, 0 -targetRpmAc = scalar, S32, 1588, "", 1, 0 -iacByRpmTaper = scalar, F32, 1592 -luaAdd = scalar, F32, 1596 -; total TS size = 1600 -targetWithIdlePosition0 = scalar, F32, 1600, "per", 1,0 -trim0 = scalar, F32, 1604, "", 1, 0 -luaAdjustment0 = scalar, F32, 1608, "per", 1,0 -m_wastegatePosition0 = scalar, F32, 1612, "per", 1,0 -etbFeedForward0 = scalar, F32, 1616 -etbIntegralError0 = scalar, F32, 1620, "", 1, 0 -etbCurrentTarget0 = scalar, F32, 1624, "%", 1, 0 -etbCurrentAdjustedTarget0 = scalar, F32, 1628, "%", 1, 0 -etbRevLimitActive0 = bits, U32, 1632, [0:0] -jamDetected0 = bits, U32, 1632, [1:1] -etbTpsErrorCounter0 = scalar, U16, 1636, "count", 1,0 -etbPpsErrorCounter0 = scalar, U16, 1638, "count", 1,0 -etbErrorCode0 = scalar, S08, 1640, "", 1, 0 -tcEtbDrop0 = scalar, S08, 1641, "%", 1, 0 -jamTimer0 = scalar, U16, 1642, "sec", 0.01, 0 -adjustedEtbTarget0 = scalar, S08, 1644, "%", 1, 0 -; total TS size = 1648 -targetWithIdlePosition1 = scalar, F32, 1648, "per", 1,0 -trim1 = scalar, F32, 1652, "", 1, 0 -luaAdjustment1 = scalar, F32, 1656, "per", 1,0 -m_wastegatePosition1 = scalar, F32, 1660, "per", 1,0 -etbFeedForward1 = scalar, F32, 1664 -etbIntegralError1 = scalar, F32, 1668, "", 1, 0 -etbCurrentTarget1 = scalar, F32, 1672, "%", 1, 0 -etbCurrentAdjustedTarget1 = scalar, F32, 1676, "%", 1, 0 -etbRevLimitActive1 = bits, U32, 1680, [0:0] -jamDetected1 = bits, U32, 1680, [1:1] -etbTpsErrorCounter1 = scalar, U16, 1684, "count", 1,0 -etbPpsErrorCounter1 = scalar, U16, 1686, "count", 1,0 -etbErrorCode1 = scalar, S08, 1688, "", 1, 0 -tcEtbDrop1 = scalar, S08, 1689, "%", 1, 0 -jamTimer1 = scalar, U16, 1690, "sec", 0.01, 0 -adjustedEtbTarget1 = scalar, S08, 1692, "%", 1, 0 -; total TS size = 1696 -faultCode0 = scalar, U08, 1696, "", 1, 0 -heaterDuty0 = scalar, U08, 1697, "%", 1, 0 -pumpDuty0 = scalar, U08, 1698, "%", 1, 0 -tempC0 = scalar, U16, 1700, "C", 1, 0 -nernstVoltage0 = scalar, U16, 1702, "V", 0.001, 0 -esr0 = scalar, U16, 1704, "ohm", 1, 0 -; total TS size = 1708 -faultCode1 = scalar, U08, 1708, "", 1, 0 -heaterDuty1 = scalar, U08, 1709, "%", 1, 0 -pumpDuty1 = scalar, U08, 1710, "%", 1, 0 -tempC1 = scalar, U16, 1712, "C", 1, 0 -nernstVoltage1 = scalar, U16, 1714, "V", 0.001, 0 -esr1 = scalar, U16, 1716, "ohm", 1, 0 -; total TS size = 1720 -dcOutput0 = scalar, F32, 1720, "per", 1,0 -isEnabled0_int = scalar, U08, 1724, "per", 1,0 -isEnabled0 = bits, U32, 1728, [0:0] -; total TS size = 1732 -value0 = scalar, U16, 1732, "value", 1,0 -value1 = scalar, U16, 1734, "value", 1,0 -errorRate = scalar, F32, 1736, "ratio", 1,0 -; total TS size = 1740 -vvtTarget = scalar, U16, 1740, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1742, "%", 0.5, 0 -; total TS size = 1744 -lambdaCurrentlyGood = bits, U32, 1744, [0:0] -lambdaMonitorCut = bits, U32, 1744, [1:1] -lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 -; total TS size = 1752 +retardThresholdRpm = scalar, S32, 1120, "", 1, 0 +launchActivatePinState = bits, U32, 1124, [0:0] +isPreLaunchCondition = bits, U32, 1124, [1:1] +isLaunchCondition = bits, U32, 1124, [2:2] +isSwitchActivated = bits, U32, 1124, [3:3] +isClutchActivated = bits, U32, 1124, [4:4] +isBrakePedalActivated = bits, U32, 1124, [5:5] +isValidInputPin = bits, U32, 1124, [6:6] +activateSwitchCondition = bits, U32, 1124, [7:7] +rpmLaunchCondition = bits, U32, 1124, [8:8] +rpmPreLaunchCondition = bits, U32, 1124, [9:9] +speedCondition = bits, U32, 1124, [10:10] +tpsCondition = bits, U32, 1124, [11:11] +; total TS size = 1128 +isTorqueReductionTriggerPinValid = bits, U32, 1128, [0:0] +torqueReductionTriggerPinState = bits, U32, 1128, [1:1] +isTimeConditionSatisfied = bits, U32, 1128, [2:2] +isRpmConditionSatisfied = bits, U32, 1128, [3:3] +isAppConditionSatisfied = bits, U32, 1128, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1128, [5:5] +; total TS size = 1132 +isAntilagCondition = bits, U32, 1132, [0:0] +ALSMinRPMCondition = bits, U32, 1132, [1:1] +ALSMaxRPMCondition = bits, U32, 1132, [2:2] +ALSMinCLTCondition = bits, U32, 1132, [3:3] +ALSMaxCLTCondition = bits, U32, 1132, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1132, [5:5] +isALSSwitchActivated = bits, U32, 1132, [6:6] +ALSActivatePinState = bits, U32, 1132, [7:7] +ALSSwitchCondition = bits, U32, 1132, [8:8] +ALSTimerCondition = bits, U32, 1132, [9:9] +fuelALSCorrection = scalar, F32, 1136, "", 1, 0 +timingALSCorrection = scalar, S16, 1140, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1142, "deg", 0.01, 0 +; total TS size = 1144 +isTpsInvalid = bits, U32, 1144, [0:0] +m_shouldResetPid = bits, U32, 1144, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1144, [2:2] +isNotClosedLoop = bits, U32, 1144, [3:3] +isZeroRpm = bits, U32, 1144, [4:4] +hasInitBoost = bits, U32, 1144, [5:5] +rpmTooLow = bits, U32, 1144, [6:6] +tpsTooLow = bits, U32, 1144, [7:7] +mapTooLow = bits, U32, 1144, [8:8] +isPlantValid = bits, U32, 1144, [9:9] +isBoostControlled = bits, U32, 1144, [10:10] +luaTargetAdd = scalar, S16, 1148, "v", 0.5,0 +boostOutput = scalar, S16, 1150, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1152, "v", 1,0 +openLoopPart = scalar, F32, 1156, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1160, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1164, "%", 0.5,0 +boostControlTarget = scalar, S16, 1166, "kPa", 0.03333333333333333,0 +; total TS size = 1168 +acButtonState = scalar, S08, 1168, "", 1, 0 +m_acEnabled = bits, U32, 1172, [0:0] +engineTooSlow = bits, U32, 1172, [1:1] +engineTooFast = bits, U32, 1172, [2:2] +noClt = bits, U32, 1172, [3:3] +engineTooHot = bits, U32, 1172, [4:4] +tpsTooHigh = bits, U32, 1172, [5:5] +isDisabledByLua = bits, U32, 1172, [6:6] +acCompressorState = bits, U32, 1172, [7:7] +acPressureTooLow = bits, U32, 1172, [8:8] +acPressureTooHigh = bits, U32, 1172, [9:9] +; total TS size = 1176 +cranking0 = bits, U32, 1176, [0:0] +notRunning0 = bits, U32, 1176, [1:1] +disabledWhileEngineStopped0 = bits, U32, 1176, [2:2] +brokenClt0 = bits, U32, 1176, [3:3] +enabledForAc0 = bits, U32, 1176, [4:4] +hot0 = bits, U32, 1176, [5:5] +cold0 = bits, U32, 1176, [6:6] +disabledBySpeed0 = bits, U32, 1176, [7:7] +radiatorFanStatus0 = scalar, U08, 1180, "", 1, 0 +; total TS size = 1184 +cranking1 = bits, U32, 1184, [0:0] +notRunning1 = bits, U32, 1184, [1:1] +disabledWhileEngineStopped1 = bits, U32, 1184, [2:2] +brokenClt1 = bits, U32, 1184, [3:3] +enabledForAc1 = bits, U32, 1184, [4:4] +hot1 = bits, U32, 1184, [5:5] +cold1 = bits, U32, 1184, [6:6] +disabledBySpeed1 = bits, U32, 1184, [7:7] +radiatorFanStatus1 = scalar, U08, 1188, "", 1, 0 +; total TS size = 1192 +isPrime = bits, U32, 1192, [0:0] +engineTurnedRecently = bits, U32, 1192, [1:1] +isFuelPumpOn = bits, U32, 1192, [2:2] +ignitionOn = bits, U32, 1192, [3:3] +; total TS size = 1196 +isBenchTest = bits, U32, 1196, [0:0] +hasIgnitionVoltage = bits, U32, 1196, [1:1] +mainRelayState = bits, U32, 1196, [2:2] +delayedShutoffRequested = bits, U32, 1196, [3:3] +; total TS size = 1200 +lua_fuelAdd = scalar, F32, 1200, "g", 1, 0 +lua_fuelMult = scalar, F32, 1204, "", 1, 0 +lua_clutchUpState = bits, U32, 1208, [0:0] +lua_brakePedalState = bits, U32, 1208, [1:1] +lua_acRequestState = bits, U32, 1208, [2:2] +lua_luaDisableEtb = bits, U32, 1208, [3:3] +lua_luaIgnCut = bits, U32, 1208, [4:4] +lua_luaFuelCut = bits, U32, 1208, [5:5] +lua_clutchDownState = bits, U32, 1208, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1208, [7:7] +sd_tCharge = scalar, S16, 1212, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1216, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1220, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1224, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1228, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1232, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1236, "", 1, 0 +hellenBoardId = scalar, S16, 1240, "id", 1, 0 +clutchUpState = scalar, S08, 1242, "", 1, 0 +clutchDownState = scalar, S08, 1243, "", 1, 0 +brakePedalState = scalar, S08, 1244, "", 1, 0 +startStopState = scalar, S08, 1245, "", 1, 0 +smartChipState = scalar, S08, 1246, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1247, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1248, "", 1, 0 +startStopPhysicalState = bits, U32, 1252, [0:0] +acrActive = bits, U32, 1252, [1:1] +acrEngineMovedRecently = bits, U32, 1252, [2:2] +heaterControlEnabled = bits, U32, 1252, [3:3] +luaDigitalState0 = bits, U32, 1252, [4:4] +luaDigitalState1 = bits, U32, 1252, [5:5] +luaDigitalState2 = bits, U32, 1252, [6:6] +luaDigitalState3 = bits, U32, 1252, [7:7] +startStopStateToggleCounter = scalar, U32, 1256, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1260, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1264, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1268, "", 1, 0 +desiredRpmLimit = scalar, S16, 1272, "rpm", 1, 0 +fuelInjectionCounter = scalar, U32, 1276, "", 1, 0 +globalSparkCounter = scalar, U32, 1280, "", 1, 0 +fuelingLoad = scalar, F32, 1284, "", 1, 0 +ignitionLoad = scalar, F32, 1288, "", 1, 0 +veTableYAxis = scalar, U16, 1292, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1294, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1295, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1296, "", 1, 0 +; total TS size = 1300 +tpsFrom = scalar, F32, 1300 +tpsTo = scalar, F32, 1304 +deltaTps = scalar, F32, 1308 +extraFuel = scalar, F32, 1312, "", 1, 0 +valueFromTable = scalar, F32, 1316, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1320, [0:0] +isBelowDecelThreshold = bits, U32, 1320, [1:1] +isTimeToResetAccumulator = bits, U32, 1320, [2:2] +isFractionalEnrichment = bits, U32, 1320, [3:3] +belowEpsilon = bits, U32, 1320, [4:4] +tooShort = bits, U32, 1320, [5:5] +fractionalInjFuel = scalar, F32, 1324, "", 1, 0 +accumulatedValue = scalar, F32, 1328, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1332, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1336, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1340, "", 1, 0 +cycleCnt = scalar, S32, 1344, "", 1, 0 +; total TS size = 1348 +hwEventCounters1 = scalar, U32, 1348, "", 1, 0 +hwEventCounters2 = scalar, U32, 1352, "", 1, 0 +hwEventCounters3 = scalar, U32, 1356, "", 1, 0 +hwEventCounters4 = scalar, U32, 1360, "", 1, 0 +hwEventCounters5 = scalar, U32, 1364, "", 1, 0 +hwEventCounters6 = scalar, U32, 1368, "", 1, 0 +vvtCamCounter = scalar, U32, 1372, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1376, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1380, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1384, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1385, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1388, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1392, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1396, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1400, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1404, [0:0] +triggerElapsedUs = scalar, U32, 1408, "", 1, 0 +; total TS size = 1412 +crankSynchronizationCounter0 = scalar, U32, 1412, "", 1, 0 +vvtSyncGapRatio0 = scalar, F32, 1416, "", 1, 0 +vvtToothDurations00 = scalar, U32, 1420, "us", 1, 0 +vvtCurrentPosition0 = scalar, F32, 1424, "sync: Primary Cam Position", 1, 0 +vvtToothPosition10 = scalar, F32, 1428, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition20 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition30 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition40 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio0 = scalar, F32, 1444, "", 1, 0 +triggerStateIndex0 = scalar, U08, 1448, "", 1, 0 +vvtStateIndex0 = scalar, U08, 1449, "", 1, 0 +; total TS size = 1452 +crankSynchronizationCounter1 = scalar, U32, 1452, "", 1, 0 +vvtSyncGapRatio1 = scalar, F32, 1456, "", 1, 0 +vvtToothDurations01 = scalar, U32, 1460, "us", 1, 0 +vvtCurrentPosition1 = scalar, F32, 1464, "sync: Primary Cam Position", 1, 0 +vvtToothPosition11 = scalar, F32, 1468, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition21 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition31 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition41 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio1 = scalar, F32, 1484, "", 1, 0 +triggerStateIndex1 = scalar, U08, 1488, "", 1, 0 +vvtStateIndex1 = scalar, U08, 1489, "", 1, 0 +; total TS size = 1492 +crankSynchronizationCounter2 = scalar, U32, 1492, "", 1, 0 +vvtSyncGapRatio2 = scalar, F32, 1496, "", 1, 0 +vvtToothDurations02 = scalar, U32, 1500, "us", 1, 0 +vvtCurrentPosition2 = scalar, F32, 1504, "sync: Primary Cam Position", 1, 0 +vvtToothPosition12 = scalar, F32, 1508, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition22 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition32 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition42 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio2 = scalar, F32, 1524, "", 1, 0 +triggerStateIndex2 = scalar, U08, 1528, "", 1, 0 +vvtStateIndex2 = scalar, U08, 1529, "", 1, 0 +; total TS size = 1532 +crankSynchronizationCounter3 = scalar, U32, 1532, "", 1, 0 +vvtSyncGapRatio3 = scalar, F32, 1536, "", 1, 0 +vvtToothDurations03 = scalar, U32, 1540, "us", 1, 0 +vvtCurrentPosition3 = scalar, F32, 1544, "sync: Primary Cam Position", 1, 0 +vvtToothPosition13 = scalar, F32, 1548, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition23 = scalar, F32, 1552, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition33 = scalar, F32, 1556, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition43 = scalar, F32, 1560, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio3 = scalar, F32, 1564, "", 1, 0 +triggerStateIndex3 = scalar, U08, 1568, "", 1, 0 +vvtStateIndex3 = scalar, U08, 1569, "", 1, 0 +; total TS size = 1572 +crankSynchronizationCounter4 = scalar, U32, 1572, "", 1, 0 +vvtSyncGapRatio4 = scalar, F32, 1576, "", 1, 0 +vvtToothDurations04 = scalar, U32, 1580, "us", 1, 0 +vvtCurrentPosition4 = scalar, F32, 1584, "sync: Primary Cam Position", 1, 0 +vvtToothPosition14 = scalar, F32, 1588, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition24 = scalar, F32, 1592, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition34 = scalar, F32, 1596, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition44 = scalar, F32, 1600, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio4 = scalar, F32, 1604, "", 1, 0 +triggerStateIndex4 = scalar, U08, 1608, "", 1, 0 +vvtStateIndex4 = scalar, U08, 1609, "", 1, 0 +; total TS size = 1612 +camResyncCounter = scalar, U08, 1612, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1616, [0:0] +; total TS size = 1620 +wallFuelCorrection = scalar, F32, 1620, "", 1, 0 +wallFuel = scalar, F32, 1624, "", 1, 0 +; total TS size = 1628 +idleState = bits, S32, 1628, [0:2], "not important" +currentIdlePosition = scalar, F32, 1632 +baseIdlePosition = scalar, F32, 1636 +idleClosedLoop = scalar, F32, 1640 +iacByTpsTaper = scalar, F32, 1644 +throttlePedalUpState = scalar, S32, 1648, "", 1, 0 +mightResetPid = bits, U32, 1652, [0:0] +shouldResetPid = bits, U32, 1652, [1:1] +wasResetPid = bits, U32, 1652, [2:2] +mustResetPid = bits, U32, 1652, [3:3] +isCranking = bits, U32, 1652, [4:4] +isIacTableForCoasting = bits, U32, 1652, [5:5] +notIdling = bits, U32, 1652, [6:6] +needReset = bits, U32, 1652, [7:7] +isInDeadZone = bits, U32, 1652, [8:8] +isBlipping = bits, U32, 1652, [9:9] +useClosedLoop = bits, U32, 1652, [10:10] +badTps = bits, U32, 1652, [11:11] +looksLikeRunning = bits, U32, 1652, [12:12] +looksLikeCoasting = bits, U32, 1652, [13:13] +looksLikeCrankToIdle = bits, U32, 1652, [14:14] +isIdleCoasting = bits, U32, 1652, [15:15] +isIdleClosedLoop = bits, U32, 1652, [16:16] +idleTarget = scalar, S32, 1656, "", 1, 0 +targetRpmByClt = scalar, S32, 1660, "", 1, 0 +targetRpmAc = scalar, S32, 1664, "", 1, 0 +iacByRpmTaper = scalar, F32, 1668 +luaAdd = scalar, F32, 1672 +; total TS size = 1676 +targetWithIdlePosition0 = scalar, F32, 1676, "per", 1,0 +trim0 = scalar, F32, 1680, "", 1, 0 +luaAdjustment0 = scalar, F32, 1684, "per", 1,0 +m_wastegatePosition0 = scalar, F32, 1688, "per", 1,0 +etbFeedForward0 = scalar, F32, 1692 +etbIntegralError0 = scalar, F32, 1696, "", 1, 0 +etbCurrentTarget0 = scalar, F32, 1700, "%", 1, 0 +etbCurrentAdjustedTarget0 = scalar, F32, 1704, "%", 1, 0 +etbRevLimitActive0 = bits, U32, 1708, [0:0] +jamDetected0 = bits, U32, 1708, [1:1] +etbTpsErrorCounter0 = scalar, U16, 1712, "count", 1,0 +etbPpsErrorCounter0 = scalar, U16, 1714, "count", 1,0 +etbErrorCode0 = scalar, S08, 1716, "", 1, 0 +tcEtbDrop0 = scalar, S08, 1717, "%", 1, 0 +jamTimer0 = scalar, U16, 1718, "sec", 0.01, 0 +adjustedEtbTarget0 = scalar, S08, 1720, "%", 1, 0 +; total TS size = 1724 +targetWithIdlePosition1 = scalar, F32, 1724, "per", 1,0 +trim1 = scalar, F32, 1728, "", 1, 0 +luaAdjustment1 = scalar, F32, 1732, "per", 1,0 +m_wastegatePosition1 = scalar, F32, 1736, "per", 1,0 +etbFeedForward1 = scalar, F32, 1740 +etbIntegralError1 = scalar, F32, 1744, "", 1, 0 +etbCurrentTarget1 = scalar, F32, 1748, "%", 1, 0 +etbCurrentAdjustedTarget1 = scalar, F32, 1752, "%", 1, 0 +etbRevLimitActive1 = bits, U32, 1756, [0:0] +jamDetected1 = bits, U32, 1756, [1:1] +etbTpsErrorCounter1 = scalar, U16, 1760, "count", 1,0 +etbPpsErrorCounter1 = scalar, U16, 1762, "count", 1,0 +etbErrorCode1 = scalar, S08, 1764, "", 1, 0 +tcEtbDrop1 = scalar, S08, 1765, "%", 1, 0 +jamTimer1 = scalar, U16, 1766, "sec", 0.01, 0 +adjustedEtbTarget1 = scalar, S08, 1768, "%", 1, 0 +; total TS size = 1772 +faultCode0 = scalar, U08, 1772, "", 1, 0 +heaterDuty0 = scalar, U08, 1773, "%", 1, 0 +pumpDuty0 = scalar, U08, 1774, "%", 1, 0 +tempC0 = scalar, U16, 1776, "C", 1, 0 +nernstVoltage0 = scalar, U16, 1778, "V", 0.001, 0 +esr0 = scalar, U16, 1780, "ohm", 1, 0 +; total TS size = 1784 +faultCode1 = scalar, U08, 1784, "", 1, 0 +heaterDuty1 = scalar, U08, 1785, "%", 1, 0 +pumpDuty1 = scalar, U08, 1786, "%", 1, 0 +tempC1 = scalar, U16, 1788, "C", 1, 0 +nernstVoltage1 = scalar, U16, 1790, "V", 0.001, 0 +esr1 = scalar, U16, 1792, "ohm", 1, 0 +; total TS size = 1796 +dcOutput0 = scalar, F32, 1796, "per", 1,0 +isEnabled0_int = scalar, U08, 1800, "per", 1,0 +isEnabled0 = bits, U32, 1804, [0:0] +; total TS size = 1808 +value0 = scalar, U16, 1808, "value", 1,0 +value1 = scalar, U16, 1810, "value", 1,0 +errorRate = scalar, F32, 1812, "ratio", 1,0 +; total TS size = 1816 +vvtTarget = scalar, U16, 1816, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1818, "%", 0.5, 0 +; total TS size = 1820 +lambdaCurrentlyGood = bits, U32, 1820, [0:0] +lambdaMonitorCut = bits, U32, 1820, [1:1] +lambdaTimeSinceGood = scalar, U16, 1824, "sec", 0.01, 0 +; total TS size = 1828 time = { timeNow } @@ -3616,6 +3648,7 @@ lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs8 requiresPowerCycle = cylinderBore + requiresPowerCycle = knockFrequency readOnly = warning_message readOnly = device_uid1 @@ -5033,6 +5066,26 @@ gaugeCategory = Knock knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knockSpectrumChannelCylGauge = m_knockSpectrumChannelCyl, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStartGauge = m_knockFrequencyStart, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStepGauge = m_knockFrequencyStep, "Knock Frequency Step", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFuelTrimMultiplier = m_knockFuelTrimMultiplier, "Knock Fuel Trim", "mult", 0, 0, 0, 0, 0, 30, 1, 1 + knockSpectrum1 = m_knockSpectrum1, "Knock Spectrum1", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum2 = m_knockSpectrum2, "knockSpectrum2", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum3 = m_knockSpectrum3, "knockSpectrum3", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum4 = m_knockSpectrum4, "knockSpectrum4", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum5 = m_knockSpectrum5, "knockSpectrum5", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum6 = m_knockSpectrum6, "knockSpectrum6", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum7 = m_knockSpectrum7, "knockSpectrum7", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum8 = m_knockSpectrum8, "knockSpectrum8", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum9 = m_knockSpectrum9, "knockSpectrum9", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum10 = m_knockSpectrum10, "knockSpectrum10", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum11 = m_knockSpectrum11, "knockSpectrum11", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum12 = m_knockSpectrum12, "knockSpectrum12", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum13 = m_knockSpectrum13, "knockSpectrum13", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum14 = m_knockSpectrum14, "knockSpectrum14", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum15 = m_knockSpectrum15, "knockSpectrum15", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum16 = m_knockSpectrum16, "knockSpectrum16", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -5631,6 +5684,26 @@ entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" entry = m_knockCount, "Knock: Count", int, "%d" entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_knockFrequency, "knock: frequency", int, "%d" +entry = m_knockSpectrum1, "Knock: SpectrumData 1", int, "%d" +entry = m_knockSpectrum2, "Knock: SpectrumData 2", int, "%d" +entry = m_knockSpectrum3, "Knock: SpectrumData 3", int, "%d" +entry = m_knockSpectrum4, "Knock: SpectrumData 4", int, "%d" +entry = m_knockSpectrum5, "Knock: SpectrumData 5", int, "%d" +entry = m_knockSpectrum6, "Knock: SpectrumData 6", int, "%d" +entry = m_knockSpectrum7, "Knock: SpectrumData 7", int, "%d" +entry = m_knockSpectrum8, "Knock: SpectrumData 8", int, "%d" +entry = m_knockSpectrum9, "Knock: SpectrumData 9", int, "%d" +entry = m_knockSpectrum10, "Knock: SpectrumData 10", int, "%d" +entry = m_knockSpectrum11, "Knock: SpectrumData 11", int, "%d" +entry = m_knockSpectrum12, "Knock: SpectrumData 12", int, "%d" +entry = m_knockSpectrum13, "Knock: SpectrumData 13", int, "%d" +entry = m_knockSpectrum14, "Knock: SpectrumData 14", int, "%d" +entry = m_knockSpectrum15, "Knock: SpectrumData 15", int, "%d" +entry = m_knockSpectrum16, "Knock: SpectrumData 16", int, "%d" +entry = m_knockSpectrumChannelCyl, "Knock: ChannelAndCylNumber", int, "%d" +entry = m_knockFrequencyStart, "Knock: Start Freq", int, "%d" +entry = m_knockFrequencyStep, "Knock: Step Freq", float, "%.3f" +entry = m_knockFuelTrimMultiplier, "Knock: Fuel trim when knock", float, "%.3f" entry = tcuCurrentGear, "TCU: Current Gear", int, "%d" entry = tcRatio, "TCU: Torque Converter Ratio", float, "%.3f" entry = lastShiftTime, "lastShiftTime", float, "%.3f" @@ -6527,6 +6600,31 @@ dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard graphLine = m_knockFrequency + graphLine = m_knockSpectrum1 + graphLine = m_knockSpectrum2 + liveGraph = knock_controller_6_Graph, "Graph", South + graphLine = m_knockSpectrum3 + graphLine = m_knockSpectrum4 + graphLine = m_knockSpectrum5 + graphLine = m_knockSpectrum6 + liveGraph = knock_controller_7_Graph, "Graph", South + graphLine = m_knockSpectrum7 + graphLine = m_knockSpectrum8 + graphLine = m_knockSpectrum9 + graphLine = m_knockSpectrum10 + liveGraph = knock_controller_8_Graph, "Graph", South + graphLine = m_knockSpectrum11 + graphLine = m_knockSpectrum12 + graphLine = m_knockSpectrum13 + graphLine = m_knockSpectrum14 + liveGraph = knock_controller_9_Graph, "Graph", South + graphLine = m_knockSpectrum15 + graphLine = m_knockSpectrum16 + graphLine = m_knockSpectrumChannelCyl + graphLine = m_knockFrequencyStart + liveGraph = knock_controller_10_Graph, "Graph", South + graphLine = m_knockFrequencyStep + graphLine = m_knockFuelTrimMultiplier indicatorPanel = tcu_controllerIndicatorPanel, 2 indicator = {isShifting}, "isShifting No", "isShifting Yes" @@ -8595,9 +8693,13 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockCfg, "Sense" field = "Enable", enableSoftwareKnock field = "Cylinder Bore", cylinderBore, {enableSoftwareKnock} + field = "Estimated Knock Frequency",knockFrequency, {enableSoftwareKnock} field = "Detection mode", knockDetectionUseDoubleFrequency field = "Detection Window Start",knockDetectionWindowStart, {enableSoftwareKnock} field = "Sampling Duration", knockSamplingDuration, {enableSoftwareKnock} + field = "Enable Knock Spectrogram", enableKnockSpectrogram, {enableSoftwareKnock} + field = "Enable Knock Spectrogram Filter", enableKnockSpectrogramFilter, {enableKnockSpectrogram} + field = "Knock Spectrum Sensitivity", knockSpectrumSensitivity, {enableKnockSpectrogram} field = "" field = "Select the nearest sensor for each cylinder" @@ -8617,6 +8719,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockResponseCfg, "Response" field = knockRetardAggression, knockRetardAggression field = knockRetardReapplyRate, knockRetardReapplyRate + field = knockFuelTrimAggression, knockFuelTrimAggression + field = knockFuelTrimReapplyRate, knockFuelTrimReapplyRate + field = knockFuelTrim, knockFuelTrim + field = knockSuppressMinTps, knockSuppressMinTps dialog = softwareKnockLeft, "" panel = softwareKnockCfg diff --git a/firmware/tunerstudio/generated/rusefi_tdg-pdm8.ini b/firmware/tunerstudio/generated/rusefi_tdg-pdm8.ini index 06ef58d67b..9a4fb13da6 100644 --- a/firmware/tunerstudio/generated/rusefi_tdg-pdm8.ini +++ b/firmware/tunerstudio/generated/rusefi_tdg-pdm8.ini @@ -38,12 +38,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.10.21.tdg-pdm8.3167512209" + signature = "rusEFI master.2024.10.21.tdg-pdm8.1625570414" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.10.21.tdg-pdm8.3167512209" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.10.21.tdg-pdm8.1625570414" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -774,6 +774,7 @@ devBit7 = bits, U32, 1492, [27:27], "false", "true" unusedSkipWasHere = bits, U32, 1492, [28:28], "false", "true" invertExhaustCamVVTSignal = bits, U32, 1492, [29:29], "Rising", "Falling" enableKnockSpectrogram = bits, U32, 1492, [30:30], "false", "true" +enableKnockSpectrogramFilter = bits, U32, 1492, [31:31], "false", "true" afterCrankingIACtaperDuration = scalar, S16, 1496, "cycles", 1, 0, 0, 5000, 0 iacByTpsTaper = scalar, S16, 1498, "percent", 1, 0, 0, 500, 0 unusedAuxSeria = bits, U16, 1500, [0:8], $gpio_list @@ -1394,7 +1395,13 @@ auxLinear4_v1 = scalar, F32, 3880, "volts", 1, 0, 0, 10, 2 auxLinear4_value1 = scalar, F32, 3884, "", 1, 0, -100000, 1000000, 2 auxLinear4_v2 = scalar, F32, 3888, "volts", 1, 0, 0, 10, 2 auxLinear4_value2 = scalar, F32, 3892, "", 1, 0, -100000, 1000000, 2 -unusedOftenChangesDuringFirmwareUpdate = array, U08, 3896, [128], "units", 1, 0, 0, 1, 0 +knockSuppressMinTps = scalar, U08, 3896, "%", 1, 0, 0, 100, 1 +knockFuelTrimAggression = scalar, U08, 3897, "%", 0.1, 0, 0, 20, 1 +knockFuelTrimReapplyRate = scalar, U08, 3898, "deg/s", 0.1, 0, 0, 10, 1 +knockFuelTrim = scalar, U08, 3899, "%", 1, 0, 0, 30, 1 +knockSpectrumSensitivity = scalar, F32, 3900, "sense", 1, 0, 0, 1, 2 +knockFrequency = scalar, F32, 3904, "Hz", 1, 0, 0, 20000, 2 +unusedOftenChangesDuringFirmwareUpdate = array, U08, 3908, [116], "units", 1, 0, 0, 1, 0 postCrankingFactor = array, F32, 4024, [6x6], "mult", 1, 0, 1, 3, 2 postCrankingDurationBins = array, F32, 4168, [6], "count", 1, 0, 0, 1000, 0 postCrankingCLTBins = array, S16, 4192, [6], "C", 1, 0, -100, 250, 0 @@ -2448,6 +2455,11 @@ minimumOilPressureValues = array, U08, 22960, [8], "kPa", 10.0, 0, 0, 1000, 0 minAcPressure = "value of A/C pressure in kPa before that compressor is disengaged" maxAcPressure = "value of A/C pressure in kPa after that compressor is disengaged" minimumOilPressureTimeout = "Delay before cutting fuel due to low oil pressure. Use this to ignore short pressure blips and sensor noise." + knockSuppressMinTps = "Below TPS value all knock suppression will be disabled." + knockFuelTrimAggression = "Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump)," + knockFuelTrimReapplyRate = "After a knock event, reapply fuel at this rate." + knockFuelTrim = "Fuel trim when knock, max 30%" + knockFrequency = "Estimated knock frequency, ignore cylinderBore if this one > 0" etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, open loop component of PID closed loop control" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2560,7 +2572,7 @@ minimumOilPressureValues = array, U08, 22960, [8], "kPa", 10.0, 0, 0, 1000, 0 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1752 + ochBlockSize = 1828 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3101,370 +3113,390 @@ m_knockThreshold = scalar, F32, 960, "", 1, 0 m_knockCount = scalar, U32, 964, "", 1, 0 m_maximumRetard = scalar, F32, 968, "", 1, 0 m_knockFrequency = scalar, U32, 972, "Hz", 1, 0 -; total TS size = 976 -tcuCurrentGear = scalar, S08, 976, "gear", 1, 0 -tcRatio = scalar, U16, 978, "value", 0.01, 0 -lastShiftTime = scalar, F32, 980, "", 1, 0 -tcu_currentRange = scalar, U08, 984, "", 1, 0 -pressureControlDuty = scalar, S08, 985, "%", 1,0 -torqueConverterDuty = scalar, S08, 986, "%", 1,0 -isShifting = bits, U32, 988, [0:0] -; total TS size = 992 -throttleUseWotModel = bits, U32, 992, [0:0] -throttleModelCrossoverAngle = scalar, S16, 996, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1000, "g/s", 1, 0 -; total TS size = 1004 -m_requested_pump = scalar, F32, 1004, "", 1, 0 -fuel_requested_percent = scalar, F32, 1008, "", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1012, "", 1, 0 -noValve = bits, U32, 1016, [0:0] -angleAboveMin = bits, U32, 1016, [1:1] -isHpfpInactive = bits, U32, 1016, [2:2] -m_pressureTarget_kPa = scalar, F32, 1020, "", 1, 0 -nextLobe = scalar, F32, 1024, "", 1, 0 -di_nextStart = scalar, F32, 1028, "v", 1, 0 -; total TS size = 1032 -m_deadtime = scalar, F32, 1032, "ms", 1, 0 -pressureDelta = scalar, F32, 1036, "kPa", 1, 0 -pressureRatio = scalar, F32, 1040, "", 1, 0 -; total TS size = 1044 -retardThresholdRpm = scalar, S32, 1044, "", 1, 0 -launchActivatePinState = bits, U32, 1048, [0:0] -isPreLaunchCondition = bits, U32, 1048, [1:1] -isLaunchCondition = bits, U32, 1048, [2:2] -isSwitchActivated = bits, U32, 1048, [3:3] -isClutchActivated = bits, U32, 1048, [4:4] -isBrakePedalActivated = bits, U32, 1048, [5:5] -isValidInputPin = bits, U32, 1048, [6:6] -activateSwitchCondition = bits, U32, 1048, [7:7] -rpmLaunchCondition = bits, U32, 1048, [8:8] -rpmPreLaunchCondition = bits, U32, 1048, [9:9] -speedCondition = bits, U32, 1048, [10:10] -tpsCondition = bits, U32, 1048, [11:11] +m_knockSpectrum1 = scalar, U32, 976, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 980, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 984, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 988, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1040, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1042, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1044, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1048, "multiplier", 1, 0 ; total TS size = 1052 -isTorqueReductionTriggerPinValid = bits, U32, 1052, [0:0] -torqueReductionTriggerPinState = bits, U32, 1052, [1:1] -isTimeConditionSatisfied = bits, U32, 1052, [2:2] -isRpmConditionSatisfied = bits, U32, 1052, [3:3] -isAppConditionSatisfied = bits, U32, 1052, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1052, [5:5] -; total TS size = 1056 -isAntilagCondition = bits, U32, 1056, [0:0] -ALSMinRPMCondition = bits, U32, 1056, [1:1] -ALSMaxRPMCondition = bits, U32, 1056, [2:2] -ALSMinCLTCondition = bits, U32, 1056, [3:3] -ALSMaxCLTCondition = bits, U32, 1056, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1056, [5:5] -isALSSwitchActivated = bits, U32, 1056, [6:6] -ALSActivatePinState = bits, U32, 1056, [7:7] -ALSSwitchCondition = bits, U32, 1056, [8:8] -ALSTimerCondition = bits, U32, 1056, [9:9] -fuelALSCorrection = scalar, F32, 1060, "", 1, 0 -timingALSCorrection = scalar, S16, 1064, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1066, "deg", 0.01, 0 +tcuCurrentGear = scalar, S08, 1052, "gear", 1, 0 +tcRatio = scalar, U16, 1054, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1056, "", 1, 0 +tcu_currentRange = scalar, U08, 1060, "", 1, 0 +pressureControlDuty = scalar, S08, 1061, "%", 1,0 +torqueConverterDuty = scalar, S08, 1062, "%", 1,0 +isShifting = bits, U32, 1064, [0:0] ; total TS size = 1068 -isTpsInvalid = bits, U32, 1068, [0:0] -m_shouldResetPid = bits, U32, 1068, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1068, [2:2] -isNotClosedLoop = bits, U32, 1068, [3:3] -isZeroRpm = bits, U32, 1068, [4:4] -hasInitBoost = bits, U32, 1068, [5:5] -rpmTooLow = bits, U32, 1068, [6:6] -tpsTooLow = bits, U32, 1068, [7:7] -mapTooLow = bits, U32, 1068, [8:8] -isPlantValid = bits, U32, 1068, [9:9] -isBoostControlled = bits, U32, 1068, [10:10] -luaTargetAdd = scalar, S16, 1072, "v", 0.5,0 -boostOutput = scalar, S16, 1074, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1076, "v", 1,0 -openLoopPart = scalar, F32, 1080, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1084, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1088, "%", 0.5,0 -boostControlTarget = scalar, S16, 1090, "kPa", 0.03333333333333333,0 -; total TS size = 1092 -acButtonState = scalar, S08, 1092, "", 1, 0 -m_acEnabled = bits, U32, 1096, [0:0] -engineTooSlow = bits, U32, 1096, [1:1] -engineTooFast = bits, U32, 1096, [2:2] -noClt = bits, U32, 1096, [3:3] -engineTooHot = bits, U32, 1096, [4:4] -tpsTooHigh = bits, U32, 1096, [5:5] -isDisabledByLua = bits, U32, 1096, [6:6] -acCompressorState = bits, U32, 1096, [7:7] -acPressureTooLow = bits, U32, 1096, [8:8] -acPressureTooHigh = bits, U32, 1096, [9:9] -; total TS size = 1100 -cranking0 = bits, U32, 1100, [0:0] -notRunning0 = bits, U32, 1100, [1:1] -disabledWhileEngineStopped0 = bits, U32, 1100, [2:2] -brokenClt0 = bits, U32, 1100, [3:3] -enabledForAc0 = bits, U32, 1100, [4:4] -hot0 = bits, U32, 1100, [5:5] -cold0 = bits, U32, 1100, [6:6] -disabledBySpeed0 = bits, U32, 1100, [7:7] -radiatorFanStatus0 = scalar, U08, 1104, "", 1, 0 +throttleUseWotModel = bits, U32, 1068, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1072, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1076, "g/s", 1, 0 +; total TS size = 1080 +m_requested_pump = scalar, F32, 1080, "", 1, 0 +fuel_requested_percent = scalar, F32, 1084, "", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1088, "", 1, 0 +noValve = bits, U32, 1092, [0:0] +angleAboveMin = bits, U32, 1092, [1:1] +isHpfpInactive = bits, U32, 1092, [2:2] +m_pressureTarget_kPa = scalar, F32, 1096, "", 1, 0 +nextLobe = scalar, F32, 1100, "", 1, 0 +di_nextStart = scalar, F32, 1104, "v", 1, 0 ; total TS size = 1108 -cranking1 = bits, U32, 1108, [0:0] -notRunning1 = bits, U32, 1108, [1:1] -disabledWhileEngineStopped1 = bits, U32, 1108, [2:2] -brokenClt1 = bits, U32, 1108, [3:3] -enabledForAc1 = bits, U32, 1108, [4:4] -hot1 = bits, U32, 1108, [5:5] -cold1 = bits, U32, 1108, [6:6] -disabledBySpeed1 = bits, U32, 1108, [7:7] -radiatorFanStatus1 = scalar, U08, 1112, "", 1, 0 -; total TS size = 1116 -isPrime = bits, U32, 1116, [0:0] -engineTurnedRecently = bits, U32, 1116, [1:1] -isFuelPumpOn = bits, U32, 1116, [2:2] -ignitionOn = bits, U32, 1116, [3:3] +m_deadtime = scalar, F32, 1108, "ms", 1, 0 +pressureDelta = scalar, F32, 1112, "kPa", 1, 0 +pressureRatio = scalar, F32, 1116, "", 1, 0 ; total TS size = 1120 -isBenchTest = bits, U32, 1120, [0:0] -hasIgnitionVoltage = bits, U32, 1120, [1:1] -mainRelayState = bits, U32, 1120, [2:2] -delayedShutoffRequested = bits, U32, 1120, [3:3] -; total TS size = 1124 -lua_fuelAdd = scalar, F32, 1124, "g", 1, 0 -lua_fuelMult = scalar, F32, 1128, "", 1, 0 -lua_clutchUpState = bits, U32, 1132, [0:0] -lua_brakePedalState = bits, U32, 1132, [1:1] -lua_acRequestState = bits, U32, 1132, [2:2] -lua_luaDisableEtb = bits, U32, 1132, [3:3] -lua_luaIgnCut = bits, U32, 1132, [4:4] -lua_luaFuelCut = bits, U32, 1132, [5:5] -lua_clutchDownState = bits, U32, 1132, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1132, [7:7] -sd_tCharge = scalar, S16, 1136, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1140, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1144, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1148, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1152, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1156, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1160, "", 1, 0 -hellenBoardId = scalar, S16, 1164, "id", 1, 0 -clutchUpState = scalar, S08, 1166, "", 1, 0 -clutchDownState = scalar, S08, 1167, "", 1, 0 -brakePedalState = scalar, S08, 1168, "", 1, 0 -startStopState = scalar, S08, 1169, "", 1, 0 -smartChipState = scalar, S08, 1170, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1171, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1172, "", 1, 0 -startStopPhysicalState = bits, U32, 1176, [0:0] -acrActive = bits, U32, 1176, [1:1] -acrEngineMovedRecently = bits, U32, 1176, [2:2] -heaterControlEnabled = bits, U32, 1176, [3:3] -luaDigitalState0 = bits, U32, 1176, [4:4] -luaDigitalState1 = bits, U32, 1176, [5:5] -luaDigitalState2 = bits, U32, 1176, [6:6] -luaDigitalState3 = bits, U32, 1176, [7:7] -startStopStateToggleCounter = scalar, U32, 1180, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1184, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1188, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1192, "", 1, 0 -desiredRpmLimit = scalar, S16, 1196, "rpm", 1, 0 -fuelInjectionCounter = scalar, U32, 1200, "", 1, 0 -globalSparkCounter = scalar, U32, 1204, "", 1, 0 -fuelingLoad = scalar, F32, 1208, "", 1, 0 -ignitionLoad = scalar, F32, 1212, "", 1, 0 -veTableYAxis = scalar, U16, 1216, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1218, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1219, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1220, "", 1, 0 -; total TS size = 1224 -tpsFrom = scalar, F32, 1224 -tpsTo = scalar, F32, 1228 -deltaTps = scalar, F32, 1232 -extraFuel = scalar, F32, 1236, "", 1, 0 -valueFromTable = scalar, F32, 1240, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1244, [0:0] -isBelowDecelThreshold = bits, U32, 1244, [1:1] -isTimeToResetAccumulator = bits, U32, 1244, [2:2] -isFractionalEnrichment = bits, U32, 1244, [3:3] -belowEpsilon = bits, U32, 1244, [4:4] -tooShort = bits, U32, 1244, [5:5] -fractionalInjFuel = scalar, F32, 1248, "", 1, 0 -accumulatedValue = scalar, F32, 1252, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1256, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1260, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1264, "", 1, 0 -cycleCnt = scalar, S32, 1268, "", 1, 0 -; total TS size = 1272 -hwEventCounters1 = scalar, U32, 1272, "", 1, 0 -hwEventCounters2 = scalar, U32, 1276, "", 1, 0 -hwEventCounters3 = scalar, U32, 1280, "", 1, 0 -hwEventCounters4 = scalar, U32, 1284, "", 1, 0 -hwEventCounters5 = scalar, U32, 1288, "", 1, 0 -hwEventCounters6 = scalar, U32, 1292, "", 1, 0 -vvtCamCounter = scalar, U32, 1296, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1300, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1304, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1308, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1309, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1312, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1316, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1320, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1324, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1328, [0:0] -triggerElapsedUs = scalar, U32, 1332, "", 1, 0 -; total TS size = 1336 -crankSynchronizationCounter0 = scalar, U32, 1336, "", 1, 0 -vvtSyncGapRatio0 = scalar, F32, 1340, "", 1, 0 -vvtToothDurations00 = scalar, U32, 1344, "us", 1, 0 -vvtCurrentPosition0 = scalar, F32, 1348, "sync: Primary Cam Position", 1, 0 -vvtToothPosition10 = scalar, F32, 1352, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition20 = scalar, F32, 1356, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition30 = scalar, F32, 1360, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition40 = scalar, F32, 1364, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio0 = scalar, F32, 1368, "", 1, 0 -triggerStateIndex0 = scalar, U08, 1372, "", 1, 0 -vvtStateIndex0 = scalar, U08, 1373, "", 1, 0 -; total TS size = 1376 -crankSynchronizationCounter1 = scalar, U32, 1376, "", 1, 0 -vvtSyncGapRatio1 = scalar, F32, 1380, "", 1, 0 -vvtToothDurations01 = scalar, U32, 1384, "us", 1, 0 -vvtCurrentPosition1 = scalar, F32, 1388, "sync: Primary Cam Position", 1, 0 -vvtToothPosition11 = scalar, F32, 1392, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition21 = scalar, F32, 1396, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition31 = scalar, F32, 1400, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition41 = scalar, F32, 1404, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio1 = scalar, F32, 1408, "", 1, 0 -triggerStateIndex1 = scalar, U08, 1412, "", 1, 0 -vvtStateIndex1 = scalar, U08, 1413, "", 1, 0 -; total TS size = 1416 -crankSynchronizationCounter2 = scalar, U32, 1416, "", 1, 0 -vvtSyncGapRatio2 = scalar, F32, 1420, "", 1, 0 -vvtToothDurations02 = scalar, U32, 1424, "us", 1, 0 -vvtCurrentPosition2 = scalar, F32, 1428, "sync: Primary Cam Position", 1, 0 -vvtToothPosition12 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition22 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition32 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition42 = scalar, F32, 1444, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio2 = scalar, F32, 1448, "", 1, 0 -triggerStateIndex2 = scalar, U08, 1452, "", 1, 0 -vvtStateIndex2 = scalar, U08, 1453, "", 1, 0 -; total TS size = 1456 -crankSynchronizationCounter3 = scalar, U32, 1456, "", 1, 0 -vvtSyncGapRatio3 = scalar, F32, 1460, "", 1, 0 -vvtToothDurations03 = scalar, U32, 1464, "us", 1, 0 -vvtCurrentPosition3 = scalar, F32, 1468, "sync: Primary Cam Position", 1, 0 -vvtToothPosition13 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition23 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition33 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition43 = scalar, F32, 1484, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio3 = scalar, F32, 1488, "", 1, 0 -triggerStateIndex3 = scalar, U08, 1492, "", 1, 0 -vvtStateIndex3 = scalar, U08, 1493, "", 1, 0 -; total TS size = 1496 -crankSynchronizationCounter4 = scalar, U32, 1496, "", 1, 0 -vvtSyncGapRatio4 = scalar, F32, 1500, "", 1, 0 -vvtToothDurations04 = scalar, U32, 1504, "us", 1, 0 -vvtCurrentPosition4 = scalar, F32, 1508, "sync: Primary Cam Position", 1, 0 -vvtToothPosition14 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition24 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition34 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition44 = scalar, F32, 1524, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio4 = scalar, F32, 1528, "", 1, 0 -triggerStateIndex4 = scalar, U08, 1532, "", 1, 0 -vvtStateIndex4 = scalar, U08, 1533, "", 1, 0 -; total TS size = 1536 -camResyncCounter = scalar, U08, 1536, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1540, [0:0] -; total TS size = 1544 -wallFuelCorrection = scalar, F32, 1544, "", 1, 0 -wallFuel = scalar, F32, 1548, "", 1, 0 -; total TS size = 1552 -idleState = bits, S32, 1552, [0:2], "not important" -currentIdlePosition = scalar, F32, 1556 -baseIdlePosition = scalar, F32, 1560 -idleClosedLoop = scalar, F32, 1564 -iacByTpsTaper = scalar, F32, 1568 -throttlePedalUpState = scalar, S32, 1572, "", 1, 0 -mightResetPid = bits, U32, 1576, [0:0] -shouldResetPid = bits, U32, 1576, [1:1] -wasResetPid = bits, U32, 1576, [2:2] -mustResetPid = bits, U32, 1576, [3:3] -isCranking = bits, U32, 1576, [4:4] -isIacTableForCoasting = bits, U32, 1576, [5:5] -notIdling = bits, U32, 1576, [6:6] -needReset = bits, U32, 1576, [7:7] -isInDeadZone = bits, U32, 1576, [8:8] -isBlipping = bits, U32, 1576, [9:9] -useClosedLoop = bits, U32, 1576, [10:10] -badTps = bits, U32, 1576, [11:11] -looksLikeRunning = bits, U32, 1576, [12:12] -looksLikeCoasting = bits, U32, 1576, [13:13] -looksLikeCrankToIdle = bits, U32, 1576, [14:14] -isIdleCoasting = bits, U32, 1576, [15:15] -isIdleClosedLoop = bits, U32, 1576, [16:16] -idleTarget = scalar, S32, 1580, "", 1, 0 -targetRpmByClt = scalar, S32, 1584, "", 1, 0 -targetRpmAc = scalar, S32, 1588, "", 1, 0 -iacByRpmTaper = scalar, F32, 1592 -luaAdd = scalar, F32, 1596 -; total TS size = 1600 -targetWithIdlePosition0 = scalar, F32, 1600, "per", 1,0 -trim0 = scalar, F32, 1604, "", 1, 0 -luaAdjustment0 = scalar, F32, 1608, "per", 1,0 -m_wastegatePosition0 = scalar, F32, 1612, "per", 1,0 -etbFeedForward0 = scalar, F32, 1616 -etbIntegralError0 = scalar, F32, 1620, "", 1, 0 -etbCurrentTarget0 = scalar, F32, 1624, "%", 1, 0 -etbCurrentAdjustedTarget0 = scalar, F32, 1628, "%", 1, 0 -etbRevLimitActive0 = bits, U32, 1632, [0:0] -jamDetected0 = bits, U32, 1632, [1:1] -etbTpsErrorCounter0 = scalar, U16, 1636, "count", 1,0 -etbPpsErrorCounter0 = scalar, U16, 1638, "count", 1,0 -etbErrorCode0 = scalar, S08, 1640, "", 1, 0 -tcEtbDrop0 = scalar, S08, 1641, "%", 1, 0 -jamTimer0 = scalar, U16, 1642, "sec", 0.01, 0 -adjustedEtbTarget0 = scalar, S08, 1644, "%", 1, 0 -; total TS size = 1648 -targetWithIdlePosition1 = scalar, F32, 1648, "per", 1,0 -trim1 = scalar, F32, 1652, "", 1, 0 -luaAdjustment1 = scalar, F32, 1656, "per", 1,0 -m_wastegatePosition1 = scalar, F32, 1660, "per", 1,0 -etbFeedForward1 = scalar, F32, 1664 -etbIntegralError1 = scalar, F32, 1668, "", 1, 0 -etbCurrentTarget1 = scalar, F32, 1672, "%", 1, 0 -etbCurrentAdjustedTarget1 = scalar, F32, 1676, "%", 1, 0 -etbRevLimitActive1 = bits, U32, 1680, [0:0] -jamDetected1 = bits, U32, 1680, [1:1] -etbTpsErrorCounter1 = scalar, U16, 1684, "count", 1,0 -etbPpsErrorCounter1 = scalar, U16, 1686, "count", 1,0 -etbErrorCode1 = scalar, S08, 1688, "", 1, 0 -tcEtbDrop1 = scalar, S08, 1689, "%", 1, 0 -jamTimer1 = scalar, U16, 1690, "sec", 0.01, 0 -adjustedEtbTarget1 = scalar, S08, 1692, "%", 1, 0 -; total TS size = 1696 -faultCode0 = scalar, U08, 1696, "", 1, 0 -heaterDuty0 = scalar, U08, 1697, "%", 1, 0 -pumpDuty0 = scalar, U08, 1698, "%", 1, 0 -tempC0 = scalar, U16, 1700, "C", 1, 0 -nernstVoltage0 = scalar, U16, 1702, "V", 0.001, 0 -esr0 = scalar, U16, 1704, "ohm", 1, 0 -; total TS size = 1708 -faultCode1 = scalar, U08, 1708, "", 1, 0 -heaterDuty1 = scalar, U08, 1709, "%", 1, 0 -pumpDuty1 = scalar, U08, 1710, "%", 1, 0 -tempC1 = scalar, U16, 1712, "C", 1, 0 -nernstVoltage1 = scalar, U16, 1714, "V", 0.001, 0 -esr1 = scalar, U16, 1716, "ohm", 1, 0 -; total TS size = 1720 -dcOutput0 = scalar, F32, 1720, "per", 1,0 -isEnabled0_int = scalar, U08, 1724, "per", 1,0 -isEnabled0 = bits, U32, 1728, [0:0] -; total TS size = 1732 -value0 = scalar, U16, 1732, "value", 1,0 -value1 = scalar, U16, 1734, "value", 1,0 -errorRate = scalar, F32, 1736, "ratio", 1,0 -; total TS size = 1740 -vvtTarget = scalar, U16, 1740, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1742, "%", 0.5, 0 -; total TS size = 1744 -lambdaCurrentlyGood = bits, U32, 1744, [0:0] -lambdaMonitorCut = bits, U32, 1744, [1:1] -lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 -; total TS size = 1752 +retardThresholdRpm = scalar, S32, 1120, "", 1, 0 +launchActivatePinState = bits, U32, 1124, [0:0] +isPreLaunchCondition = bits, U32, 1124, [1:1] +isLaunchCondition = bits, U32, 1124, [2:2] +isSwitchActivated = bits, U32, 1124, [3:3] +isClutchActivated = bits, U32, 1124, [4:4] +isBrakePedalActivated = bits, U32, 1124, [5:5] +isValidInputPin = bits, U32, 1124, [6:6] +activateSwitchCondition = bits, U32, 1124, [7:7] +rpmLaunchCondition = bits, U32, 1124, [8:8] +rpmPreLaunchCondition = bits, U32, 1124, [9:9] +speedCondition = bits, U32, 1124, [10:10] +tpsCondition = bits, U32, 1124, [11:11] +; total TS size = 1128 +isTorqueReductionTriggerPinValid = bits, U32, 1128, [0:0] +torqueReductionTriggerPinState = bits, U32, 1128, [1:1] +isTimeConditionSatisfied = bits, U32, 1128, [2:2] +isRpmConditionSatisfied = bits, U32, 1128, [3:3] +isAppConditionSatisfied = bits, U32, 1128, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1128, [5:5] +; total TS size = 1132 +isAntilagCondition = bits, U32, 1132, [0:0] +ALSMinRPMCondition = bits, U32, 1132, [1:1] +ALSMaxRPMCondition = bits, U32, 1132, [2:2] +ALSMinCLTCondition = bits, U32, 1132, [3:3] +ALSMaxCLTCondition = bits, U32, 1132, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1132, [5:5] +isALSSwitchActivated = bits, U32, 1132, [6:6] +ALSActivatePinState = bits, U32, 1132, [7:7] +ALSSwitchCondition = bits, U32, 1132, [8:8] +ALSTimerCondition = bits, U32, 1132, [9:9] +fuelALSCorrection = scalar, F32, 1136, "", 1, 0 +timingALSCorrection = scalar, S16, 1140, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1142, "deg", 0.01, 0 +; total TS size = 1144 +isTpsInvalid = bits, U32, 1144, [0:0] +m_shouldResetPid = bits, U32, 1144, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1144, [2:2] +isNotClosedLoop = bits, U32, 1144, [3:3] +isZeroRpm = bits, U32, 1144, [4:4] +hasInitBoost = bits, U32, 1144, [5:5] +rpmTooLow = bits, U32, 1144, [6:6] +tpsTooLow = bits, U32, 1144, [7:7] +mapTooLow = bits, U32, 1144, [8:8] +isPlantValid = bits, U32, 1144, [9:9] +isBoostControlled = bits, U32, 1144, [10:10] +luaTargetAdd = scalar, S16, 1148, "v", 0.5,0 +boostOutput = scalar, S16, 1150, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1152, "v", 1,0 +openLoopPart = scalar, F32, 1156, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1160, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1164, "%", 0.5,0 +boostControlTarget = scalar, S16, 1166, "kPa", 0.03333333333333333,0 +; total TS size = 1168 +acButtonState = scalar, S08, 1168, "", 1, 0 +m_acEnabled = bits, U32, 1172, [0:0] +engineTooSlow = bits, U32, 1172, [1:1] +engineTooFast = bits, U32, 1172, [2:2] +noClt = bits, U32, 1172, [3:3] +engineTooHot = bits, U32, 1172, [4:4] +tpsTooHigh = bits, U32, 1172, [5:5] +isDisabledByLua = bits, U32, 1172, [6:6] +acCompressorState = bits, U32, 1172, [7:7] +acPressureTooLow = bits, U32, 1172, [8:8] +acPressureTooHigh = bits, U32, 1172, [9:9] +; total TS size = 1176 +cranking0 = bits, U32, 1176, [0:0] +notRunning0 = bits, U32, 1176, [1:1] +disabledWhileEngineStopped0 = bits, U32, 1176, [2:2] +brokenClt0 = bits, U32, 1176, [3:3] +enabledForAc0 = bits, U32, 1176, [4:4] +hot0 = bits, U32, 1176, [5:5] +cold0 = bits, U32, 1176, [6:6] +disabledBySpeed0 = bits, U32, 1176, [7:7] +radiatorFanStatus0 = scalar, U08, 1180, "", 1, 0 +; total TS size = 1184 +cranking1 = bits, U32, 1184, [0:0] +notRunning1 = bits, U32, 1184, [1:1] +disabledWhileEngineStopped1 = bits, U32, 1184, [2:2] +brokenClt1 = bits, U32, 1184, [3:3] +enabledForAc1 = bits, U32, 1184, [4:4] +hot1 = bits, U32, 1184, [5:5] +cold1 = bits, U32, 1184, [6:6] +disabledBySpeed1 = bits, U32, 1184, [7:7] +radiatorFanStatus1 = scalar, U08, 1188, "", 1, 0 +; total TS size = 1192 +isPrime = bits, U32, 1192, [0:0] +engineTurnedRecently = bits, U32, 1192, [1:1] +isFuelPumpOn = bits, U32, 1192, [2:2] +ignitionOn = bits, U32, 1192, [3:3] +; total TS size = 1196 +isBenchTest = bits, U32, 1196, [0:0] +hasIgnitionVoltage = bits, U32, 1196, [1:1] +mainRelayState = bits, U32, 1196, [2:2] +delayedShutoffRequested = bits, U32, 1196, [3:3] +; total TS size = 1200 +lua_fuelAdd = scalar, F32, 1200, "g", 1, 0 +lua_fuelMult = scalar, F32, 1204, "", 1, 0 +lua_clutchUpState = bits, U32, 1208, [0:0] +lua_brakePedalState = bits, U32, 1208, [1:1] +lua_acRequestState = bits, U32, 1208, [2:2] +lua_luaDisableEtb = bits, U32, 1208, [3:3] +lua_luaIgnCut = bits, U32, 1208, [4:4] +lua_luaFuelCut = bits, U32, 1208, [5:5] +lua_clutchDownState = bits, U32, 1208, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1208, [7:7] +sd_tCharge = scalar, S16, 1212, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1216, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1220, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1224, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1228, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1232, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1236, "", 1, 0 +hellenBoardId = scalar, S16, 1240, "id", 1, 0 +clutchUpState = scalar, S08, 1242, "", 1, 0 +clutchDownState = scalar, S08, 1243, "", 1, 0 +brakePedalState = scalar, S08, 1244, "", 1, 0 +startStopState = scalar, S08, 1245, "", 1, 0 +smartChipState = scalar, S08, 1246, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1247, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1248, "", 1, 0 +startStopPhysicalState = bits, U32, 1252, [0:0] +acrActive = bits, U32, 1252, [1:1] +acrEngineMovedRecently = bits, U32, 1252, [2:2] +heaterControlEnabled = bits, U32, 1252, [3:3] +luaDigitalState0 = bits, U32, 1252, [4:4] +luaDigitalState1 = bits, U32, 1252, [5:5] +luaDigitalState2 = bits, U32, 1252, [6:6] +luaDigitalState3 = bits, U32, 1252, [7:7] +startStopStateToggleCounter = scalar, U32, 1256, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1260, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1264, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1268, "", 1, 0 +desiredRpmLimit = scalar, S16, 1272, "rpm", 1, 0 +fuelInjectionCounter = scalar, U32, 1276, "", 1, 0 +globalSparkCounter = scalar, U32, 1280, "", 1, 0 +fuelingLoad = scalar, F32, 1284, "", 1, 0 +ignitionLoad = scalar, F32, 1288, "", 1, 0 +veTableYAxis = scalar, U16, 1292, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1294, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1295, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1296, "", 1, 0 +; total TS size = 1300 +tpsFrom = scalar, F32, 1300 +tpsTo = scalar, F32, 1304 +deltaTps = scalar, F32, 1308 +extraFuel = scalar, F32, 1312, "", 1, 0 +valueFromTable = scalar, F32, 1316, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1320, [0:0] +isBelowDecelThreshold = bits, U32, 1320, [1:1] +isTimeToResetAccumulator = bits, U32, 1320, [2:2] +isFractionalEnrichment = bits, U32, 1320, [3:3] +belowEpsilon = bits, U32, 1320, [4:4] +tooShort = bits, U32, 1320, [5:5] +fractionalInjFuel = scalar, F32, 1324, "", 1, 0 +accumulatedValue = scalar, F32, 1328, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1332, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1336, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1340, "", 1, 0 +cycleCnt = scalar, S32, 1344, "", 1, 0 +; total TS size = 1348 +hwEventCounters1 = scalar, U32, 1348, "", 1, 0 +hwEventCounters2 = scalar, U32, 1352, "", 1, 0 +hwEventCounters3 = scalar, U32, 1356, "", 1, 0 +hwEventCounters4 = scalar, U32, 1360, "", 1, 0 +hwEventCounters5 = scalar, U32, 1364, "", 1, 0 +hwEventCounters6 = scalar, U32, 1368, "", 1, 0 +vvtCamCounter = scalar, U32, 1372, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1376, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1380, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1384, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1385, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1388, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1392, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1396, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1400, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1404, [0:0] +triggerElapsedUs = scalar, U32, 1408, "", 1, 0 +; total TS size = 1412 +crankSynchronizationCounter0 = scalar, U32, 1412, "", 1, 0 +vvtSyncGapRatio0 = scalar, F32, 1416, "", 1, 0 +vvtToothDurations00 = scalar, U32, 1420, "us", 1, 0 +vvtCurrentPosition0 = scalar, F32, 1424, "sync: Primary Cam Position", 1, 0 +vvtToothPosition10 = scalar, F32, 1428, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition20 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition30 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition40 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio0 = scalar, F32, 1444, "", 1, 0 +triggerStateIndex0 = scalar, U08, 1448, "", 1, 0 +vvtStateIndex0 = scalar, U08, 1449, "", 1, 0 +; total TS size = 1452 +crankSynchronizationCounter1 = scalar, U32, 1452, "", 1, 0 +vvtSyncGapRatio1 = scalar, F32, 1456, "", 1, 0 +vvtToothDurations01 = scalar, U32, 1460, "us", 1, 0 +vvtCurrentPosition1 = scalar, F32, 1464, "sync: Primary Cam Position", 1, 0 +vvtToothPosition11 = scalar, F32, 1468, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition21 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition31 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition41 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio1 = scalar, F32, 1484, "", 1, 0 +triggerStateIndex1 = scalar, U08, 1488, "", 1, 0 +vvtStateIndex1 = scalar, U08, 1489, "", 1, 0 +; total TS size = 1492 +crankSynchronizationCounter2 = scalar, U32, 1492, "", 1, 0 +vvtSyncGapRatio2 = scalar, F32, 1496, "", 1, 0 +vvtToothDurations02 = scalar, U32, 1500, "us", 1, 0 +vvtCurrentPosition2 = scalar, F32, 1504, "sync: Primary Cam Position", 1, 0 +vvtToothPosition12 = scalar, F32, 1508, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition22 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition32 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition42 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio2 = scalar, F32, 1524, "", 1, 0 +triggerStateIndex2 = scalar, U08, 1528, "", 1, 0 +vvtStateIndex2 = scalar, U08, 1529, "", 1, 0 +; total TS size = 1532 +crankSynchronizationCounter3 = scalar, U32, 1532, "", 1, 0 +vvtSyncGapRatio3 = scalar, F32, 1536, "", 1, 0 +vvtToothDurations03 = scalar, U32, 1540, "us", 1, 0 +vvtCurrentPosition3 = scalar, F32, 1544, "sync: Primary Cam Position", 1, 0 +vvtToothPosition13 = scalar, F32, 1548, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition23 = scalar, F32, 1552, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition33 = scalar, F32, 1556, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition43 = scalar, F32, 1560, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio3 = scalar, F32, 1564, "", 1, 0 +triggerStateIndex3 = scalar, U08, 1568, "", 1, 0 +vvtStateIndex3 = scalar, U08, 1569, "", 1, 0 +; total TS size = 1572 +crankSynchronizationCounter4 = scalar, U32, 1572, "", 1, 0 +vvtSyncGapRatio4 = scalar, F32, 1576, "", 1, 0 +vvtToothDurations04 = scalar, U32, 1580, "us", 1, 0 +vvtCurrentPosition4 = scalar, F32, 1584, "sync: Primary Cam Position", 1, 0 +vvtToothPosition14 = scalar, F32, 1588, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition24 = scalar, F32, 1592, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition34 = scalar, F32, 1596, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition44 = scalar, F32, 1600, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio4 = scalar, F32, 1604, "", 1, 0 +triggerStateIndex4 = scalar, U08, 1608, "", 1, 0 +vvtStateIndex4 = scalar, U08, 1609, "", 1, 0 +; total TS size = 1612 +camResyncCounter = scalar, U08, 1612, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1616, [0:0] +; total TS size = 1620 +wallFuelCorrection = scalar, F32, 1620, "", 1, 0 +wallFuel = scalar, F32, 1624, "", 1, 0 +; total TS size = 1628 +idleState = bits, S32, 1628, [0:2], "not important" +currentIdlePosition = scalar, F32, 1632 +baseIdlePosition = scalar, F32, 1636 +idleClosedLoop = scalar, F32, 1640 +iacByTpsTaper = scalar, F32, 1644 +throttlePedalUpState = scalar, S32, 1648, "", 1, 0 +mightResetPid = bits, U32, 1652, [0:0] +shouldResetPid = bits, U32, 1652, [1:1] +wasResetPid = bits, U32, 1652, [2:2] +mustResetPid = bits, U32, 1652, [3:3] +isCranking = bits, U32, 1652, [4:4] +isIacTableForCoasting = bits, U32, 1652, [5:5] +notIdling = bits, U32, 1652, [6:6] +needReset = bits, U32, 1652, [7:7] +isInDeadZone = bits, U32, 1652, [8:8] +isBlipping = bits, U32, 1652, [9:9] +useClosedLoop = bits, U32, 1652, [10:10] +badTps = bits, U32, 1652, [11:11] +looksLikeRunning = bits, U32, 1652, [12:12] +looksLikeCoasting = bits, U32, 1652, [13:13] +looksLikeCrankToIdle = bits, U32, 1652, [14:14] +isIdleCoasting = bits, U32, 1652, [15:15] +isIdleClosedLoop = bits, U32, 1652, [16:16] +idleTarget = scalar, S32, 1656, "", 1, 0 +targetRpmByClt = scalar, S32, 1660, "", 1, 0 +targetRpmAc = scalar, S32, 1664, "", 1, 0 +iacByRpmTaper = scalar, F32, 1668 +luaAdd = scalar, F32, 1672 +; total TS size = 1676 +targetWithIdlePosition0 = scalar, F32, 1676, "per", 1,0 +trim0 = scalar, F32, 1680, "", 1, 0 +luaAdjustment0 = scalar, F32, 1684, "per", 1,0 +m_wastegatePosition0 = scalar, F32, 1688, "per", 1,0 +etbFeedForward0 = scalar, F32, 1692 +etbIntegralError0 = scalar, F32, 1696, "", 1, 0 +etbCurrentTarget0 = scalar, F32, 1700, "%", 1, 0 +etbCurrentAdjustedTarget0 = scalar, F32, 1704, "%", 1, 0 +etbRevLimitActive0 = bits, U32, 1708, [0:0] +jamDetected0 = bits, U32, 1708, [1:1] +etbTpsErrorCounter0 = scalar, U16, 1712, "count", 1,0 +etbPpsErrorCounter0 = scalar, U16, 1714, "count", 1,0 +etbErrorCode0 = scalar, S08, 1716, "", 1, 0 +tcEtbDrop0 = scalar, S08, 1717, "%", 1, 0 +jamTimer0 = scalar, U16, 1718, "sec", 0.01, 0 +adjustedEtbTarget0 = scalar, S08, 1720, "%", 1, 0 +; total TS size = 1724 +targetWithIdlePosition1 = scalar, F32, 1724, "per", 1,0 +trim1 = scalar, F32, 1728, "", 1, 0 +luaAdjustment1 = scalar, F32, 1732, "per", 1,0 +m_wastegatePosition1 = scalar, F32, 1736, "per", 1,0 +etbFeedForward1 = scalar, F32, 1740 +etbIntegralError1 = scalar, F32, 1744, "", 1, 0 +etbCurrentTarget1 = scalar, F32, 1748, "%", 1, 0 +etbCurrentAdjustedTarget1 = scalar, F32, 1752, "%", 1, 0 +etbRevLimitActive1 = bits, U32, 1756, [0:0] +jamDetected1 = bits, U32, 1756, [1:1] +etbTpsErrorCounter1 = scalar, U16, 1760, "count", 1,0 +etbPpsErrorCounter1 = scalar, U16, 1762, "count", 1,0 +etbErrorCode1 = scalar, S08, 1764, "", 1, 0 +tcEtbDrop1 = scalar, S08, 1765, "%", 1, 0 +jamTimer1 = scalar, U16, 1766, "sec", 0.01, 0 +adjustedEtbTarget1 = scalar, S08, 1768, "%", 1, 0 +; total TS size = 1772 +faultCode0 = scalar, U08, 1772, "", 1, 0 +heaterDuty0 = scalar, U08, 1773, "%", 1, 0 +pumpDuty0 = scalar, U08, 1774, "%", 1, 0 +tempC0 = scalar, U16, 1776, "C", 1, 0 +nernstVoltage0 = scalar, U16, 1778, "V", 0.001, 0 +esr0 = scalar, U16, 1780, "ohm", 1, 0 +; total TS size = 1784 +faultCode1 = scalar, U08, 1784, "", 1, 0 +heaterDuty1 = scalar, U08, 1785, "%", 1, 0 +pumpDuty1 = scalar, U08, 1786, "%", 1, 0 +tempC1 = scalar, U16, 1788, "C", 1, 0 +nernstVoltage1 = scalar, U16, 1790, "V", 0.001, 0 +esr1 = scalar, U16, 1792, "ohm", 1, 0 +; total TS size = 1796 +dcOutput0 = scalar, F32, 1796, "per", 1,0 +isEnabled0_int = scalar, U08, 1800, "per", 1,0 +isEnabled0 = bits, U32, 1804, [0:0] +; total TS size = 1808 +value0 = scalar, U16, 1808, "value", 1,0 +value1 = scalar, U16, 1810, "value", 1,0 +errorRate = scalar, F32, 1812, "ratio", 1,0 +; total TS size = 1816 +vvtTarget = scalar, U16, 1816, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1818, "%", 0.5, 0 +; total TS size = 1820 +lambdaCurrentlyGood = bits, U32, 1820, [0:0] +lambdaMonitorCut = bits, U32, 1820, [1:1] +lambdaTimeSinceGood = scalar, U16, 1824, "sec", 0.01, 0 +; total TS size = 1828 time = { timeNow } @@ -3616,6 +3648,7 @@ lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs8 requiresPowerCycle = cylinderBore + requiresPowerCycle = knockFrequency readOnly = warning_message readOnly = device_uid1 @@ -5033,6 +5066,26 @@ gaugeCategory = Knock knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knockSpectrumChannelCylGauge = m_knockSpectrumChannelCyl, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStartGauge = m_knockFrequencyStart, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStepGauge = m_knockFrequencyStep, "Knock Frequency Step", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFuelTrimMultiplier = m_knockFuelTrimMultiplier, "Knock Fuel Trim", "mult", 0, 0, 0, 0, 0, 30, 1, 1 + knockSpectrum1 = m_knockSpectrum1, "Knock Spectrum1", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum2 = m_knockSpectrum2, "knockSpectrum2", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum3 = m_knockSpectrum3, "knockSpectrum3", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum4 = m_knockSpectrum4, "knockSpectrum4", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum5 = m_knockSpectrum5, "knockSpectrum5", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum6 = m_knockSpectrum6, "knockSpectrum6", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum7 = m_knockSpectrum7, "knockSpectrum7", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum8 = m_knockSpectrum8, "knockSpectrum8", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum9 = m_knockSpectrum9, "knockSpectrum9", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum10 = m_knockSpectrum10, "knockSpectrum10", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum11 = m_knockSpectrum11, "knockSpectrum11", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum12 = m_knockSpectrum12, "knockSpectrum12", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum13 = m_knockSpectrum13, "knockSpectrum13", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum14 = m_knockSpectrum14, "knockSpectrum14", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum15 = m_knockSpectrum15, "knockSpectrum15", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum16 = m_knockSpectrum16, "knockSpectrum16", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -5631,6 +5684,26 @@ entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" entry = m_knockCount, "Knock: Count", int, "%d" entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_knockFrequency, "knock: frequency", int, "%d" +entry = m_knockSpectrum1, "Knock: SpectrumData 1", int, "%d" +entry = m_knockSpectrum2, "Knock: SpectrumData 2", int, "%d" +entry = m_knockSpectrum3, "Knock: SpectrumData 3", int, "%d" +entry = m_knockSpectrum4, "Knock: SpectrumData 4", int, "%d" +entry = m_knockSpectrum5, "Knock: SpectrumData 5", int, "%d" +entry = m_knockSpectrum6, "Knock: SpectrumData 6", int, "%d" +entry = m_knockSpectrum7, "Knock: SpectrumData 7", int, "%d" +entry = m_knockSpectrum8, "Knock: SpectrumData 8", int, "%d" +entry = m_knockSpectrum9, "Knock: SpectrumData 9", int, "%d" +entry = m_knockSpectrum10, "Knock: SpectrumData 10", int, "%d" +entry = m_knockSpectrum11, "Knock: SpectrumData 11", int, "%d" +entry = m_knockSpectrum12, "Knock: SpectrumData 12", int, "%d" +entry = m_knockSpectrum13, "Knock: SpectrumData 13", int, "%d" +entry = m_knockSpectrum14, "Knock: SpectrumData 14", int, "%d" +entry = m_knockSpectrum15, "Knock: SpectrumData 15", int, "%d" +entry = m_knockSpectrum16, "Knock: SpectrumData 16", int, "%d" +entry = m_knockSpectrumChannelCyl, "Knock: ChannelAndCylNumber", int, "%d" +entry = m_knockFrequencyStart, "Knock: Start Freq", int, "%d" +entry = m_knockFrequencyStep, "Knock: Step Freq", float, "%.3f" +entry = m_knockFuelTrimMultiplier, "Knock: Fuel trim when knock", float, "%.3f" entry = tcuCurrentGear, "TCU: Current Gear", int, "%d" entry = tcRatio, "TCU: Torque Converter Ratio", float, "%.3f" entry = lastShiftTime, "lastShiftTime", float, "%.3f" @@ -6527,6 +6600,31 @@ dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard graphLine = m_knockFrequency + graphLine = m_knockSpectrum1 + graphLine = m_knockSpectrum2 + liveGraph = knock_controller_6_Graph, "Graph", South + graphLine = m_knockSpectrum3 + graphLine = m_knockSpectrum4 + graphLine = m_knockSpectrum5 + graphLine = m_knockSpectrum6 + liveGraph = knock_controller_7_Graph, "Graph", South + graphLine = m_knockSpectrum7 + graphLine = m_knockSpectrum8 + graphLine = m_knockSpectrum9 + graphLine = m_knockSpectrum10 + liveGraph = knock_controller_8_Graph, "Graph", South + graphLine = m_knockSpectrum11 + graphLine = m_knockSpectrum12 + graphLine = m_knockSpectrum13 + graphLine = m_knockSpectrum14 + liveGraph = knock_controller_9_Graph, "Graph", South + graphLine = m_knockSpectrum15 + graphLine = m_knockSpectrum16 + graphLine = m_knockSpectrumChannelCyl + graphLine = m_knockFrequencyStart + liveGraph = knock_controller_10_Graph, "Graph", South + graphLine = m_knockFrequencyStep + graphLine = m_knockFuelTrimMultiplier indicatorPanel = tcu_controllerIndicatorPanel, 2 indicator = {isShifting}, "isShifting No", "isShifting Yes" @@ -8595,9 +8693,13 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockCfg, "Sense" field = "Enable", enableSoftwareKnock field = "Cylinder Bore", cylinderBore, {enableSoftwareKnock} + field = "Estimated Knock Frequency",knockFrequency, {enableSoftwareKnock} field = "Detection mode", knockDetectionUseDoubleFrequency field = "Detection Window Start",knockDetectionWindowStart, {enableSoftwareKnock} field = "Sampling Duration", knockSamplingDuration, {enableSoftwareKnock} + field = "Enable Knock Spectrogram", enableKnockSpectrogram, {enableSoftwareKnock} + field = "Enable Knock Spectrogram Filter", enableKnockSpectrogramFilter, {enableKnockSpectrogram} + field = "Knock Spectrum Sensitivity", knockSpectrumSensitivity, {enableKnockSpectrogram} field = "" field = "Select the nearest sensor for each cylinder" @@ -8617,6 +8719,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockResponseCfg, "Response" field = knockRetardAggression, knockRetardAggression field = knockRetardReapplyRate, knockRetardReapplyRate + field = knockFuelTrimAggression, knockFuelTrimAggression + field = knockFuelTrimReapplyRate, knockFuelTrimReapplyRate + field = knockFuelTrim, knockFuelTrim + field = knockSuppressMinTps, knockSuppressMinTps dialog = softwareKnockLeft, "" panel = softwareKnockCfg diff --git a/firmware/tunerstudio/generated/rusefi_uaefi.ini b/firmware/tunerstudio/generated/rusefi_uaefi.ini index 6d2ccc03d8..017a98d50c 100644 --- a/firmware/tunerstudio/generated/rusefi_uaefi.ini +++ b/firmware/tunerstudio/generated/rusefi_uaefi.ini @@ -38,12 +38,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.10.21.uaefi.543625896" + signature = "rusEFI master.2024.10.21.uaefi.4233054295" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.10.21.uaefi.543625896" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.10.21.uaefi.4233054295" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -774,6 +774,7 @@ devBit7 = bits, U32, 1492, [27:27], "false", "true" unusedSkipWasHere = bits, U32, 1492, [28:28], "false", "true" invertExhaustCamVVTSignal = bits, U32, 1492, [29:29], "Rising", "Falling" enableKnockSpectrogram = bits, U32, 1492, [30:30], "false", "true" +enableKnockSpectrogramFilter = bits, U32, 1492, [31:31], "false", "true" afterCrankingIACtaperDuration = scalar, S16, 1496, "cycles", 1, 0, 0, 5000, 0 iacByTpsTaper = scalar, S16, 1498, "percent", 1, 0, 0, 500, 0 unusedAuxSeria = bits, U16, 1500, [0:8], $gpio_list @@ -1394,7 +1395,13 @@ auxLinear4_v1 = scalar, F32, 3880, "volts", 1, 0, 0, 10, 2 auxLinear4_value1 = scalar, F32, 3884, "", 1, 0, -100000, 1000000, 2 auxLinear4_v2 = scalar, F32, 3888, "volts", 1, 0, 0, 10, 2 auxLinear4_value2 = scalar, F32, 3892, "", 1, 0, -100000, 1000000, 2 -unusedOftenChangesDuringFirmwareUpdate = array, U08, 3896, [128], "units", 1, 0, 0, 1, 0 +knockSuppressMinTps = scalar, U08, 3896, "%", 1, 0, 0, 100, 1 +knockFuelTrimAggression = scalar, U08, 3897, "%", 0.1, 0, 0, 20, 1 +knockFuelTrimReapplyRate = scalar, U08, 3898, "deg/s", 0.1, 0, 0, 10, 1 +knockFuelTrim = scalar, U08, 3899, "%", 1, 0, 0, 30, 1 +knockSpectrumSensitivity = scalar, F32, 3900, "sense", 1, 0, 0, 1, 2 +knockFrequency = scalar, F32, 3904, "Hz", 1, 0, 0, 20000, 2 +unusedOftenChangesDuringFirmwareUpdate = array, U08, 3908, [116], "units", 1, 0, 0, 1, 0 postCrankingFactor = array, F32, 4024, [6x6], "mult", 1, 0, 1, 3, 2 postCrankingDurationBins = array, F32, 4168, [6], "count", 1, 0, 0, 1000, 0 postCrankingCLTBins = array, S16, 4192, [6], "C", 1, 0, -100, 250, 0 @@ -2448,6 +2455,11 @@ minimumOilPressureValues = array, U08, 22960, [8], "kPa", 10.0, 0, 0, 1000, 0 minAcPressure = "value of A/C pressure in kPa before that compressor is disengaged" maxAcPressure = "value of A/C pressure in kPa after that compressor is disengaged" minimumOilPressureTimeout = "Delay before cutting fuel due to low oil pressure. Use this to ignore short pressure blips and sensor noise." + knockSuppressMinTps = "Below TPS value all knock suppression will be disabled." + knockFuelTrimAggression = "Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump)," + knockFuelTrimReapplyRate = "After a knock event, reapply fuel at this rate." + knockFuelTrim = "Fuel trim when knock, max 30%" + knockFrequency = "Estimated knock frequency, ignore cylinderBore if this one > 0" etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, open loop component of PID closed loop control" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2560,7 +2572,7 @@ minimumOilPressureValues = array, U08, 22960, [8], "kPa", 10.0, 0, 0, 1000, 0 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1752 + ochBlockSize = 1828 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3101,370 +3113,390 @@ m_knockThreshold = scalar, F32, 960, "", 1, 0 m_knockCount = scalar, U32, 964, "", 1, 0 m_maximumRetard = scalar, F32, 968, "", 1, 0 m_knockFrequency = scalar, U32, 972, "Hz", 1, 0 -; total TS size = 976 -tcuCurrentGear = scalar, S08, 976, "gear", 1, 0 -tcRatio = scalar, U16, 978, "value", 0.01, 0 -lastShiftTime = scalar, F32, 980, "", 1, 0 -tcu_currentRange = scalar, U08, 984, "", 1, 0 -pressureControlDuty = scalar, S08, 985, "%", 1,0 -torqueConverterDuty = scalar, S08, 986, "%", 1,0 -isShifting = bits, U32, 988, [0:0] -; total TS size = 992 -throttleUseWotModel = bits, U32, 992, [0:0] -throttleModelCrossoverAngle = scalar, S16, 996, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1000, "g/s", 1, 0 -; total TS size = 1004 -m_requested_pump = scalar, F32, 1004, "", 1, 0 -fuel_requested_percent = scalar, F32, 1008, "", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1012, "", 1, 0 -noValve = bits, U32, 1016, [0:0] -angleAboveMin = bits, U32, 1016, [1:1] -isHpfpInactive = bits, U32, 1016, [2:2] -m_pressureTarget_kPa = scalar, F32, 1020, "", 1, 0 -nextLobe = scalar, F32, 1024, "", 1, 0 -di_nextStart = scalar, F32, 1028, "v", 1, 0 -; total TS size = 1032 -m_deadtime = scalar, F32, 1032, "ms", 1, 0 -pressureDelta = scalar, F32, 1036, "kPa", 1, 0 -pressureRatio = scalar, F32, 1040, "", 1, 0 -; total TS size = 1044 -retardThresholdRpm = scalar, S32, 1044, "", 1, 0 -launchActivatePinState = bits, U32, 1048, [0:0] -isPreLaunchCondition = bits, U32, 1048, [1:1] -isLaunchCondition = bits, U32, 1048, [2:2] -isSwitchActivated = bits, U32, 1048, [3:3] -isClutchActivated = bits, U32, 1048, [4:4] -isBrakePedalActivated = bits, U32, 1048, [5:5] -isValidInputPin = bits, U32, 1048, [6:6] -activateSwitchCondition = bits, U32, 1048, [7:7] -rpmLaunchCondition = bits, U32, 1048, [8:8] -rpmPreLaunchCondition = bits, U32, 1048, [9:9] -speedCondition = bits, U32, 1048, [10:10] -tpsCondition = bits, U32, 1048, [11:11] +m_knockSpectrum1 = scalar, U32, 976, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 980, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 984, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 988, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1040, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1042, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1044, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1048, "multiplier", 1, 0 ; total TS size = 1052 -isTorqueReductionTriggerPinValid = bits, U32, 1052, [0:0] -torqueReductionTriggerPinState = bits, U32, 1052, [1:1] -isTimeConditionSatisfied = bits, U32, 1052, [2:2] -isRpmConditionSatisfied = bits, U32, 1052, [3:3] -isAppConditionSatisfied = bits, U32, 1052, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1052, [5:5] -; total TS size = 1056 -isAntilagCondition = bits, U32, 1056, [0:0] -ALSMinRPMCondition = bits, U32, 1056, [1:1] -ALSMaxRPMCondition = bits, U32, 1056, [2:2] -ALSMinCLTCondition = bits, U32, 1056, [3:3] -ALSMaxCLTCondition = bits, U32, 1056, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1056, [5:5] -isALSSwitchActivated = bits, U32, 1056, [6:6] -ALSActivatePinState = bits, U32, 1056, [7:7] -ALSSwitchCondition = bits, U32, 1056, [8:8] -ALSTimerCondition = bits, U32, 1056, [9:9] -fuelALSCorrection = scalar, F32, 1060, "", 1, 0 -timingALSCorrection = scalar, S16, 1064, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1066, "deg", 0.01, 0 +tcuCurrentGear = scalar, S08, 1052, "gear", 1, 0 +tcRatio = scalar, U16, 1054, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1056, "", 1, 0 +tcu_currentRange = scalar, U08, 1060, "", 1, 0 +pressureControlDuty = scalar, S08, 1061, "%", 1,0 +torqueConverterDuty = scalar, S08, 1062, "%", 1,0 +isShifting = bits, U32, 1064, [0:0] ; total TS size = 1068 -isTpsInvalid = bits, U32, 1068, [0:0] -m_shouldResetPid = bits, U32, 1068, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1068, [2:2] -isNotClosedLoop = bits, U32, 1068, [3:3] -isZeroRpm = bits, U32, 1068, [4:4] -hasInitBoost = bits, U32, 1068, [5:5] -rpmTooLow = bits, U32, 1068, [6:6] -tpsTooLow = bits, U32, 1068, [7:7] -mapTooLow = bits, U32, 1068, [8:8] -isPlantValid = bits, U32, 1068, [9:9] -isBoostControlled = bits, U32, 1068, [10:10] -luaTargetAdd = scalar, S16, 1072, "v", 0.5,0 -boostOutput = scalar, S16, 1074, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1076, "v", 1,0 -openLoopPart = scalar, F32, 1080, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1084, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1088, "%", 0.5,0 -boostControlTarget = scalar, S16, 1090, "kPa", 0.03333333333333333,0 -; total TS size = 1092 -acButtonState = scalar, S08, 1092, "", 1, 0 -m_acEnabled = bits, U32, 1096, [0:0] -engineTooSlow = bits, U32, 1096, [1:1] -engineTooFast = bits, U32, 1096, [2:2] -noClt = bits, U32, 1096, [3:3] -engineTooHot = bits, U32, 1096, [4:4] -tpsTooHigh = bits, U32, 1096, [5:5] -isDisabledByLua = bits, U32, 1096, [6:6] -acCompressorState = bits, U32, 1096, [7:7] -acPressureTooLow = bits, U32, 1096, [8:8] -acPressureTooHigh = bits, U32, 1096, [9:9] -; total TS size = 1100 -cranking0 = bits, U32, 1100, [0:0] -notRunning0 = bits, U32, 1100, [1:1] -disabledWhileEngineStopped0 = bits, U32, 1100, [2:2] -brokenClt0 = bits, U32, 1100, [3:3] -enabledForAc0 = bits, U32, 1100, [4:4] -hot0 = bits, U32, 1100, [5:5] -cold0 = bits, U32, 1100, [6:6] -disabledBySpeed0 = bits, U32, 1100, [7:7] -radiatorFanStatus0 = scalar, U08, 1104, "", 1, 0 +throttleUseWotModel = bits, U32, 1068, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1072, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1076, "g/s", 1, 0 +; total TS size = 1080 +m_requested_pump = scalar, F32, 1080, "", 1, 0 +fuel_requested_percent = scalar, F32, 1084, "", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1088, "", 1, 0 +noValve = bits, U32, 1092, [0:0] +angleAboveMin = bits, U32, 1092, [1:1] +isHpfpInactive = bits, U32, 1092, [2:2] +m_pressureTarget_kPa = scalar, F32, 1096, "", 1, 0 +nextLobe = scalar, F32, 1100, "", 1, 0 +di_nextStart = scalar, F32, 1104, "v", 1, 0 ; total TS size = 1108 -cranking1 = bits, U32, 1108, [0:0] -notRunning1 = bits, U32, 1108, [1:1] -disabledWhileEngineStopped1 = bits, U32, 1108, [2:2] -brokenClt1 = bits, U32, 1108, [3:3] -enabledForAc1 = bits, U32, 1108, [4:4] -hot1 = bits, U32, 1108, [5:5] -cold1 = bits, U32, 1108, [6:6] -disabledBySpeed1 = bits, U32, 1108, [7:7] -radiatorFanStatus1 = scalar, U08, 1112, "", 1, 0 -; total TS size = 1116 -isPrime = bits, U32, 1116, [0:0] -engineTurnedRecently = bits, U32, 1116, [1:1] -isFuelPumpOn = bits, U32, 1116, [2:2] -ignitionOn = bits, U32, 1116, [3:3] +m_deadtime = scalar, F32, 1108, "ms", 1, 0 +pressureDelta = scalar, F32, 1112, "kPa", 1, 0 +pressureRatio = scalar, F32, 1116, "", 1, 0 ; total TS size = 1120 -isBenchTest = bits, U32, 1120, [0:0] -hasIgnitionVoltage = bits, U32, 1120, [1:1] -mainRelayState = bits, U32, 1120, [2:2] -delayedShutoffRequested = bits, U32, 1120, [3:3] -; total TS size = 1124 -lua_fuelAdd = scalar, F32, 1124, "g", 1, 0 -lua_fuelMult = scalar, F32, 1128, "", 1, 0 -lua_clutchUpState = bits, U32, 1132, [0:0] -lua_brakePedalState = bits, U32, 1132, [1:1] -lua_acRequestState = bits, U32, 1132, [2:2] -lua_luaDisableEtb = bits, U32, 1132, [3:3] -lua_luaIgnCut = bits, U32, 1132, [4:4] -lua_luaFuelCut = bits, U32, 1132, [5:5] -lua_clutchDownState = bits, U32, 1132, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1132, [7:7] -sd_tCharge = scalar, S16, 1136, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1140, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1144, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1148, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1152, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1156, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1160, "", 1, 0 -hellenBoardId = scalar, S16, 1164, "id", 1, 0 -clutchUpState = scalar, S08, 1166, "", 1, 0 -clutchDownState = scalar, S08, 1167, "", 1, 0 -brakePedalState = scalar, S08, 1168, "", 1, 0 -startStopState = scalar, S08, 1169, "", 1, 0 -smartChipState = scalar, S08, 1170, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1171, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1172, "", 1, 0 -startStopPhysicalState = bits, U32, 1176, [0:0] -acrActive = bits, U32, 1176, [1:1] -acrEngineMovedRecently = bits, U32, 1176, [2:2] -heaterControlEnabled = bits, U32, 1176, [3:3] -luaDigitalState0 = bits, U32, 1176, [4:4] -luaDigitalState1 = bits, U32, 1176, [5:5] -luaDigitalState2 = bits, U32, 1176, [6:6] -luaDigitalState3 = bits, U32, 1176, [7:7] -startStopStateToggleCounter = scalar, U32, 1180, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1184, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1188, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1192, "", 1, 0 -desiredRpmLimit = scalar, S16, 1196, "rpm", 1, 0 -fuelInjectionCounter = scalar, U32, 1200, "", 1, 0 -globalSparkCounter = scalar, U32, 1204, "", 1, 0 -fuelingLoad = scalar, F32, 1208, "", 1, 0 -ignitionLoad = scalar, F32, 1212, "", 1, 0 -veTableYAxis = scalar, U16, 1216, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1218, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1219, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1220, "", 1, 0 -; total TS size = 1224 -tpsFrom = scalar, F32, 1224 -tpsTo = scalar, F32, 1228 -deltaTps = scalar, F32, 1232 -extraFuel = scalar, F32, 1236, "", 1, 0 -valueFromTable = scalar, F32, 1240, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1244, [0:0] -isBelowDecelThreshold = bits, U32, 1244, [1:1] -isTimeToResetAccumulator = bits, U32, 1244, [2:2] -isFractionalEnrichment = bits, U32, 1244, [3:3] -belowEpsilon = bits, U32, 1244, [4:4] -tooShort = bits, U32, 1244, [5:5] -fractionalInjFuel = scalar, F32, 1248, "", 1, 0 -accumulatedValue = scalar, F32, 1252, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1256, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1260, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1264, "", 1, 0 -cycleCnt = scalar, S32, 1268, "", 1, 0 -; total TS size = 1272 -hwEventCounters1 = scalar, U32, 1272, "", 1, 0 -hwEventCounters2 = scalar, U32, 1276, "", 1, 0 -hwEventCounters3 = scalar, U32, 1280, "", 1, 0 -hwEventCounters4 = scalar, U32, 1284, "", 1, 0 -hwEventCounters5 = scalar, U32, 1288, "", 1, 0 -hwEventCounters6 = scalar, U32, 1292, "", 1, 0 -vvtCamCounter = scalar, U32, 1296, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1300, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1304, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1308, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1309, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1312, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1316, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1320, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1324, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1328, [0:0] -triggerElapsedUs = scalar, U32, 1332, "", 1, 0 -; total TS size = 1336 -crankSynchronizationCounter0 = scalar, U32, 1336, "", 1, 0 -vvtSyncGapRatio0 = scalar, F32, 1340, "", 1, 0 -vvtToothDurations00 = scalar, U32, 1344, "us", 1, 0 -vvtCurrentPosition0 = scalar, F32, 1348, "sync: Primary Cam Position", 1, 0 -vvtToothPosition10 = scalar, F32, 1352, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition20 = scalar, F32, 1356, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition30 = scalar, F32, 1360, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition40 = scalar, F32, 1364, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio0 = scalar, F32, 1368, "", 1, 0 -triggerStateIndex0 = scalar, U08, 1372, "", 1, 0 -vvtStateIndex0 = scalar, U08, 1373, "", 1, 0 -; total TS size = 1376 -crankSynchronizationCounter1 = scalar, U32, 1376, "", 1, 0 -vvtSyncGapRatio1 = scalar, F32, 1380, "", 1, 0 -vvtToothDurations01 = scalar, U32, 1384, "us", 1, 0 -vvtCurrentPosition1 = scalar, F32, 1388, "sync: Primary Cam Position", 1, 0 -vvtToothPosition11 = scalar, F32, 1392, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition21 = scalar, F32, 1396, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition31 = scalar, F32, 1400, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition41 = scalar, F32, 1404, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio1 = scalar, F32, 1408, "", 1, 0 -triggerStateIndex1 = scalar, U08, 1412, "", 1, 0 -vvtStateIndex1 = scalar, U08, 1413, "", 1, 0 -; total TS size = 1416 -crankSynchronizationCounter2 = scalar, U32, 1416, "", 1, 0 -vvtSyncGapRatio2 = scalar, F32, 1420, "", 1, 0 -vvtToothDurations02 = scalar, U32, 1424, "us", 1, 0 -vvtCurrentPosition2 = scalar, F32, 1428, "sync: Primary Cam Position", 1, 0 -vvtToothPosition12 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition22 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition32 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition42 = scalar, F32, 1444, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio2 = scalar, F32, 1448, "", 1, 0 -triggerStateIndex2 = scalar, U08, 1452, "", 1, 0 -vvtStateIndex2 = scalar, U08, 1453, "", 1, 0 -; total TS size = 1456 -crankSynchronizationCounter3 = scalar, U32, 1456, "", 1, 0 -vvtSyncGapRatio3 = scalar, F32, 1460, "", 1, 0 -vvtToothDurations03 = scalar, U32, 1464, "us", 1, 0 -vvtCurrentPosition3 = scalar, F32, 1468, "sync: Primary Cam Position", 1, 0 -vvtToothPosition13 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition23 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition33 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition43 = scalar, F32, 1484, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio3 = scalar, F32, 1488, "", 1, 0 -triggerStateIndex3 = scalar, U08, 1492, "", 1, 0 -vvtStateIndex3 = scalar, U08, 1493, "", 1, 0 -; total TS size = 1496 -crankSynchronizationCounter4 = scalar, U32, 1496, "", 1, 0 -vvtSyncGapRatio4 = scalar, F32, 1500, "", 1, 0 -vvtToothDurations04 = scalar, U32, 1504, "us", 1, 0 -vvtCurrentPosition4 = scalar, F32, 1508, "sync: Primary Cam Position", 1, 0 -vvtToothPosition14 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition24 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition34 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition44 = scalar, F32, 1524, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio4 = scalar, F32, 1528, "", 1, 0 -triggerStateIndex4 = scalar, U08, 1532, "", 1, 0 -vvtStateIndex4 = scalar, U08, 1533, "", 1, 0 -; total TS size = 1536 -camResyncCounter = scalar, U08, 1536, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1540, [0:0] -; total TS size = 1544 -wallFuelCorrection = scalar, F32, 1544, "", 1, 0 -wallFuel = scalar, F32, 1548, "", 1, 0 -; total TS size = 1552 -idleState = bits, S32, 1552, [0:2], "not important" -currentIdlePosition = scalar, F32, 1556 -baseIdlePosition = scalar, F32, 1560 -idleClosedLoop = scalar, F32, 1564 -iacByTpsTaper = scalar, F32, 1568 -throttlePedalUpState = scalar, S32, 1572, "", 1, 0 -mightResetPid = bits, U32, 1576, [0:0] -shouldResetPid = bits, U32, 1576, [1:1] -wasResetPid = bits, U32, 1576, [2:2] -mustResetPid = bits, U32, 1576, [3:3] -isCranking = bits, U32, 1576, [4:4] -isIacTableForCoasting = bits, U32, 1576, [5:5] -notIdling = bits, U32, 1576, [6:6] -needReset = bits, U32, 1576, [7:7] -isInDeadZone = bits, U32, 1576, [8:8] -isBlipping = bits, U32, 1576, [9:9] -useClosedLoop = bits, U32, 1576, [10:10] -badTps = bits, U32, 1576, [11:11] -looksLikeRunning = bits, U32, 1576, [12:12] -looksLikeCoasting = bits, U32, 1576, [13:13] -looksLikeCrankToIdle = bits, U32, 1576, [14:14] -isIdleCoasting = bits, U32, 1576, [15:15] -isIdleClosedLoop = bits, U32, 1576, [16:16] -idleTarget = scalar, S32, 1580, "", 1, 0 -targetRpmByClt = scalar, S32, 1584, "", 1, 0 -targetRpmAc = scalar, S32, 1588, "", 1, 0 -iacByRpmTaper = scalar, F32, 1592 -luaAdd = scalar, F32, 1596 -; total TS size = 1600 -targetWithIdlePosition0 = scalar, F32, 1600, "per", 1,0 -trim0 = scalar, F32, 1604, "", 1, 0 -luaAdjustment0 = scalar, F32, 1608, "per", 1,0 -m_wastegatePosition0 = scalar, F32, 1612, "per", 1,0 -etbFeedForward0 = scalar, F32, 1616 -etbIntegralError0 = scalar, F32, 1620, "", 1, 0 -etbCurrentTarget0 = scalar, F32, 1624, "%", 1, 0 -etbCurrentAdjustedTarget0 = scalar, F32, 1628, "%", 1, 0 -etbRevLimitActive0 = bits, U32, 1632, [0:0] -jamDetected0 = bits, U32, 1632, [1:1] -etbTpsErrorCounter0 = scalar, U16, 1636, "count", 1,0 -etbPpsErrorCounter0 = scalar, U16, 1638, "count", 1,0 -etbErrorCode0 = scalar, S08, 1640, "", 1, 0 -tcEtbDrop0 = scalar, S08, 1641, "%", 1, 0 -jamTimer0 = scalar, U16, 1642, "sec", 0.01, 0 -adjustedEtbTarget0 = scalar, S08, 1644, "%", 1, 0 -; total TS size = 1648 -targetWithIdlePosition1 = scalar, F32, 1648, "per", 1,0 -trim1 = scalar, F32, 1652, "", 1, 0 -luaAdjustment1 = scalar, F32, 1656, "per", 1,0 -m_wastegatePosition1 = scalar, F32, 1660, "per", 1,0 -etbFeedForward1 = scalar, F32, 1664 -etbIntegralError1 = scalar, F32, 1668, "", 1, 0 -etbCurrentTarget1 = scalar, F32, 1672, "%", 1, 0 -etbCurrentAdjustedTarget1 = scalar, F32, 1676, "%", 1, 0 -etbRevLimitActive1 = bits, U32, 1680, [0:0] -jamDetected1 = bits, U32, 1680, [1:1] -etbTpsErrorCounter1 = scalar, U16, 1684, "count", 1,0 -etbPpsErrorCounter1 = scalar, U16, 1686, "count", 1,0 -etbErrorCode1 = scalar, S08, 1688, "", 1, 0 -tcEtbDrop1 = scalar, S08, 1689, "%", 1, 0 -jamTimer1 = scalar, U16, 1690, "sec", 0.01, 0 -adjustedEtbTarget1 = scalar, S08, 1692, "%", 1, 0 -; total TS size = 1696 -faultCode0 = scalar, U08, 1696, "", 1, 0 -heaterDuty0 = scalar, U08, 1697, "%", 1, 0 -pumpDuty0 = scalar, U08, 1698, "%", 1, 0 -tempC0 = scalar, U16, 1700, "C", 1, 0 -nernstVoltage0 = scalar, U16, 1702, "V", 0.001, 0 -esr0 = scalar, U16, 1704, "ohm", 1, 0 -; total TS size = 1708 -faultCode1 = scalar, U08, 1708, "", 1, 0 -heaterDuty1 = scalar, U08, 1709, "%", 1, 0 -pumpDuty1 = scalar, U08, 1710, "%", 1, 0 -tempC1 = scalar, U16, 1712, "C", 1, 0 -nernstVoltage1 = scalar, U16, 1714, "V", 0.001, 0 -esr1 = scalar, U16, 1716, "ohm", 1, 0 -; total TS size = 1720 -dcOutput0 = scalar, F32, 1720, "per", 1,0 -isEnabled0_int = scalar, U08, 1724, "per", 1,0 -isEnabled0 = bits, U32, 1728, [0:0] -; total TS size = 1732 -value0 = scalar, U16, 1732, "value", 1,0 -value1 = scalar, U16, 1734, "value", 1,0 -errorRate = scalar, F32, 1736, "ratio", 1,0 -; total TS size = 1740 -vvtTarget = scalar, U16, 1740, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1742, "%", 0.5, 0 -; total TS size = 1744 -lambdaCurrentlyGood = bits, U32, 1744, [0:0] -lambdaMonitorCut = bits, U32, 1744, [1:1] -lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 -; total TS size = 1752 +retardThresholdRpm = scalar, S32, 1120, "", 1, 0 +launchActivatePinState = bits, U32, 1124, [0:0] +isPreLaunchCondition = bits, U32, 1124, [1:1] +isLaunchCondition = bits, U32, 1124, [2:2] +isSwitchActivated = bits, U32, 1124, [3:3] +isClutchActivated = bits, U32, 1124, [4:4] +isBrakePedalActivated = bits, U32, 1124, [5:5] +isValidInputPin = bits, U32, 1124, [6:6] +activateSwitchCondition = bits, U32, 1124, [7:7] +rpmLaunchCondition = bits, U32, 1124, [8:8] +rpmPreLaunchCondition = bits, U32, 1124, [9:9] +speedCondition = bits, U32, 1124, [10:10] +tpsCondition = bits, U32, 1124, [11:11] +; total TS size = 1128 +isTorqueReductionTriggerPinValid = bits, U32, 1128, [0:0] +torqueReductionTriggerPinState = bits, U32, 1128, [1:1] +isTimeConditionSatisfied = bits, U32, 1128, [2:2] +isRpmConditionSatisfied = bits, U32, 1128, [3:3] +isAppConditionSatisfied = bits, U32, 1128, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1128, [5:5] +; total TS size = 1132 +isAntilagCondition = bits, U32, 1132, [0:0] +ALSMinRPMCondition = bits, U32, 1132, [1:1] +ALSMaxRPMCondition = bits, U32, 1132, [2:2] +ALSMinCLTCondition = bits, U32, 1132, [3:3] +ALSMaxCLTCondition = bits, U32, 1132, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1132, [5:5] +isALSSwitchActivated = bits, U32, 1132, [6:6] +ALSActivatePinState = bits, U32, 1132, [7:7] +ALSSwitchCondition = bits, U32, 1132, [8:8] +ALSTimerCondition = bits, U32, 1132, [9:9] +fuelALSCorrection = scalar, F32, 1136, "", 1, 0 +timingALSCorrection = scalar, S16, 1140, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1142, "deg", 0.01, 0 +; total TS size = 1144 +isTpsInvalid = bits, U32, 1144, [0:0] +m_shouldResetPid = bits, U32, 1144, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1144, [2:2] +isNotClosedLoop = bits, U32, 1144, [3:3] +isZeroRpm = bits, U32, 1144, [4:4] +hasInitBoost = bits, U32, 1144, [5:5] +rpmTooLow = bits, U32, 1144, [6:6] +tpsTooLow = bits, U32, 1144, [7:7] +mapTooLow = bits, U32, 1144, [8:8] +isPlantValid = bits, U32, 1144, [9:9] +isBoostControlled = bits, U32, 1144, [10:10] +luaTargetAdd = scalar, S16, 1148, "v", 0.5,0 +boostOutput = scalar, S16, 1150, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1152, "v", 1,0 +openLoopPart = scalar, F32, 1156, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1160, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1164, "%", 0.5,0 +boostControlTarget = scalar, S16, 1166, "kPa", 0.03333333333333333,0 +; total TS size = 1168 +acButtonState = scalar, S08, 1168, "", 1, 0 +m_acEnabled = bits, U32, 1172, [0:0] +engineTooSlow = bits, U32, 1172, [1:1] +engineTooFast = bits, U32, 1172, [2:2] +noClt = bits, U32, 1172, [3:3] +engineTooHot = bits, U32, 1172, [4:4] +tpsTooHigh = bits, U32, 1172, [5:5] +isDisabledByLua = bits, U32, 1172, [6:6] +acCompressorState = bits, U32, 1172, [7:7] +acPressureTooLow = bits, U32, 1172, [8:8] +acPressureTooHigh = bits, U32, 1172, [9:9] +; total TS size = 1176 +cranking0 = bits, U32, 1176, [0:0] +notRunning0 = bits, U32, 1176, [1:1] +disabledWhileEngineStopped0 = bits, U32, 1176, [2:2] +brokenClt0 = bits, U32, 1176, [3:3] +enabledForAc0 = bits, U32, 1176, [4:4] +hot0 = bits, U32, 1176, [5:5] +cold0 = bits, U32, 1176, [6:6] +disabledBySpeed0 = bits, U32, 1176, [7:7] +radiatorFanStatus0 = scalar, U08, 1180, "", 1, 0 +; total TS size = 1184 +cranking1 = bits, U32, 1184, [0:0] +notRunning1 = bits, U32, 1184, [1:1] +disabledWhileEngineStopped1 = bits, U32, 1184, [2:2] +brokenClt1 = bits, U32, 1184, [3:3] +enabledForAc1 = bits, U32, 1184, [4:4] +hot1 = bits, U32, 1184, [5:5] +cold1 = bits, U32, 1184, [6:6] +disabledBySpeed1 = bits, U32, 1184, [7:7] +radiatorFanStatus1 = scalar, U08, 1188, "", 1, 0 +; total TS size = 1192 +isPrime = bits, U32, 1192, [0:0] +engineTurnedRecently = bits, U32, 1192, [1:1] +isFuelPumpOn = bits, U32, 1192, [2:2] +ignitionOn = bits, U32, 1192, [3:3] +; total TS size = 1196 +isBenchTest = bits, U32, 1196, [0:0] +hasIgnitionVoltage = bits, U32, 1196, [1:1] +mainRelayState = bits, U32, 1196, [2:2] +delayedShutoffRequested = bits, U32, 1196, [3:3] +; total TS size = 1200 +lua_fuelAdd = scalar, F32, 1200, "g", 1, 0 +lua_fuelMult = scalar, F32, 1204, "", 1, 0 +lua_clutchUpState = bits, U32, 1208, [0:0] +lua_brakePedalState = bits, U32, 1208, [1:1] +lua_acRequestState = bits, U32, 1208, [2:2] +lua_luaDisableEtb = bits, U32, 1208, [3:3] +lua_luaIgnCut = bits, U32, 1208, [4:4] +lua_luaFuelCut = bits, U32, 1208, [5:5] +lua_clutchDownState = bits, U32, 1208, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1208, [7:7] +sd_tCharge = scalar, S16, 1212, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1216, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1220, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1224, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1228, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1232, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1236, "", 1, 0 +hellenBoardId = scalar, S16, 1240, "id", 1, 0 +clutchUpState = scalar, S08, 1242, "", 1, 0 +clutchDownState = scalar, S08, 1243, "", 1, 0 +brakePedalState = scalar, S08, 1244, "", 1, 0 +startStopState = scalar, S08, 1245, "", 1, 0 +smartChipState = scalar, S08, 1246, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1247, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1248, "", 1, 0 +startStopPhysicalState = bits, U32, 1252, [0:0] +acrActive = bits, U32, 1252, [1:1] +acrEngineMovedRecently = bits, U32, 1252, [2:2] +heaterControlEnabled = bits, U32, 1252, [3:3] +luaDigitalState0 = bits, U32, 1252, [4:4] +luaDigitalState1 = bits, U32, 1252, [5:5] +luaDigitalState2 = bits, U32, 1252, [6:6] +luaDigitalState3 = bits, U32, 1252, [7:7] +startStopStateToggleCounter = scalar, U32, 1256, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1260, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1264, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1268, "", 1, 0 +desiredRpmLimit = scalar, S16, 1272, "rpm", 1, 0 +fuelInjectionCounter = scalar, U32, 1276, "", 1, 0 +globalSparkCounter = scalar, U32, 1280, "", 1, 0 +fuelingLoad = scalar, F32, 1284, "", 1, 0 +ignitionLoad = scalar, F32, 1288, "", 1, 0 +veTableYAxis = scalar, U16, 1292, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1294, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1295, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1296, "", 1, 0 +; total TS size = 1300 +tpsFrom = scalar, F32, 1300 +tpsTo = scalar, F32, 1304 +deltaTps = scalar, F32, 1308 +extraFuel = scalar, F32, 1312, "", 1, 0 +valueFromTable = scalar, F32, 1316, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1320, [0:0] +isBelowDecelThreshold = bits, U32, 1320, [1:1] +isTimeToResetAccumulator = bits, U32, 1320, [2:2] +isFractionalEnrichment = bits, U32, 1320, [3:3] +belowEpsilon = bits, U32, 1320, [4:4] +tooShort = bits, U32, 1320, [5:5] +fractionalInjFuel = scalar, F32, 1324, "", 1, 0 +accumulatedValue = scalar, F32, 1328, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1332, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1336, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1340, "", 1, 0 +cycleCnt = scalar, S32, 1344, "", 1, 0 +; total TS size = 1348 +hwEventCounters1 = scalar, U32, 1348, "", 1, 0 +hwEventCounters2 = scalar, U32, 1352, "", 1, 0 +hwEventCounters3 = scalar, U32, 1356, "", 1, 0 +hwEventCounters4 = scalar, U32, 1360, "", 1, 0 +hwEventCounters5 = scalar, U32, 1364, "", 1, 0 +hwEventCounters6 = scalar, U32, 1368, "", 1, 0 +vvtCamCounter = scalar, U32, 1372, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1376, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1380, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1384, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1385, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1388, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1392, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1396, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1400, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1404, [0:0] +triggerElapsedUs = scalar, U32, 1408, "", 1, 0 +; total TS size = 1412 +crankSynchronizationCounter0 = scalar, U32, 1412, "", 1, 0 +vvtSyncGapRatio0 = scalar, F32, 1416, "", 1, 0 +vvtToothDurations00 = scalar, U32, 1420, "us", 1, 0 +vvtCurrentPosition0 = scalar, F32, 1424, "sync: Primary Cam Position", 1, 0 +vvtToothPosition10 = scalar, F32, 1428, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition20 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition30 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition40 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio0 = scalar, F32, 1444, "", 1, 0 +triggerStateIndex0 = scalar, U08, 1448, "", 1, 0 +vvtStateIndex0 = scalar, U08, 1449, "", 1, 0 +; total TS size = 1452 +crankSynchronizationCounter1 = scalar, U32, 1452, "", 1, 0 +vvtSyncGapRatio1 = scalar, F32, 1456, "", 1, 0 +vvtToothDurations01 = scalar, U32, 1460, "us", 1, 0 +vvtCurrentPosition1 = scalar, F32, 1464, "sync: Primary Cam Position", 1, 0 +vvtToothPosition11 = scalar, F32, 1468, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition21 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition31 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition41 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio1 = scalar, F32, 1484, "", 1, 0 +triggerStateIndex1 = scalar, U08, 1488, "", 1, 0 +vvtStateIndex1 = scalar, U08, 1489, "", 1, 0 +; total TS size = 1492 +crankSynchronizationCounter2 = scalar, U32, 1492, "", 1, 0 +vvtSyncGapRatio2 = scalar, F32, 1496, "", 1, 0 +vvtToothDurations02 = scalar, U32, 1500, "us", 1, 0 +vvtCurrentPosition2 = scalar, F32, 1504, "sync: Primary Cam Position", 1, 0 +vvtToothPosition12 = scalar, F32, 1508, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition22 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition32 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition42 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio2 = scalar, F32, 1524, "", 1, 0 +triggerStateIndex2 = scalar, U08, 1528, "", 1, 0 +vvtStateIndex2 = scalar, U08, 1529, "", 1, 0 +; total TS size = 1532 +crankSynchronizationCounter3 = scalar, U32, 1532, "", 1, 0 +vvtSyncGapRatio3 = scalar, F32, 1536, "", 1, 0 +vvtToothDurations03 = scalar, U32, 1540, "us", 1, 0 +vvtCurrentPosition3 = scalar, F32, 1544, "sync: Primary Cam Position", 1, 0 +vvtToothPosition13 = scalar, F32, 1548, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition23 = scalar, F32, 1552, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition33 = scalar, F32, 1556, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition43 = scalar, F32, 1560, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio3 = scalar, F32, 1564, "", 1, 0 +triggerStateIndex3 = scalar, U08, 1568, "", 1, 0 +vvtStateIndex3 = scalar, U08, 1569, "", 1, 0 +; total TS size = 1572 +crankSynchronizationCounter4 = scalar, U32, 1572, "", 1, 0 +vvtSyncGapRatio4 = scalar, F32, 1576, "", 1, 0 +vvtToothDurations04 = scalar, U32, 1580, "us", 1, 0 +vvtCurrentPosition4 = scalar, F32, 1584, "sync: Primary Cam Position", 1, 0 +vvtToothPosition14 = scalar, F32, 1588, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition24 = scalar, F32, 1592, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition34 = scalar, F32, 1596, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition44 = scalar, F32, 1600, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio4 = scalar, F32, 1604, "", 1, 0 +triggerStateIndex4 = scalar, U08, 1608, "", 1, 0 +vvtStateIndex4 = scalar, U08, 1609, "", 1, 0 +; total TS size = 1612 +camResyncCounter = scalar, U08, 1612, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1616, [0:0] +; total TS size = 1620 +wallFuelCorrection = scalar, F32, 1620, "", 1, 0 +wallFuel = scalar, F32, 1624, "", 1, 0 +; total TS size = 1628 +idleState = bits, S32, 1628, [0:2], "not important" +currentIdlePosition = scalar, F32, 1632 +baseIdlePosition = scalar, F32, 1636 +idleClosedLoop = scalar, F32, 1640 +iacByTpsTaper = scalar, F32, 1644 +throttlePedalUpState = scalar, S32, 1648, "", 1, 0 +mightResetPid = bits, U32, 1652, [0:0] +shouldResetPid = bits, U32, 1652, [1:1] +wasResetPid = bits, U32, 1652, [2:2] +mustResetPid = bits, U32, 1652, [3:3] +isCranking = bits, U32, 1652, [4:4] +isIacTableForCoasting = bits, U32, 1652, [5:5] +notIdling = bits, U32, 1652, [6:6] +needReset = bits, U32, 1652, [7:7] +isInDeadZone = bits, U32, 1652, [8:8] +isBlipping = bits, U32, 1652, [9:9] +useClosedLoop = bits, U32, 1652, [10:10] +badTps = bits, U32, 1652, [11:11] +looksLikeRunning = bits, U32, 1652, [12:12] +looksLikeCoasting = bits, U32, 1652, [13:13] +looksLikeCrankToIdle = bits, U32, 1652, [14:14] +isIdleCoasting = bits, U32, 1652, [15:15] +isIdleClosedLoop = bits, U32, 1652, [16:16] +idleTarget = scalar, S32, 1656, "", 1, 0 +targetRpmByClt = scalar, S32, 1660, "", 1, 0 +targetRpmAc = scalar, S32, 1664, "", 1, 0 +iacByRpmTaper = scalar, F32, 1668 +luaAdd = scalar, F32, 1672 +; total TS size = 1676 +targetWithIdlePosition0 = scalar, F32, 1676, "per", 1,0 +trim0 = scalar, F32, 1680, "", 1, 0 +luaAdjustment0 = scalar, F32, 1684, "per", 1,0 +m_wastegatePosition0 = scalar, F32, 1688, "per", 1,0 +etbFeedForward0 = scalar, F32, 1692 +etbIntegralError0 = scalar, F32, 1696, "", 1, 0 +etbCurrentTarget0 = scalar, F32, 1700, "%", 1, 0 +etbCurrentAdjustedTarget0 = scalar, F32, 1704, "%", 1, 0 +etbRevLimitActive0 = bits, U32, 1708, [0:0] +jamDetected0 = bits, U32, 1708, [1:1] +etbTpsErrorCounter0 = scalar, U16, 1712, "count", 1,0 +etbPpsErrorCounter0 = scalar, U16, 1714, "count", 1,0 +etbErrorCode0 = scalar, S08, 1716, "", 1, 0 +tcEtbDrop0 = scalar, S08, 1717, "%", 1, 0 +jamTimer0 = scalar, U16, 1718, "sec", 0.01, 0 +adjustedEtbTarget0 = scalar, S08, 1720, "%", 1, 0 +; total TS size = 1724 +targetWithIdlePosition1 = scalar, F32, 1724, "per", 1,0 +trim1 = scalar, F32, 1728, "", 1, 0 +luaAdjustment1 = scalar, F32, 1732, "per", 1,0 +m_wastegatePosition1 = scalar, F32, 1736, "per", 1,0 +etbFeedForward1 = scalar, F32, 1740 +etbIntegralError1 = scalar, F32, 1744, "", 1, 0 +etbCurrentTarget1 = scalar, F32, 1748, "%", 1, 0 +etbCurrentAdjustedTarget1 = scalar, F32, 1752, "%", 1, 0 +etbRevLimitActive1 = bits, U32, 1756, [0:0] +jamDetected1 = bits, U32, 1756, [1:1] +etbTpsErrorCounter1 = scalar, U16, 1760, "count", 1,0 +etbPpsErrorCounter1 = scalar, U16, 1762, "count", 1,0 +etbErrorCode1 = scalar, S08, 1764, "", 1, 0 +tcEtbDrop1 = scalar, S08, 1765, "%", 1, 0 +jamTimer1 = scalar, U16, 1766, "sec", 0.01, 0 +adjustedEtbTarget1 = scalar, S08, 1768, "%", 1, 0 +; total TS size = 1772 +faultCode0 = scalar, U08, 1772, "", 1, 0 +heaterDuty0 = scalar, U08, 1773, "%", 1, 0 +pumpDuty0 = scalar, U08, 1774, "%", 1, 0 +tempC0 = scalar, U16, 1776, "C", 1, 0 +nernstVoltage0 = scalar, U16, 1778, "V", 0.001, 0 +esr0 = scalar, U16, 1780, "ohm", 1, 0 +; total TS size = 1784 +faultCode1 = scalar, U08, 1784, "", 1, 0 +heaterDuty1 = scalar, U08, 1785, "%", 1, 0 +pumpDuty1 = scalar, U08, 1786, "%", 1, 0 +tempC1 = scalar, U16, 1788, "C", 1, 0 +nernstVoltage1 = scalar, U16, 1790, "V", 0.001, 0 +esr1 = scalar, U16, 1792, "ohm", 1, 0 +; total TS size = 1796 +dcOutput0 = scalar, F32, 1796, "per", 1,0 +isEnabled0_int = scalar, U08, 1800, "per", 1,0 +isEnabled0 = bits, U32, 1804, [0:0] +; total TS size = 1808 +value0 = scalar, U16, 1808, "value", 1,0 +value1 = scalar, U16, 1810, "value", 1,0 +errorRate = scalar, F32, 1812, "ratio", 1,0 +; total TS size = 1816 +vvtTarget = scalar, U16, 1816, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1818, "%", 0.5, 0 +; total TS size = 1820 +lambdaCurrentlyGood = bits, U32, 1820, [0:0] +lambdaMonitorCut = bits, U32, 1820, [1:1] +lambdaTimeSinceGood = scalar, U16, 1824, "sec", 0.01, 0 +; total TS size = 1828 time = { timeNow } @@ -3616,6 +3648,7 @@ lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs8 requiresPowerCycle = cylinderBore + requiresPowerCycle = knockFrequency readOnly = warning_message readOnly = device_uid1 @@ -5033,6 +5066,26 @@ gaugeCategory = Knock knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knockSpectrumChannelCylGauge = m_knockSpectrumChannelCyl, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStartGauge = m_knockFrequencyStart, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStepGauge = m_knockFrequencyStep, "Knock Frequency Step", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFuelTrimMultiplier = m_knockFuelTrimMultiplier, "Knock Fuel Trim", "mult", 0, 0, 0, 0, 0, 30, 1, 1 + knockSpectrum1 = m_knockSpectrum1, "Knock Spectrum1", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum2 = m_knockSpectrum2, "knockSpectrum2", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum3 = m_knockSpectrum3, "knockSpectrum3", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum4 = m_knockSpectrum4, "knockSpectrum4", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum5 = m_knockSpectrum5, "knockSpectrum5", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum6 = m_knockSpectrum6, "knockSpectrum6", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum7 = m_knockSpectrum7, "knockSpectrum7", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum8 = m_knockSpectrum8, "knockSpectrum8", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum9 = m_knockSpectrum9, "knockSpectrum9", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum10 = m_knockSpectrum10, "knockSpectrum10", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum11 = m_knockSpectrum11, "knockSpectrum11", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum12 = m_knockSpectrum12, "knockSpectrum12", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum13 = m_knockSpectrum13, "knockSpectrum13", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum14 = m_knockSpectrum14, "knockSpectrum14", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum15 = m_knockSpectrum15, "knockSpectrum15", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum16 = m_knockSpectrum16, "knockSpectrum16", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -5632,6 +5685,26 @@ entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" entry = m_knockCount, "Knock: Count", int, "%d" entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_knockFrequency, "knock: frequency", int, "%d" +entry = m_knockSpectrum1, "Knock: SpectrumData 1", int, "%d" +entry = m_knockSpectrum2, "Knock: SpectrumData 2", int, "%d" +entry = m_knockSpectrum3, "Knock: SpectrumData 3", int, "%d" +entry = m_knockSpectrum4, "Knock: SpectrumData 4", int, "%d" +entry = m_knockSpectrum5, "Knock: SpectrumData 5", int, "%d" +entry = m_knockSpectrum6, "Knock: SpectrumData 6", int, "%d" +entry = m_knockSpectrum7, "Knock: SpectrumData 7", int, "%d" +entry = m_knockSpectrum8, "Knock: SpectrumData 8", int, "%d" +entry = m_knockSpectrum9, "Knock: SpectrumData 9", int, "%d" +entry = m_knockSpectrum10, "Knock: SpectrumData 10", int, "%d" +entry = m_knockSpectrum11, "Knock: SpectrumData 11", int, "%d" +entry = m_knockSpectrum12, "Knock: SpectrumData 12", int, "%d" +entry = m_knockSpectrum13, "Knock: SpectrumData 13", int, "%d" +entry = m_knockSpectrum14, "Knock: SpectrumData 14", int, "%d" +entry = m_knockSpectrum15, "Knock: SpectrumData 15", int, "%d" +entry = m_knockSpectrum16, "Knock: SpectrumData 16", int, "%d" +entry = m_knockSpectrumChannelCyl, "Knock: ChannelAndCylNumber", int, "%d" +entry = m_knockFrequencyStart, "Knock: Start Freq", int, "%d" +entry = m_knockFrequencyStep, "Knock: Step Freq", float, "%.3f" +entry = m_knockFuelTrimMultiplier, "Knock: Fuel trim when knock", float, "%.3f" entry = tcuCurrentGear, "TCU: Current Gear", int, "%d" entry = tcRatio, "TCU: Torque Converter Ratio", float, "%.3f" entry = lastShiftTime, "lastShiftTime", float, "%.3f" @@ -6548,6 +6621,31 @@ dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard graphLine = m_knockFrequency + graphLine = m_knockSpectrum1 + graphLine = m_knockSpectrum2 + liveGraph = knock_controller_6_Graph, "Graph", South + graphLine = m_knockSpectrum3 + graphLine = m_knockSpectrum4 + graphLine = m_knockSpectrum5 + graphLine = m_knockSpectrum6 + liveGraph = knock_controller_7_Graph, "Graph", South + graphLine = m_knockSpectrum7 + graphLine = m_knockSpectrum8 + graphLine = m_knockSpectrum9 + graphLine = m_knockSpectrum10 + liveGraph = knock_controller_8_Graph, "Graph", South + graphLine = m_knockSpectrum11 + graphLine = m_knockSpectrum12 + graphLine = m_knockSpectrum13 + graphLine = m_knockSpectrum14 + liveGraph = knock_controller_9_Graph, "Graph", South + graphLine = m_knockSpectrum15 + graphLine = m_knockSpectrum16 + graphLine = m_knockSpectrumChannelCyl + graphLine = m_knockFrequencyStart + liveGraph = knock_controller_10_Graph, "Graph", South + graphLine = m_knockFrequencyStep + graphLine = m_knockFuelTrimMultiplier indicatorPanel = tcu_controllerIndicatorPanel, 2 indicator = {isShifting}, "isShifting No", "isShifting Yes" @@ -8590,9 +8688,13 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockCfg, "Sense" field = "Enable", enableSoftwareKnock field = "Cylinder Bore", cylinderBore, {enableSoftwareKnock} + field = "Estimated Knock Frequency",knockFrequency, {enableSoftwareKnock} field = "Detection mode", knockDetectionUseDoubleFrequency field = "Detection Window Start",knockDetectionWindowStart, {enableSoftwareKnock} field = "Sampling Duration", knockSamplingDuration, {enableSoftwareKnock} + field = "Enable Knock Spectrogram", enableKnockSpectrogram, {enableSoftwareKnock} + field = "Enable Knock Spectrogram Filter", enableKnockSpectrogramFilter, {enableKnockSpectrogram} + field = "Knock Spectrum Sensitivity", knockSpectrumSensitivity, {enableKnockSpectrogram} field = "" field = "Select the nearest sensor for each cylinder" @@ -8612,6 +8714,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockResponseCfg, "Response" field = knockRetardAggression, knockRetardAggression field = knockRetardReapplyRate, knockRetardReapplyRate + field = knockFuelTrimAggression, knockFuelTrimAggression + field = knockFuelTrimReapplyRate, knockFuelTrimReapplyRate + field = knockFuelTrim, knockFuelTrim + field = knockSuppressMinTps, knockSuppressMinTps dialog = softwareKnockLeft, "" panel = softwareKnockCfg diff --git a/firmware/tunerstudio/generated/rusefi_uaefi121.ini b/firmware/tunerstudio/generated/rusefi_uaefi121.ini index 72a358cc1d..3c18e03385 100644 --- a/firmware/tunerstudio/generated/rusefi_uaefi121.ini +++ b/firmware/tunerstudio/generated/rusefi_uaefi121.ini @@ -38,12 +38,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2024.10.21.uaefi121.2673129580" + signature = "rusEFI master.2024.10.21.uaefi121.3286560935" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2024.10.21.uaefi121.2673129580" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2024.10.21.uaefi121.3286560935" ; signature is expected to be 7 or more characters. ; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C useLegacyFTempUnits = false @@ -96,8 +96,8 @@ enable2ndByteCanID = false #define gpio_list="NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" #define switch_input_pin_e_list="NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" #define output_pin_e_list="NONE","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","49a INJ_6","45a INJ_2","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","Coil 6","86a LS5_HOT","INVALID","INVALID","INVALID","51a INJ_8","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","88a LS4","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","Coil 1","INVALID","INVALID","44a INJ_1","INVALID","48a INJ_5","50a INJ_7","INVALID","INVALID","INVALID","43a High Side Output","INVALID","INVALID","47a INJ_4","46a INJ_3","15a LS2","16a LS3","INVALID","14a LS1","INVALID","INVALID","Coil 5","Coil 4","Coil 3","Coil 2","87a LS6_HOT" -#define brain_input_pin_e_list="NONE","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","VR_DISCRETE+","VR_9924+","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","36a HALL1 / VSS","35a HALL2","34a HALL3" -#define adc_channel_e_list="NONE","INVALID","INVALID","INVALID","90a PPS1","38a TPS1","108a Voltage From Key","INVALID","INVALID","39a TPS2","INVALID","INVALID","INVALID","65a CLT Coolant","63a IAT","91a PPS2" +#define brain_input_pin_e_list="NONE","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","VR_DISCRETE+","VR_9924+","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","FLEX","36a HALL1 / VSS","35a HALL2","34a HALL3" +#define adc_channel_e_list="NONE","AIN 1","AIN 2","INVALID","90a PPS1","38a TPS1","108a Voltage From Key","INVALID","INVALID","39a TPS2","INVALID","MAP","On-board MAP","65a CLT Coolant","63a IAT","91a PPS2" ; CONFIG_DEFINITION_START ; this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt @@ -774,6 +774,7 @@ devBit7 = bits, U32, 1492, [27:27], "false", "true" unusedSkipWasHere = bits, U32, 1492, [28:28], "false", "true" invertExhaustCamVVTSignal = bits, U32, 1492, [29:29], "Rising", "Falling" enableKnockSpectrogram = bits, U32, 1492, [30:30], "false", "true" +enableKnockSpectrogramFilter = bits, U32, 1492, [31:31], "false", "true" afterCrankingIACtaperDuration = scalar, S16, 1496, "cycles", 1, 0, 0, 5000, 0 iacByTpsTaper = scalar, S16, 1498, "percent", 1, 0, 0, 500, 0 unusedAuxSeria = bits, U16, 1500, [0:8], $gpio_list @@ -1394,7 +1395,13 @@ auxLinear4_v1 = scalar, F32, 3880, "volts", 1, 0, 0, 10, 2 auxLinear4_value1 = scalar, F32, 3884, "", 1, 0, -100000, 1000000, 2 auxLinear4_v2 = scalar, F32, 3888, "volts", 1, 0, 0, 10, 2 auxLinear4_value2 = scalar, F32, 3892, "", 1, 0, -100000, 1000000, 2 -unusedOftenChangesDuringFirmwareUpdate = array, U08, 3896, [128], "units", 1, 0, 0, 1, 0 +knockSuppressMinTps = scalar, U08, 3896, "%", 1, 0, 0, 100, 1 +knockFuelTrimAggression = scalar, U08, 3897, "%", 0.1, 0, 0, 20, 1 +knockFuelTrimReapplyRate = scalar, U08, 3898, "deg/s", 0.1, 0, 0, 10, 1 +knockFuelTrim = scalar, U08, 3899, "%", 1, 0, 0, 30, 1 +knockSpectrumSensitivity = scalar, F32, 3900, "sense", 1, 0, 0, 1, 2 +knockFrequency = scalar, F32, 3904, "Hz", 1, 0, 0, 20000, 2 +unusedOftenChangesDuringFirmwareUpdate = array, U08, 3908, [116], "units", 1, 0, 0, 1, 0 postCrankingFactor = array, F32, 4024, [6x6], "mult", 1, 0, 1, 3, 2 postCrankingDurationBins = array, F32, 4168, [6], "count", 1, 0, 0, 1000, 0 postCrankingCLTBins = array, S16, 4192, [6], "C", 1, 0, -100, 250, 0 @@ -2448,6 +2455,11 @@ minimumOilPressureValues = array, U08, 22960, [8], "kPa", 10.0, 0, 0, 1000, 0 minAcPressure = "value of A/C pressure in kPa before that compressor is disengaged" maxAcPressure = "value of A/C pressure in kPa after that compressor is disengaged" minimumOilPressureTimeout = "Delay before cutting fuel due to low oil pressure. Use this to ignore short pressure blips and sensor noise." + knockSuppressMinTps = "Below TPS value all knock suppression will be disabled." + knockFuelTrimAggression = "Fuel to odd when a knock event occurs. Advice: 5% (mild), 10% (turbo/high comp.), 15% (high knock, e.g. GDI), 20% (spicy lump)," + knockFuelTrimReapplyRate = "After a knock event, reapply fuel at this rate." + knockFuelTrim = "Fuel trim when knock, max 30%" + knockFrequency = "Estimated knock frequency, ignore cylinderBore if this one > 0" etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, open loop component of PID closed loop control" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2560,7 +2572,7 @@ minimumOilPressureValues = array, U08, 22960, [8], "kPa", 10.0, 0, 0, 1000, 0 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1752 + ochBlockSize = 1828 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3101,370 +3113,390 @@ m_knockThreshold = scalar, F32, 960, "", 1, 0 m_knockCount = scalar, U32, 964, "", 1, 0 m_maximumRetard = scalar, F32, 968, "", 1, 0 m_knockFrequency = scalar, U32, 972, "Hz", 1, 0 -; total TS size = 976 -tcuCurrentGear = scalar, S08, 976, "gear", 1, 0 -tcRatio = scalar, U16, 978, "value", 0.01, 0 -lastShiftTime = scalar, F32, 980, "", 1, 0 -tcu_currentRange = scalar, U08, 984, "", 1, 0 -pressureControlDuty = scalar, S08, 985, "%", 1,0 -torqueConverterDuty = scalar, S08, 986, "%", 1,0 -isShifting = bits, U32, 988, [0:0] -; total TS size = 992 -throttleUseWotModel = bits, U32, 992, [0:0] -throttleModelCrossoverAngle = scalar, S16, 996, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1000, "g/s", 1, 0 -; total TS size = 1004 -m_requested_pump = scalar, F32, 1004, "", 1, 0 -fuel_requested_percent = scalar, F32, 1008, "", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1012, "", 1, 0 -noValve = bits, U32, 1016, [0:0] -angleAboveMin = bits, U32, 1016, [1:1] -isHpfpInactive = bits, U32, 1016, [2:2] -m_pressureTarget_kPa = scalar, F32, 1020, "", 1, 0 -nextLobe = scalar, F32, 1024, "", 1, 0 -di_nextStart = scalar, F32, 1028, "v", 1, 0 -; total TS size = 1032 -m_deadtime = scalar, F32, 1032, "ms", 1, 0 -pressureDelta = scalar, F32, 1036, "kPa", 1, 0 -pressureRatio = scalar, F32, 1040, "", 1, 0 -; total TS size = 1044 -retardThresholdRpm = scalar, S32, 1044, "", 1, 0 -launchActivatePinState = bits, U32, 1048, [0:0] -isPreLaunchCondition = bits, U32, 1048, [1:1] -isLaunchCondition = bits, U32, 1048, [2:2] -isSwitchActivated = bits, U32, 1048, [3:3] -isClutchActivated = bits, U32, 1048, [4:4] -isBrakePedalActivated = bits, U32, 1048, [5:5] -isValidInputPin = bits, U32, 1048, [6:6] -activateSwitchCondition = bits, U32, 1048, [7:7] -rpmLaunchCondition = bits, U32, 1048, [8:8] -rpmPreLaunchCondition = bits, U32, 1048, [9:9] -speedCondition = bits, U32, 1048, [10:10] -tpsCondition = bits, U32, 1048, [11:11] +m_knockSpectrum1 = scalar, U32, 976, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 980, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 984, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 988, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1040, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1042, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1044, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1048, "multiplier", 1, 0 ; total TS size = 1052 -isTorqueReductionTriggerPinValid = bits, U32, 1052, [0:0] -torqueReductionTriggerPinState = bits, U32, 1052, [1:1] -isTimeConditionSatisfied = bits, U32, 1052, [2:2] -isRpmConditionSatisfied = bits, U32, 1052, [3:3] -isAppConditionSatisfied = bits, U32, 1052, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1052, [5:5] -; total TS size = 1056 -isAntilagCondition = bits, U32, 1056, [0:0] -ALSMinRPMCondition = bits, U32, 1056, [1:1] -ALSMaxRPMCondition = bits, U32, 1056, [2:2] -ALSMinCLTCondition = bits, U32, 1056, [3:3] -ALSMaxCLTCondition = bits, U32, 1056, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1056, [5:5] -isALSSwitchActivated = bits, U32, 1056, [6:6] -ALSActivatePinState = bits, U32, 1056, [7:7] -ALSSwitchCondition = bits, U32, 1056, [8:8] -ALSTimerCondition = bits, U32, 1056, [9:9] -fuelALSCorrection = scalar, F32, 1060, "", 1, 0 -timingALSCorrection = scalar, S16, 1064, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1066, "deg", 0.01, 0 +tcuCurrentGear = scalar, S08, 1052, "gear", 1, 0 +tcRatio = scalar, U16, 1054, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1056, "", 1, 0 +tcu_currentRange = scalar, U08, 1060, "", 1, 0 +pressureControlDuty = scalar, S08, 1061, "%", 1,0 +torqueConverterDuty = scalar, S08, 1062, "%", 1,0 +isShifting = bits, U32, 1064, [0:0] ; total TS size = 1068 -isTpsInvalid = bits, U32, 1068, [0:0] -m_shouldResetPid = bits, U32, 1068, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1068, [2:2] -isNotClosedLoop = bits, U32, 1068, [3:3] -isZeroRpm = bits, U32, 1068, [4:4] -hasInitBoost = bits, U32, 1068, [5:5] -rpmTooLow = bits, U32, 1068, [6:6] -tpsTooLow = bits, U32, 1068, [7:7] -mapTooLow = bits, U32, 1068, [8:8] -isPlantValid = bits, U32, 1068, [9:9] -isBoostControlled = bits, U32, 1068, [10:10] -luaTargetAdd = scalar, S16, 1072, "v", 0.5,0 -boostOutput = scalar, S16, 1074, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1076, "v", 1,0 -openLoopPart = scalar, F32, 1080, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1084, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1088, "%", 0.5,0 -boostControlTarget = scalar, S16, 1090, "kPa", 0.03333333333333333,0 -; total TS size = 1092 -acButtonState = scalar, S08, 1092, "", 1, 0 -m_acEnabled = bits, U32, 1096, [0:0] -engineTooSlow = bits, U32, 1096, [1:1] -engineTooFast = bits, U32, 1096, [2:2] -noClt = bits, U32, 1096, [3:3] -engineTooHot = bits, U32, 1096, [4:4] -tpsTooHigh = bits, U32, 1096, [5:5] -isDisabledByLua = bits, U32, 1096, [6:6] -acCompressorState = bits, U32, 1096, [7:7] -acPressureTooLow = bits, U32, 1096, [8:8] -acPressureTooHigh = bits, U32, 1096, [9:9] -; total TS size = 1100 -cranking0 = bits, U32, 1100, [0:0] -notRunning0 = bits, U32, 1100, [1:1] -disabledWhileEngineStopped0 = bits, U32, 1100, [2:2] -brokenClt0 = bits, U32, 1100, [3:3] -enabledForAc0 = bits, U32, 1100, [4:4] -hot0 = bits, U32, 1100, [5:5] -cold0 = bits, U32, 1100, [6:6] -disabledBySpeed0 = bits, U32, 1100, [7:7] -radiatorFanStatus0 = scalar, U08, 1104, "", 1, 0 +throttleUseWotModel = bits, U32, 1068, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1072, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1076, "g/s", 1, 0 +; total TS size = 1080 +m_requested_pump = scalar, F32, 1080, "", 1, 0 +fuel_requested_percent = scalar, F32, 1084, "", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1088, "", 1, 0 +noValve = bits, U32, 1092, [0:0] +angleAboveMin = bits, U32, 1092, [1:1] +isHpfpInactive = bits, U32, 1092, [2:2] +m_pressureTarget_kPa = scalar, F32, 1096, "", 1, 0 +nextLobe = scalar, F32, 1100, "", 1, 0 +di_nextStart = scalar, F32, 1104, "v", 1, 0 ; total TS size = 1108 -cranking1 = bits, U32, 1108, [0:0] -notRunning1 = bits, U32, 1108, [1:1] -disabledWhileEngineStopped1 = bits, U32, 1108, [2:2] -brokenClt1 = bits, U32, 1108, [3:3] -enabledForAc1 = bits, U32, 1108, [4:4] -hot1 = bits, U32, 1108, [5:5] -cold1 = bits, U32, 1108, [6:6] -disabledBySpeed1 = bits, U32, 1108, [7:7] -radiatorFanStatus1 = scalar, U08, 1112, "", 1, 0 -; total TS size = 1116 -isPrime = bits, U32, 1116, [0:0] -engineTurnedRecently = bits, U32, 1116, [1:1] -isFuelPumpOn = bits, U32, 1116, [2:2] -ignitionOn = bits, U32, 1116, [3:3] +m_deadtime = scalar, F32, 1108, "ms", 1, 0 +pressureDelta = scalar, F32, 1112, "kPa", 1, 0 +pressureRatio = scalar, F32, 1116, "", 1, 0 ; total TS size = 1120 -isBenchTest = bits, U32, 1120, [0:0] -hasIgnitionVoltage = bits, U32, 1120, [1:1] -mainRelayState = bits, U32, 1120, [2:2] -delayedShutoffRequested = bits, U32, 1120, [3:3] -; total TS size = 1124 -lua_fuelAdd = scalar, F32, 1124, "g", 1, 0 -lua_fuelMult = scalar, F32, 1128, "", 1, 0 -lua_clutchUpState = bits, U32, 1132, [0:0] -lua_brakePedalState = bits, U32, 1132, [1:1] -lua_acRequestState = bits, U32, 1132, [2:2] -lua_luaDisableEtb = bits, U32, 1132, [3:3] -lua_luaIgnCut = bits, U32, 1132, [4:4] -lua_luaFuelCut = bits, U32, 1132, [5:5] -lua_clutchDownState = bits, U32, 1132, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1132, [7:7] -sd_tCharge = scalar, S16, 1136, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1140, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1144, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1148, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1152, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1156, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1160, "", 1, 0 -hellenBoardId = scalar, S16, 1164, "id", 1, 0 -clutchUpState = scalar, S08, 1166, "", 1, 0 -clutchDownState = scalar, S08, 1167, "", 1, 0 -brakePedalState = scalar, S08, 1168, "", 1, 0 -startStopState = scalar, S08, 1169, "", 1, 0 -smartChipState = scalar, S08, 1170, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1171, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1172, "", 1, 0 -startStopPhysicalState = bits, U32, 1176, [0:0] -acrActive = bits, U32, 1176, [1:1] -acrEngineMovedRecently = bits, U32, 1176, [2:2] -heaterControlEnabled = bits, U32, 1176, [3:3] -luaDigitalState0 = bits, U32, 1176, [4:4] -luaDigitalState1 = bits, U32, 1176, [5:5] -luaDigitalState2 = bits, U32, 1176, [6:6] -luaDigitalState3 = bits, U32, 1176, [7:7] -startStopStateToggleCounter = scalar, U32, 1180, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1184, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1188, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1192, "", 1, 0 -desiredRpmLimit = scalar, S16, 1196, "rpm", 1, 0 -fuelInjectionCounter = scalar, U32, 1200, "", 1, 0 -globalSparkCounter = scalar, U32, 1204, "", 1, 0 -fuelingLoad = scalar, F32, 1208, "", 1, 0 -ignitionLoad = scalar, F32, 1212, "", 1, 0 -veTableYAxis = scalar, U16, 1216, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1218, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1219, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1220, "", 1, 0 -; total TS size = 1224 -tpsFrom = scalar, F32, 1224 -tpsTo = scalar, F32, 1228 -deltaTps = scalar, F32, 1232 -extraFuel = scalar, F32, 1236, "", 1, 0 -valueFromTable = scalar, F32, 1240, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1244, [0:0] -isBelowDecelThreshold = bits, U32, 1244, [1:1] -isTimeToResetAccumulator = bits, U32, 1244, [2:2] -isFractionalEnrichment = bits, U32, 1244, [3:3] -belowEpsilon = bits, U32, 1244, [4:4] -tooShort = bits, U32, 1244, [5:5] -fractionalInjFuel = scalar, F32, 1248, "", 1, 0 -accumulatedValue = scalar, F32, 1252, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1256, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1260, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1264, "", 1, 0 -cycleCnt = scalar, S32, 1268, "", 1, 0 -; total TS size = 1272 -hwEventCounters1 = scalar, U32, 1272, "", 1, 0 -hwEventCounters2 = scalar, U32, 1276, "", 1, 0 -hwEventCounters3 = scalar, U32, 1280, "", 1, 0 -hwEventCounters4 = scalar, U32, 1284, "", 1, 0 -hwEventCounters5 = scalar, U32, 1288, "", 1, 0 -hwEventCounters6 = scalar, U32, 1292, "", 1, 0 -vvtCamCounter = scalar, U32, 1296, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1300, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1304, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1308, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1309, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1312, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1316, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1320, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1324, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1328, [0:0] -triggerElapsedUs = scalar, U32, 1332, "", 1, 0 -; total TS size = 1336 -crankSynchronizationCounter0 = scalar, U32, 1336, "", 1, 0 -vvtSyncGapRatio0 = scalar, F32, 1340, "", 1, 0 -vvtToothDurations00 = scalar, U32, 1344, "us", 1, 0 -vvtCurrentPosition0 = scalar, F32, 1348, "sync: Primary Cam Position", 1, 0 -vvtToothPosition10 = scalar, F32, 1352, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition20 = scalar, F32, 1356, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition30 = scalar, F32, 1360, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition40 = scalar, F32, 1364, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio0 = scalar, F32, 1368, "", 1, 0 -triggerStateIndex0 = scalar, U08, 1372, "", 1, 0 -vvtStateIndex0 = scalar, U08, 1373, "", 1, 0 -; total TS size = 1376 -crankSynchronizationCounter1 = scalar, U32, 1376, "", 1, 0 -vvtSyncGapRatio1 = scalar, F32, 1380, "", 1, 0 -vvtToothDurations01 = scalar, U32, 1384, "us", 1, 0 -vvtCurrentPosition1 = scalar, F32, 1388, "sync: Primary Cam Position", 1, 0 -vvtToothPosition11 = scalar, F32, 1392, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition21 = scalar, F32, 1396, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition31 = scalar, F32, 1400, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition41 = scalar, F32, 1404, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio1 = scalar, F32, 1408, "", 1, 0 -triggerStateIndex1 = scalar, U08, 1412, "", 1, 0 -vvtStateIndex1 = scalar, U08, 1413, "", 1, 0 -; total TS size = 1416 -crankSynchronizationCounter2 = scalar, U32, 1416, "", 1, 0 -vvtSyncGapRatio2 = scalar, F32, 1420, "", 1, 0 -vvtToothDurations02 = scalar, U32, 1424, "us", 1, 0 -vvtCurrentPosition2 = scalar, F32, 1428, "sync: Primary Cam Position", 1, 0 -vvtToothPosition12 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition22 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition32 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition42 = scalar, F32, 1444, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio2 = scalar, F32, 1448, "", 1, 0 -triggerStateIndex2 = scalar, U08, 1452, "", 1, 0 -vvtStateIndex2 = scalar, U08, 1453, "", 1, 0 -; total TS size = 1456 -crankSynchronizationCounter3 = scalar, U32, 1456, "", 1, 0 -vvtSyncGapRatio3 = scalar, F32, 1460, "", 1, 0 -vvtToothDurations03 = scalar, U32, 1464, "us", 1, 0 -vvtCurrentPosition3 = scalar, F32, 1468, "sync: Primary Cam Position", 1, 0 -vvtToothPosition13 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition23 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition33 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition43 = scalar, F32, 1484, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio3 = scalar, F32, 1488, "", 1, 0 -triggerStateIndex3 = scalar, U08, 1492, "", 1, 0 -vvtStateIndex3 = scalar, U08, 1493, "", 1, 0 -; total TS size = 1496 -crankSynchronizationCounter4 = scalar, U32, 1496, "", 1, 0 -vvtSyncGapRatio4 = scalar, F32, 1500, "", 1, 0 -vvtToothDurations04 = scalar, U32, 1504, "us", 1, 0 -vvtCurrentPosition4 = scalar, F32, 1508, "sync: Primary Cam Position", 1, 0 -vvtToothPosition14 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition24 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition34 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 -vvtToothPosition44 = scalar, F32, 1524, "sync: Cam Tooth Position", 1, 0 -triggerSyncGapRatio4 = scalar, F32, 1528, "", 1, 0 -triggerStateIndex4 = scalar, U08, 1532, "", 1, 0 -vvtStateIndex4 = scalar, U08, 1533, "", 1, 0 -; total TS size = 1536 -camResyncCounter = scalar, U08, 1536, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1540, [0:0] -; total TS size = 1544 -wallFuelCorrection = scalar, F32, 1544, "", 1, 0 -wallFuel = scalar, F32, 1548, "", 1, 0 -; total TS size = 1552 -idleState = bits, S32, 1552, [0:2], "not important" -currentIdlePosition = scalar, F32, 1556 -baseIdlePosition = scalar, F32, 1560 -idleClosedLoop = scalar, F32, 1564 -iacByTpsTaper = scalar, F32, 1568 -throttlePedalUpState = scalar, S32, 1572, "", 1, 0 -mightResetPid = bits, U32, 1576, [0:0] -shouldResetPid = bits, U32, 1576, [1:1] -wasResetPid = bits, U32, 1576, [2:2] -mustResetPid = bits, U32, 1576, [3:3] -isCranking = bits, U32, 1576, [4:4] -isIacTableForCoasting = bits, U32, 1576, [5:5] -notIdling = bits, U32, 1576, [6:6] -needReset = bits, U32, 1576, [7:7] -isInDeadZone = bits, U32, 1576, [8:8] -isBlipping = bits, U32, 1576, [9:9] -useClosedLoop = bits, U32, 1576, [10:10] -badTps = bits, U32, 1576, [11:11] -looksLikeRunning = bits, U32, 1576, [12:12] -looksLikeCoasting = bits, U32, 1576, [13:13] -looksLikeCrankToIdle = bits, U32, 1576, [14:14] -isIdleCoasting = bits, U32, 1576, [15:15] -isIdleClosedLoop = bits, U32, 1576, [16:16] -idleTarget = scalar, S32, 1580, "", 1, 0 -targetRpmByClt = scalar, S32, 1584, "", 1, 0 -targetRpmAc = scalar, S32, 1588, "", 1, 0 -iacByRpmTaper = scalar, F32, 1592 -luaAdd = scalar, F32, 1596 -; total TS size = 1600 -targetWithIdlePosition0 = scalar, F32, 1600, "per", 1,0 -trim0 = scalar, F32, 1604, "", 1, 0 -luaAdjustment0 = scalar, F32, 1608, "per", 1,0 -m_wastegatePosition0 = scalar, F32, 1612, "per", 1,0 -etbFeedForward0 = scalar, F32, 1616 -etbIntegralError0 = scalar, F32, 1620, "", 1, 0 -etbCurrentTarget0 = scalar, F32, 1624, "%", 1, 0 -etbCurrentAdjustedTarget0 = scalar, F32, 1628, "%", 1, 0 -etbRevLimitActive0 = bits, U32, 1632, [0:0] -jamDetected0 = bits, U32, 1632, [1:1] -etbTpsErrorCounter0 = scalar, U16, 1636, "count", 1,0 -etbPpsErrorCounter0 = scalar, U16, 1638, "count", 1,0 -etbErrorCode0 = scalar, S08, 1640, "", 1, 0 -tcEtbDrop0 = scalar, S08, 1641, "%", 1, 0 -jamTimer0 = scalar, U16, 1642, "sec", 0.01, 0 -adjustedEtbTarget0 = scalar, S08, 1644, "%", 1, 0 -; total TS size = 1648 -targetWithIdlePosition1 = scalar, F32, 1648, "per", 1,0 -trim1 = scalar, F32, 1652, "", 1, 0 -luaAdjustment1 = scalar, F32, 1656, "per", 1,0 -m_wastegatePosition1 = scalar, F32, 1660, "per", 1,0 -etbFeedForward1 = scalar, F32, 1664 -etbIntegralError1 = scalar, F32, 1668, "", 1, 0 -etbCurrentTarget1 = scalar, F32, 1672, "%", 1, 0 -etbCurrentAdjustedTarget1 = scalar, F32, 1676, "%", 1, 0 -etbRevLimitActive1 = bits, U32, 1680, [0:0] -jamDetected1 = bits, U32, 1680, [1:1] -etbTpsErrorCounter1 = scalar, U16, 1684, "count", 1,0 -etbPpsErrorCounter1 = scalar, U16, 1686, "count", 1,0 -etbErrorCode1 = scalar, S08, 1688, "", 1, 0 -tcEtbDrop1 = scalar, S08, 1689, "%", 1, 0 -jamTimer1 = scalar, U16, 1690, "sec", 0.01, 0 -adjustedEtbTarget1 = scalar, S08, 1692, "%", 1, 0 -; total TS size = 1696 -faultCode0 = scalar, U08, 1696, "", 1, 0 -heaterDuty0 = scalar, U08, 1697, "%", 1, 0 -pumpDuty0 = scalar, U08, 1698, "%", 1, 0 -tempC0 = scalar, U16, 1700, "C", 1, 0 -nernstVoltage0 = scalar, U16, 1702, "V", 0.001, 0 -esr0 = scalar, U16, 1704, "ohm", 1, 0 -; total TS size = 1708 -faultCode1 = scalar, U08, 1708, "", 1, 0 -heaterDuty1 = scalar, U08, 1709, "%", 1, 0 -pumpDuty1 = scalar, U08, 1710, "%", 1, 0 -tempC1 = scalar, U16, 1712, "C", 1, 0 -nernstVoltage1 = scalar, U16, 1714, "V", 0.001, 0 -esr1 = scalar, U16, 1716, "ohm", 1, 0 -; total TS size = 1720 -dcOutput0 = scalar, F32, 1720, "per", 1,0 -isEnabled0_int = scalar, U08, 1724, "per", 1,0 -isEnabled0 = bits, U32, 1728, [0:0] -; total TS size = 1732 -value0 = scalar, U16, 1732, "value", 1,0 -value1 = scalar, U16, 1734, "value", 1,0 -errorRate = scalar, F32, 1736, "ratio", 1,0 -; total TS size = 1740 -vvtTarget = scalar, U16, 1740, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1742, "%", 0.5, 0 -; total TS size = 1744 -lambdaCurrentlyGood = bits, U32, 1744, [0:0] -lambdaMonitorCut = bits, U32, 1744, [1:1] -lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 -; total TS size = 1752 +retardThresholdRpm = scalar, S32, 1120, "", 1, 0 +launchActivatePinState = bits, U32, 1124, [0:0] +isPreLaunchCondition = bits, U32, 1124, [1:1] +isLaunchCondition = bits, U32, 1124, [2:2] +isSwitchActivated = bits, U32, 1124, [3:3] +isClutchActivated = bits, U32, 1124, [4:4] +isBrakePedalActivated = bits, U32, 1124, [5:5] +isValidInputPin = bits, U32, 1124, [6:6] +activateSwitchCondition = bits, U32, 1124, [7:7] +rpmLaunchCondition = bits, U32, 1124, [8:8] +rpmPreLaunchCondition = bits, U32, 1124, [9:9] +speedCondition = bits, U32, 1124, [10:10] +tpsCondition = bits, U32, 1124, [11:11] +; total TS size = 1128 +isTorqueReductionTriggerPinValid = bits, U32, 1128, [0:0] +torqueReductionTriggerPinState = bits, U32, 1128, [1:1] +isTimeConditionSatisfied = bits, U32, 1128, [2:2] +isRpmConditionSatisfied = bits, U32, 1128, [3:3] +isAppConditionSatisfied = bits, U32, 1128, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1128, [5:5] +; total TS size = 1132 +isAntilagCondition = bits, U32, 1132, [0:0] +ALSMinRPMCondition = bits, U32, 1132, [1:1] +ALSMaxRPMCondition = bits, U32, 1132, [2:2] +ALSMinCLTCondition = bits, U32, 1132, [3:3] +ALSMaxCLTCondition = bits, U32, 1132, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1132, [5:5] +isALSSwitchActivated = bits, U32, 1132, [6:6] +ALSActivatePinState = bits, U32, 1132, [7:7] +ALSSwitchCondition = bits, U32, 1132, [8:8] +ALSTimerCondition = bits, U32, 1132, [9:9] +fuelALSCorrection = scalar, F32, 1136, "", 1, 0 +timingALSCorrection = scalar, S16, 1140, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1142, "deg", 0.01, 0 +; total TS size = 1144 +isTpsInvalid = bits, U32, 1144, [0:0] +m_shouldResetPid = bits, U32, 1144, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1144, [2:2] +isNotClosedLoop = bits, U32, 1144, [3:3] +isZeroRpm = bits, U32, 1144, [4:4] +hasInitBoost = bits, U32, 1144, [5:5] +rpmTooLow = bits, U32, 1144, [6:6] +tpsTooLow = bits, U32, 1144, [7:7] +mapTooLow = bits, U32, 1144, [8:8] +isPlantValid = bits, U32, 1144, [9:9] +isBoostControlled = bits, U32, 1144, [10:10] +luaTargetAdd = scalar, S16, 1148, "v", 0.5,0 +boostOutput = scalar, S16, 1150, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1152, "v", 1,0 +openLoopPart = scalar, F32, 1156, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1160, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1164, "%", 0.5,0 +boostControlTarget = scalar, S16, 1166, "kPa", 0.03333333333333333,0 +; total TS size = 1168 +acButtonState = scalar, S08, 1168, "", 1, 0 +m_acEnabled = bits, U32, 1172, [0:0] +engineTooSlow = bits, U32, 1172, [1:1] +engineTooFast = bits, U32, 1172, [2:2] +noClt = bits, U32, 1172, [3:3] +engineTooHot = bits, U32, 1172, [4:4] +tpsTooHigh = bits, U32, 1172, [5:5] +isDisabledByLua = bits, U32, 1172, [6:6] +acCompressorState = bits, U32, 1172, [7:7] +acPressureTooLow = bits, U32, 1172, [8:8] +acPressureTooHigh = bits, U32, 1172, [9:9] +; total TS size = 1176 +cranking0 = bits, U32, 1176, [0:0] +notRunning0 = bits, U32, 1176, [1:1] +disabledWhileEngineStopped0 = bits, U32, 1176, [2:2] +brokenClt0 = bits, U32, 1176, [3:3] +enabledForAc0 = bits, U32, 1176, [4:4] +hot0 = bits, U32, 1176, [5:5] +cold0 = bits, U32, 1176, [6:6] +disabledBySpeed0 = bits, U32, 1176, [7:7] +radiatorFanStatus0 = scalar, U08, 1180, "", 1, 0 +; total TS size = 1184 +cranking1 = bits, U32, 1184, [0:0] +notRunning1 = bits, U32, 1184, [1:1] +disabledWhileEngineStopped1 = bits, U32, 1184, [2:2] +brokenClt1 = bits, U32, 1184, [3:3] +enabledForAc1 = bits, U32, 1184, [4:4] +hot1 = bits, U32, 1184, [5:5] +cold1 = bits, U32, 1184, [6:6] +disabledBySpeed1 = bits, U32, 1184, [7:7] +radiatorFanStatus1 = scalar, U08, 1188, "", 1, 0 +; total TS size = 1192 +isPrime = bits, U32, 1192, [0:0] +engineTurnedRecently = bits, U32, 1192, [1:1] +isFuelPumpOn = bits, U32, 1192, [2:2] +ignitionOn = bits, U32, 1192, [3:3] +; total TS size = 1196 +isBenchTest = bits, U32, 1196, [0:0] +hasIgnitionVoltage = bits, U32, 1196, [1:1] +mainRelayState = bits, U32, 1196, [2:2] +delayedShutoffRequested = bits, U32, 1196, [3:3] +; total TS size = 1200 +lua_fuelAdd = scalar, F32, 1200, "g", 1, 0 +lua_fuelMult = scalar, F32, 1204, "", 1, 0 +lua_clutchUpState = bits, U32, 1208, [0:0] +lua_brakePedalState = bits, U32, 1208, [1:1] +lua_acRequestState = bits, U32, 1208, [2:2] +lua_luaDisableEtb = bits, U32, 1208, [3:3] +lua_luaIgnCut = bits, U32, 1208, [4:4] +lua_luaFuelCut = bits, U32, 1208, [5:5] +lua_clutchDownState = bits, U32, 1208, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1208, [7:7] +sd_tCharge = scalar, S16, 1212, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1216, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1220, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1224, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1228, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1232, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1236, "", 1, 0 +hellenBoardId = scalar, S16, 1240, "id", 1, 0 +clutchUpState = scalar, S08, 1242, "", 1, 0 +clutchDownState = scalar, S08, 1243, "", 1, 0 +brakePedalState = scalar, S08, 1244, "", 1, 0 +startStopState = scalar, S08, 1245, "", 1, 0 +smartChipState = scalar, S08, 1246, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1247, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1248, "", 1, 0 +startStopPhysicalState = bits, U32, 1252, [0:0] +acrActive = bits, U32, 1252, [1:1] +acrEngineMovedRecently = bits, U32, 1252, [2:2] +heaterControlEnabled = bits, U32, 1252, [3:3] +luaDigitalState0 = bits, U32, 1252, [4:4] +luaDigitalState1 = bits, U32, 1252, [5:5] +luaDigitalState2 = bits, U32, 1252, [6:6] +luaDigitalState3 = bits, U32, 1252, [7:7] +startStopStateToggleCounter = scalar, U32, 1256, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1260, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1264, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1268, "", 1, 0 +desiredRpmLimit = scalar, S16, 1272, "rpm", 1, 0 +fuelInjectionCounter = scalar, U32, 1276, "", 1, 0 +globalSparkCounter = scalar, U32, 1280, "", 1, 0 +fuelingLoad = scalar, F32, 1284, "", 1, 0 +ignitionLoad = scalar, F32, 1288, "", 1, 0 +veTableYAxis = scalar, U16, 1292, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1294, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1295, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1296, "", 1, 0 +; total TS size = 1300 +tpsFrom = scalar, F32, 1300 +tpsTo = scalar, F32, 1304 +deltaTps = scalar, F32, 1308 +extraFuel = scalar, F32, 1312, "", 1, 0 +valueFromTable = scalar, F32, 1316, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1320, [0:0] +isBelowDecelThreshold = bits, U32, 1320, [1:1] +isTimeToResetAccumulator = bits, U32, 1320, [2:2] +isFractionalEnrichment = bits, U32, 1320, [3:3] +belowEpsilon = bits, U32, 1320, [4:4] +tooShort = bits, U32, 1320, [5:5] +fractionalInjFuel = scalar, F32, 1324, "", 1, 0 +accumulatedValue = scalar, F32, 1328, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1332, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1336, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1340, "", 1, 0 +cycleCnt = scalar, S32, 1344, "", 1, 0 +; total TS size = 1348 +hwEventCounters1 = scalar, U32, 1348, "", 1, 0 +hwEventCounters2 = scalar, U32, 1352, "", 1, 0 +hwEventCounters3 = scalar, U32, 1356, "", 1, 0 +hwEventCounters4 = scalar, U32, 1360, "", 1, 0 +hwEventCounters5 = scalar, U32, 1364, "", 1, 0 +hwEventCounters6 = scalar, U32, 1368, "", 1, 0 +vvtCamCounter = scalar, U32, 1372, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1376, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1380, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1384, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1385, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1388, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1392, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1396, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1400, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1404, [0:0] +triggerElapsedUs = scalar, U32, 1408, "", 1, 0 +; total TS size = 1412 +crankSynchronizationCounter0 = scalar, U32, 1412, "", 1, 0 +vvtSyncGapRatio0 = scalar, F32, 1416, "", 1, 0 +vvtToothDurations00 = scalar, U32, 1420, "us", 1, 0 +vvtCurrentPosition0 = scalar, F32, 1424, "sync: Primary Cam Position", 1, 0 +vvtToothPosition10 = scalar, F32, 1428, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition20 = scalar, F32, 1432, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition30 = scalar, F32, 1436, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition40 = scalar, F32, 1440, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio0 = scalar, F32, 1444, "", 1, 0 +triggerStateIndex0 = scalar, U08, 1448, "", 1, 0 +vvtStateIndex0 = scalar, U08, 1449, "", 1, 0 +; total TS size = 1452 +crankSynchronizationCounter1 = scalar, U32, 1452, "", 1, 0 +vvtSyncGapRatio1 = scalar, F32, 1456, "", 1, 0 +vvtToothDurations01 = scalar, U32, 1460, "us", 1, 0 +vvtCurrentPosition1 = scalar, F32, 1464, "sync: Primary Cam Position", 1, 0 +vvtToothPosition11 = scalar, F32, 1468, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition21 = scalar, F32, 1472, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition31 = scalar, F32, 1476, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition41 = scalar, F32, 1480, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio1 = scalar, F32, 1484, "", 1, 0 +triggerStateIndex1 = scalar, U08, 1488, "", 1, 0 +vvtStateIndex1 = scalar, U08, 1489, "", 1, 0 +; total TS size = 1492 +crankSynchronizationCounter2 = scalar, U32, 1492, "", 1, 0 +vvtSyncGapRatio2 = scalar, F32, 1496, "", 1, 0 +vvtToothDurations02 = scalar, U32, 1500, "us", 1, 0 +vvtCurrentPosition2 = scalar, F32, 1504, "sync: Primary Cam Position", 1, 0 +vvtToothPosition12 = scalar, F32, 1508, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition22 = scalar, F32, 1512, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition32 = scalar, F32, 1516, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition42 = scalar, F32, 1520, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio2 = scalar, F32, 1524, "", 1, 0 +triggerStateIndex2 = scalar, U08, 1528, "", 1, 0 +vvtStateIndex2 = scalar, U08, 1529, "", 1, 0 +; total TS size = 1532 +crankSynchronizationCounter3 = scalar, U32, 1532, "", 1, 0 +vvtSyncGapRatio3 = scalar, F32, 1536, "", 1, 0 +vvtToothDurations03 = scalar, U32, 1540, "us", 1, 0 +vvtCurrentPosition3 = scalar, F32, 1544, "sync: Primary Cam Position", 1, 0 +vvtToothPosition13 = scalar, F32, 1548, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition23 = scalar, F32, 1552, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition33 = scalar, F32, 1556, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition43 = scalar, F32, 1560, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio3 = scalar, F32, 1564, "", 1, 0 +triggerStateIndex3 = scalar, U08, 1568, "", 1, 0 +vvtStateIndex3 = scalar, U08, 1569, "", 1, 0 +; total TS size = 1572 +crankSynchronizationCounter4 = scalar, U32, 1572, "", 1, 0 +vvtSyncGapRatio4 = scalar, F32, 1576, "", 1, 0 +vvtToothDurations04 = scalar, U32, 1580, "us", 1, 0 +vvtCurrentPosition4 = scalar, F32, 1584, "sync: Primary Cam Position", 1, 0 +vvtToothPosition14 = scalar, F32, 1588, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition24 = scalar, F32, 1592, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition34 = scalar, F32, 1596, "sync: Cam Tooth Position", 1, 0 +vvtToothPosition44 = scalar, F32, 1600, "sync: Cam Tooth Position", 1, 0 +triggerSyncGapRatio4 = scalar, F32, 1604, "", 1, 0 +triggerStateIndex4 = scalar, U08, 1608, "", 1, 0 +vvtStateIndex4 = scalar, U08, 1609, "", 1, 0 +; total TS size = 1612 +camResyncCounter = scalar, U08, 1612, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1616, [0:0] +; total TS size = 1620 +wallFuelCorrection = scalar, F32, 1620, "", 1, 0 +wallFuel = scalar, F32, 1624, "", 1, 0 +; total TS size = 1628 +idleState = bits, S32, 1628, [0:2], "not important" +currentIdlePosition = scalar, F32, 1632 +baseIdlePosition = scalar, F32, 1636 +idleClosedLoop = scalar, F32, 1640 +iacByTpsTaper = scalar, F32, 1644 +throttlePedalUpState = scalar, S32, 1648, "", 1, 0 +mightResetPid = bits, U32, 1652, [0:0] +shouldResetPid = bits, U32, 1652, [1:1] +wasResetPid = bits, U32, 1652, [2:2] +mustResetPid = bits, U32, 1652, [3:3] +isCranking = bits, U32, 1652, [4:4] +isIacTableForCoasting = bits, U32, 1652, [5:5] +notIdling = bits, U32, 1652, [6:6] +needReset = bits, U32, 1652, [7:7] +isInDeadZone = bits, U32, 1652, [8:8] +isBlipping = bits, U32, 1652, [9:9] +useClosedLoop = bits, U32, 1652, [10:10] +badTps = bits, U32, 1652, [11:11] +looksLikeRunning = bits, U32, 1652, [12:12] +looksLikeCoasting = bits, U32, 1652, [13:13] +looksLikeCrankToIdle = bits, U32, 1652, [14:14] +isIdleCoasting = bits, U32, 1652, [15:15] +isIdleClosedLoop = bits, U32, 1652, [16:16] +idleTarget = scalar, S32, 1656, "", 1, 0 +targetRpmByClt = scalar, S32, 1660, "", 1, 0 +targetRpmAc = scalar, S32, 1664, "", 1, 0 +iacByRpmTaper = scalar, F32, 1668 +luaAdd = scalar, F32, 1672 +; total TS size = 1676 +targetWithIdlePosition0 = scalar, F32, 1676, "per", 1,0 +trim0 = scalar, F32, 1680, "", 1, 0 +luaAdjustment0 = scalar, F32, 1684, "per", 1,0 +m_wastegatePosition0 = scalar, F32, 1688, "per", 1,0 +etbFeedForward0 = scalar, F32, 1692 +etbIntegralError0 = scalar, F32, 1696, "", 1, 0 +etbCurrentTarget0 = scalar, F32, 1700, "%", 1, 0 +etbCurrentAdjustedTarget0 = scalar, F32, 1704, "%", 1, 0 +etbRevLimitActive0 = bits, U32, 1708, [0:0] +jamDetected0 = bits, U32, 1708, [1:1] +etbTpsErrorCounter0 = scalar, U16, 1712, "count", 1,0 +etbPpsErrorCounter0 = scalar, U16, 1714, "count", 1,0 +etbErrorCode0 = scalar, S08, 1716, "", 1, 0 +tcEtbDrop0 = scalar, S08, 1717, "%", 1, 0 +jamTimer0 = scalar, U16, 1718, "sec", 0.01, 0 +adjustedEtbTarget0 = scalar, S08, 1720, "%", 1, 0 +; total TS size = 1724 +targetWithIdlePosition1 = scalar, F32, 1724, "per", 1,0 +trim1 = scalar, F32, 1728, "", 1, 0 +luaAdjustment1 = scalar, F32, 1732, "per", 1,0 +m_wastegatePosition1 = scalar, F32, 1736, "per", 1,0 +etbFeedForward1 = scalar, F32, 1740 +etbIntegralError1 = scalar, F32, 1744, "", 1, 0 +etbCurrentTarget1 = scalar, F32, 1748, "%", 1, 0 +etbCurrentAdjustedTarget1 = scalar, F32, 1752, "%", 1, 0 +etbRevLimitActive1 = bits, U32, 1756, [0:0] +jamDetected1 = bits, U32, 1756, [1:1] +etbTpsErrorCounter1 = scalar, U16, 1760, "count", 1,0 +etbPpsErrorCounter1 = scalar, U16, 1762, "count", 1,0 +etbErrorCode1 = scalar, S08, 1764, "", 1, 0 +tcEtbDrop1 = scalar, S08, 1765, "%", 1, 0 +jamTimer1 = scalar, U16, 1766, "sec", 0.01, 0 +adjustedEtbTarget1 = scalar, S08, 1768, "%", 1, 0 +; total TS size = 1772 +faultCode0 = scalar, U08, 1772, "", 1, 0 +heaterDuty0 = scalar, U08, 1773, "%", 1, 0 +pumpDuty0 = scalar, U08, 1774, "%", 1, 0 +tempC0 = scalar, U16, 1776, "C", 1, 0 +nernstVoltage0 = scalar, U16, 1778, "V", 0.001, 0 +esr0 = scalar, U16, 1780, "ohm", 1, 0 +; total TS size = 1784 +faultCode1 = scalar, U08, 1784, "", 1, 0 +heaterDuty1 = scalar, U08, 1785, "%", 1, 0 +pumpDuty1 = scalar, U08, 1786, "%", 1, 0 +tempC1 = scalar, U16, 1788, "C", 1, 0 +nernstVoltage1 = scalar, U16, 1790, "V", 0.001, 0 +esr1 = scalar, U16, 1792, "ohm", 1, 0 +; total TS size = 1796 +dcOutput0 = scalar, F32, 1796, "per", 1,0 +isEnabled0_int = scalar, U08, 1800, "per", 1,0 +isEnabled0 = bits, U32, 1804, [0:0] +; total TS size = 1808 +value0 = scalar, U16, 1808, "value", 1,0 +value1 = scalar, U16, 1810, "value", 1,0 +errorRate = scalar, F32, 1812, "ratio", 1,0 +; total TS size = 1816 +vvtTarget = scalar, U16, 1816, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1818, "%", 0.5, 0 +; total TS size = 1820 +lambdaCurrentlyGood = bits, U32, 1820, [0:0] +lambdaMonitorCut = bits, U32, 1820, [1:1] +lambdaTimeSinceGood = scalar, U16, 1824, "sec", 0.01, 0 +; total TS size = 1828 time = { timeNow } @@ -3616,6 +3648,7 @@ lambdaTimeSinceGood = scalar, U16, 1748, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs8 requiresPowerCycle = cylinderBore + requiresPowerCycle = knockFrequency readOnly = warning_message readOnly = device_uid1 @@ -5033,6 +5066,26 @@ gaugeCategory = Knock knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knockSpectrumChannelCylGauge = m_knockSpectrumChannelCyl, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStartGauge = m_knockFrequencyStart, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFrequencyStepGauge = m_knockFrequencyStep, "Knock Frequency Step", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0 + knockFuelTrimMultiplier = m_knockFuelTrimMultiplier, "Knock Fuel Trim", "mult", 0, 0, 0, 0, 0, 30, 1, 1 + knockSpectrum1 = m_knockSpectrum1, "Knock Spectrum1", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum2 = m_knockSpectrum2, "knockSpectrum2", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum3 = m_knockSpectrum3, "knockSpectrum3", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum4 = m_knockSpectrum4, "knockSpectrum4", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum5 = m_knockSpectrum5, "knockSpectrum5", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum6 = m_knockSpectrum6, "knockSpectrum6", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum7 = m_knockSpectrum7, "knockSpectrum7", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum8 = m_knockSpectrum8, "knockSpectrum8", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum9 = m_knockSpectrum9, "knockSpectrum9", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum10 = m_knockSpectrum10, "knockSpectrum10", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum11 = m_knockSpectrum11, "knockSpectrum11", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum12 = m_knockSpectrum12, "knockSpectrum12", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum13 = m_knockSpectrum13, "knockSpectrum13", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum14 = m_knockSpectrum14, "knockSpectrum14", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum15 = m_knockSpectrum15, "knockSpectrum15", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 + knockSpectrum16 = m_knockSpectrum16, "knockSpectrum16", "Volume", 0, 0, 0, 0, 0, 256, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -5632,6 +5685,26 @@ entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" entry = m_knockCount, "Knock: Count", int, "%d" entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_knockFrequency, "knock: frequency", int, "%d" +entry = m_knockSpectrum1, "Knock: SpectrumData 1", int, "%d" +entry = m_knockSpectrum2, "Knock: SpectrumData 2", int, "%d" +entry = m_knockSpectrum3, "Knock: SpectrumData 3", int, "%d" +entry = m_knockSpectrum4, "Knock: SpectrumData 4", int, "%d" +entry = m_knockSpectrum5, "Knock: SpectrumData 5", int, "%d" +entry = m_knockSpectrum6, "Knock: SpectrumData 6", int, "%d" +entry = m_knockSpectrum7, "Knock: SpectrumData 7", int, "%d" +entry = m_knockSpectrum8, "Knock: SpectrumData 8", int, "%d" +entry = m_knockSpectrum9, "Knock: SpectrumData 9", int, "%d" +entry = m_knockSpectrum10, "Knock: SpectrumData 10", int, "%d" +entry = m_knockSpectrum11, "Knock: SpectrumData 11", int, "%d" +entry = m_knockSpectrum12, "Knock: SpectrumData 12", int, "%d" +entry = m_knockSpectrum13, "Knock: SpectrumData 13", int, "%d" +entry = m_knockSpectrum14, "Knock: SpectrumData 14", int, "%d" +entry = m_knockSpectrum15, "Knock: SpectrumData 15", int, "%d" +entry = m_knockSpectrum16, "Knock: SpectrumData 16", int, "%d" +entry = m_knockSpectrumChannelCyl, "Knock: ChannelAndCylNumber", int, "%d" +entry = m_knockFrequencyStart, "Knock: Start Freq", int, "%d" +entry = m_knockFrequencyStep, "Knock: Step Freq", float, "%.3f" +entry = m_knockFuelTrimMultiplier, "Knock: Fuel trim when knock", float, "%.3f" entry = tcuCurrentGear, "TCU: Current Gear", int, "%d" entry = tcRatio, "TCU: Torque Converter Ratio", float, "%.3f" entry = lastShiftTime, "lastShiftTime", float, "%.3f" @@ -6547,6 +6620,31 @@ dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard graphLine = m_knockFrequency + graphLine = m_knockSpectrum1 + graphLine = m_knockSpectrum2 + liveGraph = knock_controller_6_Graph, "Graph", South + graphLine = m_knockSpectrum3 + graphLine = m_knockSpectrum4 + graphLine = m_knockSpectrum5 + graphLine = m_knockSpectrum6 + liveGraph = knock_controller_7_Graph, "Graph", South + graphLine = m_knockSpectrum7 + graphLine = m_knockSpectrum8 + graphLine = m_knockSpectrum9 + graphLine = m_knockSpectrum10 + liveGraph = knock_controller_8_Graph, "Graph", South + graphLine = m_knockSpectrum11 + graphLine = m_knockSpectrum12 + graphLine = m_knockSpectrum13 + graphLine = m_knockSpectrum14 + liveGraph = knock_controller_9_Graph, "Graph", South + graphLine = m_knockSpectrum15 + graphLine = m_knockSpectrum16 + graphLine = m_knockSpectrumChannelCyl + graphLine = m_knockFrequencyStart + liveGraph = knock_controller_10_Graph, "Graph", South + graphLine = m_knockFrequencyStep + graphLine = m_knockFuelTrimMultiplier indicatorPanel = tcu_controllerIndicatorPanel, 2 indicator = {isShifting}, "isShifting No", "isShifting Yes" @@ -8589,9 +8687,13 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockCfg, "Sense" field = "Enable", enableSoftwareKnock field = "Cylinder Bore", cylinderBore, {enableSoftwareKnock} + field = "Estimated Knock Frequency",knockFrequency, {enableSoftwareKnock} field = "Detection mode", knockDetectionUseDoubleFrequency field = "Detection Window Start",knockDetectionWindowStart, {enableSoftwareKnock} field = "Sampling Duration", knockSamplingDuration, {enableSoftwareKnock} + field = "Enable Knock Spectrogram", enableKnockSpectrogram, {enableSoftwareKnock} + field = "Enable Knock Spectrogram Filter", enableKnockSpectrogramFilter, {enableKnockSpectrogram} + field = "Knock Spectrum Sensitivity", knockSpectrumSensitivity, {enableKnockSpectrogram} field = "" field = "Select the nearest sensor for each cylinder" @@ -8611,6 +8713,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = softwareKnockResponseCfg, "Response" field = knockRetardAggression, knockRetardAggression field = knockRetardReapplyRate, knockRetardReapplyRate + field = knockFuelTrimAggression, knockFuelTrimAggression + field = knockFuelTrimReapplyRate, knockFuelTrimReapplyRate + field = knockFuelTrim, knockFuelTrim + field = knockSuppressMinTps, knockSuppressMinTps dialog = softwareKnockLeft, "" panel = softwareKnockCfg diff --git a/java_console/models/src/main/java/com/rusefi/config/generated/AcControl.java b/java_console/models/src/main/java/com/rusefi/config/generated/AcControl.java index 413c14385a..b5216a3e7b 100644 --- a/java_console/models/src/main/java/com/rusefi/config/generated/AcControl.java +++ b/java_console/models/src/main/java/com/rusefi/config/generated/AcControl.java @@ -178,18 +178,18 @@ public class AcControl { public static final int TCU_GEAR_COUNT = 10; public static final int TPS_2_BYTE_PACKING_MULT = 100; public static final int VE_BLEND_COUNT = 4; - public static final Field ACBUTTONSTATE = Field.create("ACBUTTONSTATE", 0, FieldType.INT8).setScale(1.0).setBaseOffset(1092); - public static final Field ALIGNMENTFILL_AT_1 = Field.create("ALIGNMENTFILL_AT_1", 1, FieldType.INT8).setScale(1.0).setBaseOffset(1092); - public static final Field M_ACENABLED = Field.create("M_ACENABLED", 4, FieldType.BIT, 0).setBaseOffset(1092); - public static final Field ENGINETOOSLOW = Field.create("ENGINETOOSLOW", 4, FieldType.BIT, 1).setBaseOffset(1092); - public static final Field ENGINETOOFAST = Field.create("ENGINETOOFAST", 4, FieldType.BIT, 2).setBaseOffset(1092); - public static final Field NOCLT = Field.create("NOCLT", 4, FieldType.BIT, 3).setBaseOffset(1092); - public static final Field ENGINETOOHOT = Field.create("ENGINETOOHOT", 4, FieldType.BIT, 4).setBaseOffset(1092); - public static final Field TPSTOOHIGH = Field.create("TPSTOOHIGH", 4, FieldType.BIT, 5).setBaseOffset(1092); - public static final Field ISDISABLEDBYLUA = Field.create("ISDISABLEDBYLUA", 4, FieldType.BIT, 6).setBaseOffset(1092); - public static final Field ACCOMPRESSORSTATE = Field.create("ACCOMPRESSORSTATE", 4, FieldType.BIT, 7).setBaseOffset(1092); - public static final Field ACPRESSURETOOLOW = Field.create("ACPRESSURETOOLOW", 4, FieldType.BIT, 8).setBaseOffset(1092); - public static final Field ACPRESSURETOOHIGH = Field.create("ACPRESSURETOOHIGH", 4, FieldType.BIT, 9).setBaseOffset(1092); + public static final Field ACBUTTONSTATE = Field.create("ACBUTTONSTATE", 0, FieldType.INT8).setScale(1.0).setBaseOffset(1168); + public static final Field ALIGNMENTFILL_AT_1 = Field.create("ALIGNMENTFILL_AT_1", 1, FieldType.INT8).setScale(1.0).setBaseOffset(1168); + public static final Field M_ACENABLED = Field.create("M_ACENABLED", 4, FieldType.BIT, 0).setBaseOffset(1168); + public static final Field ENGINETOOSLOW = Field.create("ENGINETOOSLOW", 4, FieldType.BIT, 1).setBaseOffset(1168); + public static final Field ENGINETOOFAST = Field.create("ENGINETOOFAST", 4, FieldType.BIT, 2).setBaseOffset(1168); + public static final Field NOCLT = Field.create("NOCLT", 4, FieldType.BIT, 3).setBaseOffset(1168); + public static final Field ENGINETOOHOT = Field.create("ENGINETOOHOT", 4, FieldType.BIT, 4).setBaseOffset(1168); + public static final Field TPSTOOHIGH = Field.create("TPSTOOHIGH", 4, FieldType.BIT, 5).setBaseOffset(1168); + public static final Field ISDISABLEDBYLUA = Field.create("ISDISABLEDBYLUA", 4, FieldType.BIT, 6).setBaseOffset(1168); + public static final Field ACCOMPRESSORSTATE = Field.create("ACCOMPRESSORSTATE", 4, FieldType.BIT, 7).setBaseOffset(1168); + public static final Field ACPRESSURETOOLOW = Field.create("ACPRESSURETOOLOW", 4, FieldType.BIT, 8).setBaseOffset(1168); + public static final Field ACPRESSURETOOHIGH = Field.create("ACPRESSURETOOHIGH", 4, FieldType.BIT, 9).setBaseOffset(1168); public static final Field[] VALUES = { ACBUTTONSTATE, ALIGNMENTFILL_AT_1, diff --git a/java_console/models/src/main/java/com/rusefi/config/generated/AntilagSystem.java b/java_console/models/src/main/java/com/rusefi/config/generated/AntilagSystem.java index 1963d649cc..7aaf6a0c8b 100644 --- a/java_console/models/src/main/java/com/rusefi/config/generated/AntilagSystem.java +++ b/java_console/models/src/main/java/com/rusefi/config/generated/AntilagSystem.java @@ -178,19 +178,19 @@ public class AntilagSystem { public static final int TCU_GEAR_COUNT = 10; public static final int TPS_2_BYTE_PACKING_MULT = 100; public static final int VE_BLEND_COUNT = 4; - public static final Field ISANTILAGCONDITION = Field.create("ISANTILAGCONDITION", 0, FieldType.BIT, 0).setBaseOffset(1056); - public static final Field ALSMINRPMCONDITION = Field.create("ALSMINRPMCONDITION", 0, FieldType.BIT, 1).setBaseOffset(1056); - public static final Field ALSMAXRPMCONDITION = Field.create("ALSMAXRPMCONDITION", 0, FieldType.BIT, 2).setBaseOffset(1056); - public static final Field ALSMINCLTCONDITION = Field.create("ALSMINCLTCONDITION", 0, FieldType.BIT, 3).setBaseOffset(1056); - public static final Field ALSMAXCLTCONDITION = Field.create("ALSMAXCLTCONDITION", 0, FieldType.BIT, 4).setBaseOffset(1056); - public static final Field ALSMAXTHROTTLEINTENTCONDITION = Field.create("ALSMAXTHROTTLEINTENTCONDITION", 0, FieldType.BIT, 5).setBaseOffset(1056); - public static final Field ISALSSWITCHACTIVATED = Field.create("ISALSSWITCHACTIVATED", 0, FieldType.BIT, 6).setBaseOffset(1056); - public static final Field ALSACTIVATEPINSTATE = Field.create("ALSACTIVATEPINSTATE", 0, FieldType.BIT, 7).setBaseOffset(1056); - public static final Field ALSSWITCHCONDITION = Field.create("ALSSWITCHCONDITION", 0, FieldType.BIT, 8).setBaseOffset(1056); - public static final Field ALSTIMERCONDITION = Field.create("ALSTIMERCONDITION", 0, FieldType.BIT, 9).setBaseOffset(1056); - public static final Field FUELALSCORRECTION = Field.create("FUELALSCORRECTION", 4, FieldType.FLOAT).setBaseOffset(1056); - public static final Field TIMINGALSCORRECTION = Field.create("TIMINGALSCORRECTION", 8, FieldType.INT16).setScale(0.01).setBaseOffset(1056); - public static final Field TIMINGALSSKIP = Field.create("TIMINGALSSKIP", 10, FieldType.INT16).setScale(0.01).setBaseOffset(1056); + public static final Field ISANTILAGCONDITION = Field.create("ISANTILAGCONDITION", 0, FieldType.BIT, 0).setBaseOffset(1132); + public static final Field ALSMINRPMCONDITION = Field.create("ALSMINRPMCONDITION", 0, FieldType.BIT, 1).setBaseOffset(1132); + public static final Field ALSMAXRPMCONDITION = Field.create("ALSMAXRPMCONDITION", 0, FieldType.BIT, 2).setBaseOffset(1132); + public static final Field ALSMINCLTCONDITION = Field.create("ALSMINCLTCONDITION", 0, FieldType.BIT, 3).setBaseOffset(1132); + public static final Field ALSMAXCLTCONDITION = Field.create("ALSMAXCLTCONDITION", 0, FieldType.BIT, 4).setBaseOffset(1132); + public static final Field ALSMAXTHROTTLEINTENTCONDITION = Field.create("ALSMAXTHROTTLEINTENTCONDITION", 0, FieldType.BIT, 5).setBaseOffset(1132); + public static final Field ISALSSWITCHACTIVATED = Field.create("ISALSSWITCHACTIVATED", 0, FieldType.BIT, 6).setBaseOffset(1132); + public static final Field ALSACTIVATEPINSTATE = Field.create("ALSACTIVATEPINSTATE", 0, FieldType.BIT, 7).setBaseOffset(1132); + public static final Field ALSSWITCHCONDITION = Field.create("ALSSWITCHCONDITION", 0, FieldType.BIT, 8).setBaseOffset(1132); + public static final Field ALSTIMERCONDITION = Field.create("ALSTIMERCONDITION", 0, FieldType.BIT, 9).setBaseOffset(1132); + public static final Field FUELALSCORRECTION = Field.create("FUELALSCORRECTION", 4, FieldType.FLOAT).setBaseOffset(1132); + public static final Field TIMINGALSCORRECTION = Field.create("TIMINGALSCORRECTION", 8, FieldType.INT16).setScale(0.01).setBaseOffset(1132); + public static final Field TIMINGALSSKIP = Field.create("TIMINGALSSKIP", 10, FieldType.INT16).setScale(0.01).setBaseOffset(1132); public static final Field[] VALUES = { ISANTILAGCONDITION, ALSMINRPMCONDITION, diff --git a/java_console/models/src/main/java/com/rusefi/config/generated/BoostControl.java b/java_console/models/src/main/java/com/rusefi/config/generated/BoostControl.java index 5ac1e605f9..5b278153c8 100644 --- a/java_console/models/src/main/java/com/rusefi/config/generated/BoostControl.java +++ b/java_console/models/src/main/java/com/rusefi/config/generated/BoostControl.java @@ -178,25 +178,25 @@ public class BoostControl { public static final int TCU_GEAR_COUNT = 10; public static final int TPS_2_BYTE_PACKING_MULT = 100; public static final int VE_BLEND_COUNT = 4; - public static final Field ISTPSINVALID = Field.create("ISTPSINVALID", 0, FieldType.BIT, 0).setBaseOffset(1068); - public static final Field M_SHOULDRESETPID = Field.create("M_SHOULDRESETPID", 0, FieldType.BIT, 1).setBaseOffset(1068); - public static final Field ISBELOWCLOSEDLOOPTHRESHOLD = Field.create("ISBELOWCLOSEDLOOPTHRESHOLD", 0, FieldType.BIT, 2).setBaseOffset(1068); - public static final Field ISNOTCLOSEDLOOP = Field.create("ISNOTCLOSEDLOOP", 0, FieldType.BIT, 3).setBaseOffset(1068); - public static final Field ISZERORPM = Field.create("ISZERORPM", 0, FieldType.BIT, 4).setBaseOffset(1068); - public static final Field HASINITBOOST = Field.create("HASINITBOOST", 0, FieldType.BIT, 5).setBaseOffset(1068); - public static final Field RPMTOOLOW = Field.create("RPMTOOLOW", 0, FieldType.BIT, 6).setBaseOffset(1068); - public static final Field TPSTOOLOW = Field.create("TPSTOOLOW", 0, FieldType.BIT, 7).setBaseOffset(1068); - public static final Field MAPTOOLOW = Field.create("MAPTOOLOW", 0, FieldType.BIT, 8).setBaseOffset(1068); - public static final Field ISPLANTVALID = Field.create("ISPLANTVALID", 0, FieldType.BIT, 9).setBaseOffset(1068); - public static final Field ISBOOSTCONTROLLED = Field.create("ISBOOSTCONTROLLED", 0, FieldType.BIT, 10).setBaseOffset(1068); - public static final Field LUATARGETADD = Field.create("LUATARGETADD", 4, FieldType.INT16).setScale(0.5).setBaseOffset(1068); - public static final Field BOOSTOUTPUT = Field.create("BOOSTOUTPUT", 6, FieldType.INT16).setScale(0.01).setBaseOffset(1068); - public static final Field LUATARGETMULT = Field.create("LUATARGETMULT", 8, FieldType.FLOAT).setBaseOffset(1068); - public static final Field OPENLOOPPART = Field.create("OPENLOOPPART", 12, FieldType.FLOAT).setBaseOffset(1068); - public static final Field LUAOPENLOOPADD = Field.create("LUAOPENLOOPADD", 16, FieldType.FLOAT).setBaseOffset(1068); - public static final Field BOOSTCONTROLLERCLOSEDLOOPPART = Field.create("BOOSTCONTROLLERCLOSEDLOOPPART", 20, FieldType.INT8).setScale(0.5).setBaseOffset(1068); - public static final Field ALIGNMENTFILL_AT_21 = Field.create("ALIGNMENTFILL_AT_21", 21, FieldType.INT8).setScale(1.0).setBaseOffset(1068); - public static final Field BOOSTCONTROLTARGET = Field.create("BOOSTCONTROLTARGET", 22, FieldType.INT16).setScale(0.03333333333333333).setBaseOffset(1068); + public static final Field ISTPSINVALID = Field.create("ISTPSINVALID", 0, FieldType.BIT, 0).setBaseOffset(1144); + public static final Field M_SHOULDRESETPID = Field.create("M_SHOULDRESETPID", 0, FieldType.BIT, 1).setBaseOffset(1144); + public static final Field ISBELOWCLOSEDLOOPTHRESHOLD = Field.create("ISBELOWCLOSEDLOOPTHRESHOLD", 0, FieldType.BIT, 2).setBaseOffset(1144); + public static final Field ISNOTCLOSEDLOOP = Field.create("ISNOTCLOSEDLOOP", 0, FieldType.BIT, 3).setBaseOffset(1144); + public static final Field ISZERORPM = Field.create("ISZERORPM", 0, FieldType.BIT, 4).setBaseOffset(1144); + public static final Field HASINITBOOST = Field.create("HASINITBOOST", 0, FieldType.BIT, 5).setBaseOffset(1144); + public static final Field RPMTOOLOW = Field.create("RPMTOOLOW", 0, FieldType.BIT, 6).setBaseOffset(1144); + public static final Field TPSTOOLOW = Field.create("TPSTOOLOW", 0, FieldType.BIT, 7).setBaseOffset(1144); + public static final Field MAPTOOLOW = Field.create("MAPTOOLOW", 0, FieldType.BIT, 8).setBaseOffset(1144); + public static final Field ISPLANTVALID = Field.create("ISPLANTVALID", 0, FieldType.BIT, 9).setBaseOffset(1144); + public static final Field ISBOOSTCONTROLLED = Field.create("ISBOOSTCONTROLLED", 0, FieldType.BIT, 10).setBaseOffset(1144); + public static final Field LUATARGETADD = Field.create("LUATARGETADD", 4, FieldType.INT16).setScale(0.5).setBaseOffset(1144); + public static final Field BOOSTOUTPUT = Field.create("BOOSTOUTPUT", 6, FieldType.INT16).setScale(0.01).setBaseOffset(1144); + public static final Field LUATARGETMULT = Field.create("LUATARGETMULT", 8, FieldType.FLOAT).setBaseOffset(1144); + public static final Field OPENLOOPPART = Field.create("OPENLOOPPART", 12, FieldType.FLOAT).setBaseOffset(1144); + public static final Field LUAOPENLOOPADD = Field.create("LUAOPENLOOPADD", 16, FieldType.FLOAT).setBaseOffset(1144); + public static final Field BOOSTCONTROLLERCLOSEDLOOPPART = Field.create("BOOSTCONTROLLERCLOSEDLOOPPART", 20, FieldType.INT8).setScale(0.5).setBaseOffset(1144); + public static final Field ALIGNMENTFILL_AT_21 = Field.create("ALIGNMENTFILL_AT_21", 21, FieldType.INT8).setScale(1.0).setBaseOffset(1144); + public static final Field BOOSTCONTROLTARGET = Field.create("BOOSTCONTROLTARGET", 22, FieldType.INT16).setScale(0.03333333333333333).setBaseOffset(1144); public static final Field[] VALUES = { ISTPSINVALID, M_SHOULDRESETPID, diff --git a/java_console/models/src/main/java/com/rusefi/config/generated/DcMotors.java b/java_console/models/src/main/java/com/rusefi/config/generated/DcMotors.java index d951d48b8c..de38e1e68c 100644 --- a/java_console/models/src/main/java/com/rusefi/config/generated/DcMotors.java +++ b/java_console/models/src/main/java/com/rusefi/config/generated/DcMotors.java @@ -178,10 +178,10 @@ public class DcMotors { public static final int TCU_GEAR_COUNT = 10; public static final int TPS_2_BYTE_PACKING_MULT = 100; public static final int VE_BLEND_COUNT = 4; - public static final Field DCOUTPUT0 = Field.create("DCOUTPUT0", 0, FieldType.FLOAT).setBaseOffset(1720); - public static final Field ISENABLED0_INT = Field.create("ISENABLED0_INT", 4, FieldType.INT8).setScale(1.0).setBaseOffset(1720); - public static final Field ALIGNMENTFILL_AT_5 = Field.create("ALIGNMENTFILL_AT_5", 5, FieldType.INT8).setScale(1.0).setBaseOffset(1720); - public static final Field ISENABLED0 = Field.create("ISENABLED0", 8, FieldType.BIT, 0).setBaseOffset(1720); + public static final Field DCOUTPUT0 = Field.create("DCOUTPUT0", 0, FieldType.FLOAT).setBaseOffset(1796); + public static final Field ISENABLED0_INT = Field.create("ISENABLED0_INT", 4, FieldType.INT8).setScale(1.0).setBaseOffset(1796); + public static final Field ALIGNMENTFILL_AT_5 = Field.create("ALIGNMENTFILL_AT_5", 5, FieldType.INT8).setScale(1.0).setBaseOffset(1796); + public static final Field ISENABLED0 = Field.create("ISENABLED0", 8, FieldType.BIT, 0).setBaseOffset(1796); public static final Field[] VALUES = { DCOUTPUT0, ISENABLED0_INT, diff --git a/java_console/models/src/main/java/com/rusefi/config/generated/ElectronicThrottle.java b/java_console/models/src/main/java/com/rusefi/config/generated/ElectronicThrottle.java index b1d9c35bc5..89a032a314 100644 --- a/java_console/models/src/main/java/com/rusefi/config/generated/ElectronicThrottle.java +++ b/java_console/models/src/main/java/com/rusefi/config/generated/ElectronicThrottle.java @@ -178,23 +178,23 @@ public class ElectronicThrottle { public static final int TCU_GEAR_COUNT = 10; public static final int TPS_2_BYTE_PACKING_MULT = 100; public static final int VE_BLEND_COUNT = 4; - public static final Field TARGETWITHIDLEPOSITION = Field.create("TARGETWITHIDLEPOSITION", 0, FieldType.FLOAT).setBaseOffset(1600); - public static final Field TRIM = Field.create("TRIM", 4, FieldType.FLOAT).setBaseOffset(1600); - public static final Field LUAADJUSTMENT = Field.create("LUAADJUSTMENT", 8, FieldType.FLOAT).setBaseOffset(1600); - public static final Field M_WASTEGATEPOSITION = Field.create("M_WASTEGATEPOSITION", 12, FieldType.FLOAT).setBaseOffset(1600); - public static final Field ETBFEEDFORWARD = Field.create("ETBFEEDFORWARD", 16, FieldType.FLOAT).setBaseOffset(1600); - public static final Field ETBINTEGRALERROR = Field.create("ETBINTEGRALERROR", 20, FieldType.FLOAT).setBaseOffset(1600); - public static final Field ETBCURRENTTARGET = Field.create("ETBCURRENTTARGET", 24, FieldType.FLOAT).setBaseOffset(1600); - public static final Field ETBCURRENTADJUSTEDTARGET = Field.create("ETBCURRENTADJUSTEDTARGET", 28, FieldType.FLOAT).setBaseOffset(1600); - public static final Field ETBREVLIMITACTIVE = Field.create("ETBREVLIMITACTIVE", 32, FieldType.BIT, 0).setBaseOffset(1600); - public static final Field JAMDETECTED = Field.create("JAMDETECTED", 32, FieldType.BIT, 1).setBaseOffset(1600); - public static final Field ETBTPSERRORCOUNTER = Field.create("ETBTPSERRORCOUNTER", 36, FieldType.INT16).setScale(1.0).setBaseOffset(1600); - public static final Field ETBPPSERRORCOUNTER = Field.create("ETBPPSERRORCOUNTER", 38, FieldType.INT16).setScale(1.0).setBaseOffset(1600); - public static final Field ETBERRORCODE = Field.create("ETBERRORCODE", 40, FieldType.INT8).setScale(1.0).setBaseOffset(1600); - public static final Field TCETBDROP = Field.create("TCETBDROP", 41, FieldType.INT8).setScale(1.0).setBaseOffset(1600); - public static final Field JAMTIMER = Field.create("JAMTIMER", 42, FieldType.INT16).setScale(0.01).setBaseOffset(1600); - public static final Field ADJUSTEDETBTARGET = Field.create("ADJUSTEDETBTARGET", 44, FieldType.INT8).setScale(1.0).setBaseOffset(1600); - public static final Field ALIGNMENTFILL_AT_45 = Field.create("ALIGNMENTFILL_AT_45", 45, FieldType.INT8).setScale(1.0).setBaseOffset(1600); + public static final Field TARGETWITHIDLEPOSITION = Field.create("TARGETWITHIDLEPOSITION", 0, FieldType.FLOAT).setBaseOffset(1676); + public static final Field TRIM = Field.create("TRIM", 4, FieldType.FLOAT).setBaseOffset(1676); + public static final Field LUAADJUSTMENT = Field.create("LUAADJUSTMENT", 8, FieldType.FLOAT).setBaseOffset(1676); + public static final Field M_WASTEGATEPOSITION = Field.create("M_WASTEGATEPOSITION", 12, FieldType.FLOAT).setBaseOffset(1676); + public static final Field ETBFEEDFORWARD = Field.create("ETBFEEDFORWARD", 16, FieldType.FLOAT).setBaseOffset(1676); + public static final Field ETBINTEGRALERROR = Field.create("ETBINTEGRALERROR", 20, FieldType.FLOAT).setBaseOffset(1676); + public static final Field ETBCURRENTTARGET = Field.create("ETBCURRENTTARGET", 24, FieldType.FLOAT).setBaseOffset(1676); + public static final Field ETBCURRENTADJUSTEDTARGET = Field.create("ETBCURRENTADJUSTEDTARGET", 28, FieldType.FLOAT).setBaseOffset(1676); + public static final Field ETBREVLIMITACTIVE = Field.create("ETBREVLIMITACTIVE", 32, FieldType.BIT, 0).setBaseOffset(1676); + public static final Field JAMDETECTED = Field.create("JAMDETECTED", 32, FieldType.BIT, 1).setBaseOffset(1676); + public static final Field ETBTPSERRORCOUNTER = Field.create("ETBTPSERRORCOUNTER", 36, FieldType.INT16).setScale(1.0).setBaseOffset(1676); + public static final Field ETBPPSERRORCOUNTER = Field.create("ETBPPSERRORCOUNTER", 38, FieldType.INT16).setScale(1.0).setBaseOffset(1676); + public static final Field ETBERRORCODE = Field.create("ETBERRORCODE", 40, FieldType.INT8).setScale(1.0).setBaseOffset(1676); + public static final Field TCETBDROP = Field.create("TCETBDROP", 41, FieldType.INT8).setScale(1.0).setBaseOffset(1676); + public static final Field JAMTIMER = Field.create("JAMTIMER", 42, FieldType.INT16).setScale(0.01).setBaseOffset(1676); + public static final Field ADJUSTEDETBTARGET = Field.create("ADJUSTEDETBTARGET", 44, FieldType.INT8).setScale(1.0).setBaseOffset(1676); + public static final Field ALIGNMENTFILL_AT_45 = Field.create("ALIGNMENTFILL_AT_45", 45, FieldType.INT8).setScale(1.0).setBaseOffset(1676); public static final Field[] VALUES = { TARGETWITHIDLEPOSITION, TRIM, diff --git a/java_console/models/src/main/java/com/rusefi/config/generated/EngineState.java b/java_console/models/src/main/java/com/rusefi/config/generated/EngineState.java index 2f023fbf37..d823304e5a 100644 --- a/java_console/models/src/main/java/com/rusefi/config/generated/EngineState.java +++ b/java_console/models/src/main/java/com/rusefi/config/generated/EngineState.java @@ -178,57 +178,57 @@ public class EngineState { public static final int TCU_GEAR_COUNT = 10; public static final int TPS_2_BYTE_PACKING_MULT = 100; public static final int VE_BLEND_COUNT = 4; - public static final Field LUA_FUELADD = Field.create("LUA_FUELADD", 0, FieldType.FLOAT).setBaseOffset(1124); - public static final Field LUA_FUELMULT = Field.create("LUA_FUELMULT", 4, FieldType.FLOAT).setBaseOffset(1124); - public static final Field LUA_CLUTCHUPSTATE = Field.create("LUA_CLUTCHUPSTATE", 8, FieldType.BIT, 0).setBaseOffset(1124); - public static final Field LUA_BRAKEPEDALSTATE = Field.create("LUA_BRAKEPEDALSTATE", 8, FieldType.BIT, 1).setBaseOffset(1124); - public static final Field LUA_ACREQUESTSTATE = Field.create("LUA_ACREQUESTSTATE", 8, FieldType.BIT, 2).setBaseOffset(1124); - public static final Field LUA_LUADISABLEETB = Field.create("LUA_LUADISABLEETB", 8, FieldType.BIT, 3).setBaseOffset(1124); - public static final Field LUA_LUAIGNCUT = Field.create("LUA_LUAIGNCUT", 8, FieldType.BIT, 4).setBaseOffset(1124); - public static final Field LUA_LUAFUELCUT = Field.create("LUA_LUAFUELCUT", 8, FieldType.BIT, 5).setBaseOffset(1124); - public static final Field LUA_CLUTCHDOWNSTATE = Field.create("LUA_CLUTCHDOWNSTATE", 8, FieldType.BIT, 6).setBaseOffset(1124); - public static final Field LUA_DISABLEDECELERATIONFUELCUTOFF = Field.create("LUA_DISABLEDECELERATIONFUELCUTOFF", 8, FieldType.BIT, 7).setBaseOffset(1124); - public static final Field SD_TCHARGE = Field.create("SD_TCHARGE", 12, FieldType.INT16).setScale(0.01).setBaseOffset(1124); - public static final Field SD_ALIGNMENTFILL_AT_2 = Field.create("SD_ALIGNMENTFILL_AT_2", 14, FieldType.INT8).setScale(1.0).setBaseOffset(1124); - public static final Field SD_TCHARGEK = Field.create("SD_TCHARGEK", 16, FieldType.FLOAT).setBaseOffset(1124); - public static final Field CRANKINGFUEL_COOLANTTEMPERATURECOEFFICIENT = Field.create("CRANKINGFUEL_COOLANTTEMPERATURECOEFFICIENT", 20, FieldType.FLOAT).setBaseOffset(1124); - public static final Field CRANKINGFUEL_TPSCOEFFICIENT = Field.create("CRANKINGFUEL_TPSCOEFFICIENT", 24, FieldType.FLOAT).setBaseOffset(1124); - public static final Field CRANKINGFUEL_DURATIONCOEFFICIENT = Field.create("CRANKINGFUEL_DURATIONCOEFFICIENT", 28, FieldType.FLOAT).setBaseOffset(1124); - public static final Field CRANKINGFUEL_FUEL = Field.create("CRANKINGFUEL_FUEL", 32, FieldType.INT16).setScale(0.01).setBaseOffset(1124); - public static final Field CRANKINGFUEL_ALIGNMENTFILL_AT_14 = Field.create("CRANKINGFUEL_ALIGNMENTFILL_AT_14", 34, FieldType.INT8).setScale(1.0).setBaseOffset(1124); - public static final Field BAROCORRECTION = Field.create("BAROCORRECTION", 36, FieldType.FLOAT).setBaseOffset(1124); - public static final Field HELLENBOARDID = Field.create("HELLENBOARDID", 40, FieldType.INT16).setScale(1.0).setBaseOffset(1124); - public static final Field CLUTCHUPSTATE = Field.create("CLUTCHUPSTATE", 42, FieldType.INT8).setScale(1.0).setBaseOffset(1124); - public static final Field CLUTCHDOWNSTATE = Field.create("CLUTCHDOWNSTATE", 43, FieldType.INT8).setScale(1.0).setBaseOffset(1124); - public static final Field BRAKEPEDALSTATE = Field.create("BRAKEPEDALSTATE", 44, FieldType.INT8).setScale(1.0).setBaseOffset(1124); - public static final Field STARTSTOPSTATE = Field.create("STARTSTOPSTATE", 45, FieldType.INT8).setScale(1.0).setBaseOffset(1124); - public static final Field SMARTCHIPSTATE = Field.create("SMARTCHIPSTATE", 46, FieldType.INT8).setScale(1.0).setBaseOffset(1124); - public static final Field SMARTCHIPRESTARTCOUNTER = Field.create("SMARTCHIPRESTARTCOUNTER", 47, FieldType.INT8).setScale(1.0).setBaseOffset(1124); - public static final Field SMARTCHIPALIVECOUNTER = Field.create("SMARTCHIPALIVECOUNTER", 48, FieldType.INT8).setScale(1.0).setBaseOffset(1124); - public static final Field ALIGNMENTFILL_AT_49 = Field.create("ALIGNMENTFILL_AT_49", 49, FieldType.INT8).setScale(1.0).setBaseOffset(1124); - public static final Field STARTSTOPPHYSICALSTATE = Field.create("STARTSTOPPHYSICALSTATE", 52, FieldType.BIT, 0).setBaseOffset(1124); - public static final Field ACRACTIVE = Field.create("ACRACTIVE", 52, FieldType.BIT, 1).setBaseOffset(1124); - public static final Field ACRENGINEMOVEDRECENTLY = Field.create("ACRENGINEMOVEDRECENTLY", 52, FieldType.BIT, 2).setBaseOffset(1124); - public static final Field HEATERCONTROLENABLED = Field.create("HEATERCONTROLENABLED", 52, FieldType.BIT, 3).setBaseOffset(1124); - public static final Field LUADIGITALSTATE0 = Field.create("LUADIGITALSTATE0", 52, FieldType.BIT, 4).setBaseOffset(1124); - public static final Field LUADIGITALSTATE1 = Field.create("LUADIGITALSTATE1", 52, FieldType.BIT, 5).setBaseOffset(1124); - public static final Field LUADIGITALSTATE2 = Field.create("LUADIGITALSTATE2", 52, FieldType.BIT, 6).setBaseOffset(1124); - public static final Field LUADIGITALSTATE3 = Field.create("LUADIGITALSTATE3", 52, FieldType.BIT, 7).setBaseOffset(1124); - public static final Field STARTSTOPSTATETOGGLECOUNTER = Field.create("STARTSTOPSTATETOGGLECOUNTER", 56, FieldType.INT).setScale(1.0).setBaseOffset(1124); - public static final Field LUASOFTSPARKSKIP = Field.create("LUASOFTSPARKSKIP", 60, FieldType.FLOAT).setBaseOffset(1124); - public static final Field LUAHARDSPARKSKIP = Field.create("LUAHARDSPARKSKIP", 64, FieldType.FLOAT).setBaseOffset(1124); - public static final Field TRACTIONCONTROLSPARKSKIP = Field.create("TRACTIONCONTROLSPARKSKIP", 68, FieldType.FLOAT).setBaseOffset(1124); - public static final Field DESIREDRPMLIMIT = Field.create("DESIREDRPMLIMIT", 72, FieldType.INT16).setScale(1.0).setBaseOffset(1124); - public static final Field ALIGNMENTFILL_AT_74 = Field.create("ALIGNMENTFILL_AT_74", 74, FieldType.INT8).setScale(1.0).setBaseOffset(1124); - public static final Field FUELINJECTIONCOUNTER = Field.create("FUELINJECTIONCOUNTER", 76, FieldType.INT).setScale(1.0).setBaseOffset(1124); - public static final Field GLOBALSPARKCOUNTER = Field.create("GLOBALSPARKCOUNTER", 80, FieldType.INT).setScale(1.0).setBaseOffset(1124); - public static final Field FUELINGLOAD = Field.create("FUELINGLOAD", 84, FieldType.FLOAT).setBaseOffset(1124); - public static final Field IGNITIONLOAD = Field.create("IGNITIONLOAD", 88, FieldType.FLOAT).setBaseOffset(1124); - public static final Field VETABLEYAXIS = Field.create("VETABLEYAXIS", 92, FieldType.INT16).setScale(0.01).setBaseOffset(1124); - public static final Field OVERDWELLCOUNTER = Field.create("OVERDWELLCOUNTER", 94, FieldType.INT8).setScale(1.0).setBaseOffset(1124); - public static final Field OVERDWELLNOTSCHEDULEDCOUNTER = Field.create("OVERDWELLNOTSCHEDULEDCOUNTER", 95, FieldType.INT8).setScale(1.0).setBaseOffset(1124); - public static final Field SPARKOUTOFORDERCOUNTER = Field.create("SPARKOUTOFORDERCOUNTER", 96, FieldType.INT8).setScale(1.0).setBaseOffset(1124); - public static final Field ALIGNMENTFILL_AT_97 = Field.create("ALIGNMENTFILL_AT_97", 97, FieldType.INT8).setScale(1.0).setBaseOffset(1124); + public static final Field LUA_FUELADD = Field.create("LUA_FUELADD", 0, FieldType.FLOAT).setBaseOffset(1200); + public static final Field LUA_FUELMULT = Field.create("LUA_FUELMULT", 4, FieldType.FLOAT).setBaseOffset(1200); + public static final Field LUA_CLUTCHUPSTATE = Field.create("LUA_CLUTCHUPSTATE", 8, FieldType.BIT, 0).setBaseOffset(1200); + public static final Field LUA_BRAKEPEDALSTATE = Field.create("LUA_BRAKEPEDALSTATE", 8, FieldType.BIT, 1).setBaseOffset(1200); + public static final Field LUA_ACREQUESTSTATE = Field.create("LUA_ACREQUESTSTATE", 8, FieldType.BIT, 2).setBaseOffset(1200); + public static final Field LUA_LUADISABLEETB = Field.create("LUA_LUADISABLEETB", 8, FieldType.BIT, 3).setBaseOffset(1200); + public static final Field LUA_LUAIGNCUT = Field.create("LUA_LUAIGNCUT", 8, FieldType.BIT, 4).setBaseOffset(1200); + public static final Field LUA_LUAFUELCUT = Field.create("LUA_LUAFUELCUT", 8, FieldType.BIT, 5).setBaseOffset(1200); + public static final Field LUA_CLUTCHDOWNSTATE = Field.create("LUA_CLUTCHDOWNSTATE", 8, FieldType.BIT, 6).setBaseOffset(1200); + public static final Field LUA_DISABLEDECELERATIONFUELCUTOFF = Field.create("LUA_DISABLEDECELERATIONFUELCUTOFF", 8, FieldType.BIT, 7).setBaseOffset(1200); + public static final Field SD_TCHARGE = Field.create("SD_TCHARGE", 12, FieldType.INT16).setScale(0.01).setBaseOffset(1200); + public static final Field SD_ALIGNMENTFILL_AT_2 = Field.create("SD_ALIGNMENTFILL_AT_2", 14, FieldType.INT8).setScale(1.0).setBaseOffset(1200); + public static final Field SD_TCHARGEK = Field.create("SD_TCHARGEK", 16, FieldType.FLOAT).setBaseOffset(1200); + public static final Field CRANKINGFUEL_COOLANTTEMPERATURECOEFFICIENT = Field.create("CRANKINGFUEL_COOLANTTEMPERATURECOEFFICIENT", 20, FieldType.FLOAT).setBaseOffset(1200); + public static final Field CRANKINGFUEL_TPSCOEFFICIENT = Field.create("CRANKINGFUEL_TPSCOEFFICIENT", 24, FieldType.FLOAT).setBaseOffset(1200); + public static final Field CRANKINGFUEL_DURATIONCOEFFICIENT = Field.create("CRANKINGFUEL_DURATIONCOEFFICIENT", 28, FieldType.FLOAT).setBaseOffset(1200); + public static final Field CRANKINGFUEL_FUEL = Field.create("CRANKINGFUEL_FUEL", 32, FieldType.INT16).setScale(0.01).setBaseOffset(1200); + public static final Field CRANKINGFUEL_ALIGNMENTFILL_AT_14 = Field.create("CRANKINGFUEL_ALIGNMENTFILL_AT_14", 34, FieldType.INT8).setScale(1.0).setBaseOffset(1200); + public static final Field BAROCORRECTION = Field.create("BAROCORRECTION", 36, FieldType.FLOAT).setBaseOffset(1200); + public static final Field HELLENBOARDID = Field.create("HELLENBOARDID", 40, FieldType.INT16).setScale(1.0).setBaseOffset(1200); + public static final Field CLUTCHUPSTATE = Field.create("CLUTCHUPSTATE", 42, FieldType.INT8).setScale(1.0).setBaseOffset(1200); + public static final Field CLUTCHDOWNSTATE = Field.create("CLUTCHDOWNSTATE", 43, FieldType.INT8).setScale(1.0).setBaseOffset(1200); + public static final Field BRAKEPEDALSTATE = Field.create("BRAKEPEDALSTATE", 44, FieldType.INT8).setScale(1.0).setBaseOffset(1200); + public static final Field STARTSTOPSTATE = Field.create("STARTSTOPSTATE", 45, FieldType.INT8).setScale(1.0).setBaseOffset(1200); + public static final Field SMARTCHIPSTATE = Field.create("SMARTCHIPSTATE", 46, FieldType.INT8).setScale(1.0).setBaseOffset(1200); + public static final Field SMARTCHIPRESTARTCOUNTER = Field.create("SMARTCHIPRESTARTCOUNTER", 47, FieldType.INT8).setScale(1.0).setBaseOffset(1200); + public static final Field SMARTCHIPALIVECOUNTER = Field.create("SMARTCHIPALIVECOUNTER", 48, FieldType.INT8).setScale(1.0).setBaseOffset(1200); + public static final Field ALIGNMENTFILL_AT_49 = Field.create("ALIGNMENTFILL_AT_49", 49, FieldType.INT8).setScale(1.0).setBaseOffset(1200); + public static final Field STARTSTOPPHYSICALSTATE = Field.create("STARTSTOPPHYSICALSTATE", 52, FieldType.BIT, 0).setBaseOffset(1200); + public static final Field ACRACTIVE = Field.create("ACRACTIVE", 52, FieldType.BIT, 1).setBaseOffset(1200); + public static final Field ACRENGINEMOVEDRECENTLY = Field.create("ACRENGINEMOVEDRECENTLY", 52, FieldType.BIT, 2).setBaseOffset(1200); + public static final Field HEATERCONTROLENABLED = Field.create("HEATERCONTROLENABLED", 52, FieldType.BIT, 3).setBaseOffset(1200); + public static final Field LUADIGITALSTATE0 = Field.create("LUADIGITALSTATE0", 52, FieldType.BIT, 4).setBaseOffset(1200); + public static final Field LUADIGITALSTATE1 = Field.create("LUADIGITALSTATE1", 52, FieldType.BIT, 5).setBaseOffset(1200); + public static final Field LUADIGITALSTATE2 = Field.create("LUADIGITALSTATE2", 52, FieldType.BIT, 6).setBaseOffset(1200); + public static final Field LUADIGITALSTATE3 = Field.create("LUADIGITALSTATE3", 52, FieldType.BIT, 7).setBaseOffset(1200); + public static final Field STARTSTOPSTATETOGGLECOUNTER = Field.create("STARTSTOPSTATETOGGLECOUNTER", 56, FieldType.INT).setScale(1.0).setBaseOffset(1200); + public static final Field LUASOFTSPARKSKIP = Field.create("LUASOFTSPARKSKIP", 60, FieldType.FLOAT).setBaseOffset(1200); + public static final Field LUAHARDSPARKSKIP = Field.create("LUAHARDSPARKSKIP", 64, FieldType.FLOAT).setBaseOffset(1200); + public static final Field TRACTIONCONTROLSPARKSKIP = Field.create("TRACTIONCONTROLSPARKSKIP", 68, FieldType.FLOAT).setBaseOffset(1200); + public static final Field DESIREDRPMLIMIT = Field.create("DESIREDRPMLIMIT", 72, FieldType.INT16).setScale(1.0).setBaseOffset(1200); + public static final Field ALIGNMENTFILL_AT_74 = Field.create("ALIGNMENTFILL_AT_74", 74, FieldType.INT8).setScale(1.0).setBaseOffset(1200); + public static final Field FUELINJECTIONCOUNTER = Field.create("FUELINJECTIONCOUNTER", 76, FieldType.INT).setScale(1.0).setBaseOffset(1200); + public static final Field GLOBALSPARKCOUNTER = Field.create("GLOBALSPARKCOUNTER", 80, FieldType.INT).setScale(1.0).setBaseOffset(1200); + public static final Field FUELINGLOAD = Field.create("FUELINGLOAD", 84, FieldType.FLOAT).setBaseOffset(1200); + public static final Field IGNITIONLOAD = Field.create("IGNITIONLOAD", 88, FieldType.FLOAT).setBaseOffset(1200); + public static final Field VETABLEYAXIS = Field.create("VETABLEYAXIS", 92, FieldType.INT16).setScale(0.01).setBaseOffset(1200); + public static final Field OVERDWELLCOUNTER = Field.create("OVERDWELLCOUNTER", 94, FieldType.INT8).setScale(1.0).setBaseOffset(1200); + public static final Field OVERDWELLNOTSCHEDULEDCOUNTER = Field.create("OVERDWELLNOTSCHEDULEDCOUNTER", 95, FieldType.INT8).setScale(1.0).setBaseOffset(1200); + public static final Field SPARKOUTOFORDERCOUNTER = Field.create("SPARKOUTOFORDERCOUNTER", 96, FieldType.INT8).setScale(1.0).setBaseOffset(1200); + public static final Field ALIGNMENTFILL_AT_97 = Field.create("ALIGNMENTFILL_AT_97", 97, FieldType.INT8).setScale(1.0).setBaseOffset(1200); public static final Field[] VALUES = { LUA_FUELADD, LUA_FUELMULT, diff --git a/java_console/models/src/main/java/com/rusefi/config/generated/FanControl.java b/java_console/models/src/main/java/com/rusefi/config/generated/FanControl.java index a7bbc6fd7f..78dd42c530 100644 --- a/java_console/models/src/main/java/com/rusefi/config/generated/FanControl.java +++ b/java_console/models/src/main/java/com/rusefi/config/generated/FanControl.java @@ -6,16 +6,16 @@ package com.rusefi.config.generated; import com.rusefi.config.*; public class FanControl { - public static final Field CRANKING = Field.create("CRANKING", 0, FieldType.BIT, 0).setBaseOffset(1100); - public static final Field NOTRUNNING = Field.create("NOTRUNNING", 0, FieldType.BIT, 1).setBaseOffset(1100); - public static final Field DISABLEDWHILEENGINESTOPPED = Field.create("DISABLEDWHILEENGINESTOPPED", 0, FieldType.BIT, 2).setBaseOffset(1100); - public static final Field BROKENCLT = Field.create("BROKENCLT", 0, FieldType.BIT, 3).setBaseOffset(1100); - public static final Field ENABLEDFORAC = Field.create("ENABLEDFORAC", 0, FieldType.BIT, 4).setBaseOffset(1100); - public static final Field HOT = Field.create("HOT", 0, FieldType.BIT, 5).setBaseOffset(1100); - public static final Field COLD = Field.create("COLD", 0, FieldType.BIT, 6).setBaseOffset(1100); - public static final Field DISABLEDBYSPEED = Field.create("DISABLEDBYSPEED", 0, FieldType.BIT, 7).setBaseOffset(1100); - public static final Field RADIATORFANSTATUS = Field.create("RADIATORFANSTATUS", 4, FieldType.INT8).setScale(1.0).setBaseOffset(1100); - public static final Field ALIGNMENTFILL_AT_5 = Field.create("ALIGNMENTFILL_AT_5", 5, FieldType.INT8).setScale(1.0).setBaseOffset(1100); + public static final Field CRANKING = Field.create("CRANKING", 0, FieldType.BIT, 0).setBaseOffset(1176); + public static final Field NOTRUNNING = Field.create("NOTRUNNING", 0, FieldType.BIT, 1).setBaseOffset(1176); + public static final Field DISABLEDWHILEENGINESTOPPED = Field.create("DISABLEDWHILEENGINESTOPPED", 0, FieldType.BIT, 2).setBaseOffset(1176); + public static final Field BROKENCLT = Field.create("BROKENCLT", 0, FieldType.BIT, 3).setBaseOffset(1176); + public static final Field ENABLEDFORAC = Field.create("ENABLEDFORAC", 0, FieldType.BIT, 4).setBaseOffset(1176); + public static final Field HOT = Field.create("HOT", 0, FieldType.BIT, 5).setBaseOffset(1176); + public static final Field COLD = Field.create("COLD", 0, FieldType.BIT, 6).setBaseOffset(1176); + public static final Field DISABLEDBYSPEED = Field.create("DISABLEDBYSPEED", 0, FieldType.BIT, 7).setBaseOffset(1176); + public static final Field RADIATORFANSTATUS = Field.create("RADIATORFANSTATUS", 4, FieldType.INT8).setScale(1.0).setBaseOffset(1176); + public static final Field ALIGNMENTFILL_AT_5 = Field.create("ALIGNMENTFILL_AT_5", 5, FieldType.INT8).setScale(1.0).setBaseOffset(1176); public static final Field[] VALUES = { CRANKING, NOTRUNNING, diff --git a/java_console/models/src/main/java/com/rusefi/config/generated/Fields.java b/java_console/models/src/main/java/com/rusefi/config/generated/Fields.java index 8018765bb7..696ad4b004 100644 --- a/java_console/models/src/main/java/com/rusefi/config/generated/Fields.java +++ b/java_console/models/src/main/java/com/rusefi/config/generated/Fields.java @@ -318,7 +318,7 @@ public class Fields { public static final int ego_sensor_e_ES_Innovate_MTX_L = 1; public static final int ego_sensor_e_ES_PLX = 4; public static final int EGT_CHANNEL_COUNT = 8; - public static final int END_OF_CALIBRATION_PADDING = 128; + public static final int END_OF_CALIBRATION_PADDING = 116; public static final int engine_configuration_s_size = 4024; public static final int engine_load_mode_e_LM_ALPHA_N = 2; public static final int engine_load_mode_e_LM_LUA = 3; @@ -1214,7 +1214,6 @@ public class Fields { public static final int SentEtbType_FORD_TYPE_1 = 2; public static final int SentEtbType_GM_TYPE_1 = 1; public static final int SentEtbType_NONE = 0; - public static final int SIGNATURE_HASH = 1717113764; public static final String SIMULATOR_TUNE_BIN_FILE_NAME = "generated/simulator_tune_image.bin"; public static final String SIMULATOR_TUNE_BIN_FILE_NAME_PREFIX = "generated/simulator_tune_image"; public static final String SIMULATOR_TUNE_BIN_FILE_NAME_SUFFIX = ".bin"; @@ -1479,11 +1478,11 @@ public class Fields { public static final int TS_RESPONSE_UNDERRUN = 0x80; public static final int TS_RESPONSE_UNRECOGNIZED_COMMAND = 0x83; public static final char TS_SET_LOGGER_SWITCH = 'l'; - public static final String TS_SIGNATURE = "rusEFI master.2024.10.21.f407-discovery.1717113764"; + public static final String TS_SIGNATURE = "rusEFI master.2024.10.21.f407-discovery.3127986523"; public static final char TS_SIMULATE_CAN = '>'; public static final char TS_SINGLE_WRITE_COMMAND = 'W'; public static final char TS_TEST_COMMAND = 't'; - public static final int TS_TOTAL_OUTPUT_SIZE = 1752; + public static final int TS_TOTAL_OUTPUT_SIZE = 1828; public static final String TS_TRIGGER_SCOPE_CHANNEL_1_NAME = "Channel 1"; public static final String TS_TRIGGER_SCOPE_CHANNEL_2_NAME = "Channel 2"; public static final int TS_TRIGGER_SCOPE_DISABLE = 5; @@ -2259,6 +2258,7 @@ public class Fields { public static final Field DEVBIT7 = Field.create("DEVBIT7", 1492, FieldType.BIT, 27).setBaseOffset(0); public static final Field INVERTEXHAUSTCAMVVTSIGNAL = Field.create("INVERTEXHAUSTCAMVVTSIGNAL", 1492, FieldType.BIT, 29).setBaseOffset(0); public static final Field ENABLEKNOCKSPECTROGRAM = Field.create("ENABLEKNOCKSPECTROGRAM", 1492, FieldType.BIT, 30).setBaseOffset(0); + public static final Field ENABLEKNOCKSPECTROGRAMFILTER = Field.create("ENABLEKNOCKSPECTROGRAMFILTER", 1492, FieldType.BIT, 31).setBaseOffset(0); public static final Field AFTERCRANKINGIACTAPERDURATION = Field.create("AFTERCRANKINGIACTAPERDURATION", 1496, FieldType.INT16).setScale(1.0).setBaseOffset(0); public static final Field IACBYTPSTAPER = Field.create("IACBYTPSTAPER", 1498, FieldType.INT16).setScale(1.0).setBaseOffset(0); public static final Field ACCELEROMETERCSPIN = Field.create("ACCELEROMETERCSPIN", 1504, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); @@ -2941,6 +2941,12 @@ public class Fields { public static final Field AUXLINEAR4_VALUE1 = Field.create("AUXLINEAR4_VALUE1", 3884, FieldType.FLOAT).setBaseOffset(0); public static final Field AUXLINEAR4_V2 = Field.create("AUXLINEAR4_V2", 3888, FieldType.FLOAT).setBaseOffset(0); public static final Field AUXLINEAR4_VALUE2 = Field.create("AUXLINEAR4_VALUE2", 3892, FieldType.FLOAT).setBaseOffset(0); + public static final Field KNOCKSUPPRESSMINTPS = Field.create("KNOCKSUPPRESSMINTPS", 3896, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field KNOCKFUELTRIMAGGRESSION = Field.create("KNOCKFUELTRIMAGGRESSION", 3897, FieldType.INT8).setScale(0.1).setBaseOffset(0); + public static final Field KNOCKFUELTRIMREAPPLYRATE = Field.create("KNOCKFUELTRIMREAPPLYRATE", 3898, FieldType.INT8).setScale(0.1).setBaseOffset(0); + public static final Field KNOCKFUELTRIM = Field.create("KNOCKFUELTRIM", 3899, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field KNOCKSPECTRUMSENSITIVITY = Field.create("KNOCKSPECTRUMSENSITIVITY", 3900, FieldType.FLOAT).setBaseOffset(0); + public static final Field KNOCKFREQUENCY = Field.create("KNOCKFREQUENCY", 3904, FieldType.FLOAT).setBaseOffset(0); public static final Field POSTCRANKINGFACTOR = Field.create("POSTCRANKINGFACTOR", 4024, FieldType.FLOAT).setBaseOffset(0); public static final Field POSTCRANKINGDURATIONBINS = Field.create("POSTCRANKINGDURATIONBINS", 4168, FieldType.FLOAT).setBaseOffset(0); public static final Field POSTCRANKINGCLTBINS = Field.create("POSTCRANKINGCLTBINS", 4192, FieldType.INT16).setScale(1.0).setBaseOffset(0); @@ -3960,6 +3966,7 @@ public class Fields { DEVBIT7, INVERTEXHAUSTCAMVVTSIGNAL, ENABLEKNOCKSPECTROGRAM, + ENABLEKNOCKSPECTROGRAMFILTER, AFTERCRANKINGIACTAPERDURATION, IACBYTPSTAPER, ACCELEROMETERCSPIN, @@ -4626,6 +4633,12 @@ public class Fields { AUXLINEAR4_VALUE1, AUXLINEAR4_V2, AUXLINEAR4_VALUE2, + KNOCKSUPPRESSMINTPS, + KNOCKFUELTRIMAGGRESSION, + KNOCKFUELTRIMREAPPLYRATE, + KNOCKFUELTRIM, + KNOCKSPECTRUMSENSITIVITY, + KNOCKFREQUENCY, POSTCRANKINGFACTOR, POSTCRANKINGDURATIONBINS, POSTCRANKINGCLTBINS, diff --git a/java_console/models/src/main/java/com/rusefi/config/generated/FuelPump.java b/java_console/models/src/main/java/com/rusefi/config/generated/FuelPump.java index 6f66d2e513..65a18ca8f3 100644 --- a/java_console/models/src/main/java/com/rusefi/config/generated/FuelPump.java +++ b/java_console/models/src/main/java/com/rusefi/config/generated/FuelPump.java @@ -6,10 +6,10 @@ package com.rusefi.config.generated; import com.rusefi.config.*; public class FuelPump { - public static final Field ISPRIME = Field.create("ISPRIME", 0, FieldType.BIT, 0).setBaseOffset(1116); - public static final Field ENGINETURNEDRECENTLY = Field.create("ENGINETURNEDRECENTLY", 0, FieldType.BIT, 1).setBaseOffset(1116); - public static final Field ISFUELPUMPON = Field.create("ISFUELPUMPON", 0, FieldType.BIT, 2).setBaseOffset(1116); - public static final Field IGNITIONON = Field.create("IGNITIONON", 0, FieldType.BIT, 3).setBaseOffset(1116); + public static final Field ISPRIME = Field.create("ISPRIME", 0, FieldType.BIT, 0).setBaseOffset(1192); + public static final Field ENGINETURNEDRECENTLY = Field.create("ENGINETURNEDRECENTLY", 0, FieldType.BIT, 1).setBaseOffset(1192); + public static final Field ISFUELPUMPON = Field.create("ISFUELPUMPON", 0, FieldType.BIT, 2).setBaseOffset(1192); + public static final Field IGNITIONON = Field.create("IGNITIONON", 0, FieldType.BIT, 3).setBaseOffset(1192); public static final Field[] VALUES = { ISPRIME, ENGINETURNEDRECENTLY, diff --git a/java_console/models/src/main/java/com/rusefi/config/generated/HighPressureFuelPump.java b/java_console/models/src/main/java/com/rusefi/config/generated/HighPressureFuelPump.java index 892017281f..df9efba7d9 100644 --- a/java_console/models/src/main/java/com/rusefi/config/generated/HighPressureFuelPump.java +++ b/java_console/models/src/main/java/com/rusefi/config/generated/HighPressureFuelPump.java @@ -6,15 +6,15 @@ package com.rusefi.config.generated; import com.rusefi.config.*; public class HighPressureFuelPump { - public static final Field M_REQUESTED_PUMP = Field.create("M_REQUESTED_PUMP", 0, FieldType.FLOAT).setBaseOffset(1004); - public static final Field FUEL_REQUESTED_PERCENT = Field.create("FUEL_REQUESTED_PERCENT", 4, FieldType.FLOAT).setBaseOffset(1004); - public static final Field FUEL_REQUESTED_PERCENT_PI = Field.create("FUEL_REQUESTED_PERCENT_PI", 8, FieldType.FLOAT).setBaseOffset(1004); - public static final Field NOVALVE = Field.create("NOVALVE", 12, FieldType.BIT, 0).setBaseOffset(1004); - public static final Field ANGLEABOVEMIN = Field.create("ANGLEABOVEMIN", 12, FieldType.BIT, 1).setBaseOffset(1004); - public static final Field ISHPFPINACTIVE = Field.create("ISHPFPINACTIVE", 12, FieldType.BIT, 2).setBaseOffset(1004); - public static final Field M_PRESSURETARGET_KPA = Field.create("M_PRESSURETARGET_KPA", 16, FieldType.FLOAT).setBaseOffset(1004); - public static final Field NEXTLOBE = Field.create("NEXTLOBE", 20, FieldType.FLOAT).setBaseOffset(1004); - public static final Field DI_NEXTSTART = Field.create("DI_NEXTSTART", 24, FieldType.FLOAT).setBaseOffset(1004); + public static final Field M_REQUESTED_PUMP = Field.create("M_REQUESTED_PUMP", 0, FieldType.FLOAT).setBaseOffset(1080); + public static final Field FUEL_REQUESTED_PERCENT = Field.create("FUEL_REQUESTED_PERCENT", 4, FieldType.FLOAT).setBaseOffset(1080); + public static final Field FUEL_REQUESTED_PERCENT_PI = Field.create("FUEL_REQUESTED_PERCENT_PI", 8, FieldType.FLOAT).setBaseOffset(1080); + public static final Field NOVALVE = Field.create("NOVALVE", 12, FieldType.BIT, 0).setBaseOffset(1080); + public static final Field ANGLEABOVEMIN = Field.create("ANGLEABOVEMIN", 12, FieldType.BIT, 1).setBaseOffset(1080); + public static final Field ISHPFPINACTIVE = Field.create("ISHPFPINACTIVE", 12, FieldType.BIT, 2).setBaseOffset(1080); + public static final Field M_PRESSURETARGET_KPA = Field.create("M_PRESSURETARGET_KPA", 16, FieldType.FLOAT).setBaseOffset(1080); + public static final Field NEXTLOBE = Field.create("NEXTLOBE", 20, FieldType.FLOAT).setBaseOffset(1080); + public static final Field DI_NEXTSTART = Field.create("DI_NEXTSTART", 24, FieldType.FLOAT).setBaseOffset(1080); public static final Field[] VALUES = { M_REQUESTED_PUMP, FUEL_REQUESTED_PERCENT, diff --git a/java_console/models/src/main/java/com/rusefi/config/generated/IdleState.java b/java_console/models/src/main/java/com/rusefi/config/generated/IdleState.java index 1bf9ddd107..824864d3fc 100644 --- a/java_console/models/src/main/java/com/rusefi/config/generated/IdleState.java +++ b/java_console/models/src/main/java/com/rusefi/config/generated/IdleState.java @@ -178,34 +178,34 @@ public class IdleState { public static final int TCU_GEAR_COUNT = 10; public static final int TPS_2_BYTE_PACKING_MULT = 100; public static final int VE_BLEND_COUNT = 4; - public static final Field IDLESTATE = Field.create("IDLESTATE", 0, FieldType.INT).setScale(1.0).setBaseOffset(1552); - public static final Field CURRENTIDLEPOSITION = Field.create("CURRENTIDLEPOSITION", 4, FieldType.FLOAT).setBaseOffset(1552); - public static final Field BASEIDLEPOSITION = Field.create("BASEIDLEPOSITION", 8, FieldType.FLOAT).setBaseOffset(1552); - public static final Field IDLECLOSEDLOOP = Field.create("IDLECLOSEDLOOP", 12, FieldType.FLOAT).setBaseOffset(1552); - public static final Field IACBYTPSTAPER = Field.create("IACBYTPSTAPER", 16, FieldType.FLOAT).setBaseOffset(1552); - public static final Field THROTTLEPEDALUPSTATE = Field.create("THROTTLEPEDALUPSTATE", 20, FieldType.INT).setScale(1.0).setBaseOffset(1552); - public static final Field MIGHTRESETPID = Field.create("MIGHTRESETPID", 24, FieldType.BIT, 0).setBaseOffset(1552); - public static final Field SHOULDRESETPID = Field.create("SHOULDRESETPID", 24, FieldType.BIT, 1).setBaseOffset(1552); - public static final Field WASRESETPID = Field.create("WASRESETPID", 24, FieldType.BIT, 2).setBaseOffset(1552); - public static final Field MUSTRESETPID = Field.create("MUSTRESETPID", 24, FieldType.BIT, 3).setBaseOffset(1552); - public static final Field ISCRANKING = Field.create("ISCRANKING", 24, FieldType.BIT, 4).setBaseOffset(1552); - public static final Field ISIACTABLEFORCOASTING = Field.create("ISIACTABLEFORCOASTING", 24, FieldType.BIT, 5).setBaseOffset(1552); - public static final Field NOTIDLING = Field.create("NOTIDLING", 24, FieldType.BIT, 6).setBaseOffset(1552); - public static final Field NEEDRESET = Field.create("NEEDRESET", 24, FieldType.BIT, 7).setBaseOffset(1552); - public static final Field ISINDEADZONE = Field.create("ISINDEADZONE", 24, FieldType.BIT, 8).setBaseOffset(1552); - public static final Field ISBLIPPING = Field.create("ISBLIPPING", 24, FieldType.BIT, 9).setBaseOffset(1552); - public static final Field USECLOSEDLOOP = Field.create("USECLOSEDLOOP", 24, FieldType.BIT, 10).setBaseOffset(1552); - public static final Field BADTPS = Field.create("BADTPS", 24, FieldType.BIT, 11).setBaseOffset(1552); - public static final Field LOOKSLIKERUNNING = Field.create("LOOKSLIKERUNNING", 24, FieldType.BIT, 12).setBaseOffset(1552); - public static final Field LOOKSLIKECOASTING = Field.create("LOOKSLIKECOASTING", 24, FieldType.BIT, 13).setBaseOffset(1552); - public static final Field LOOKSLIKECRANKTOIDLE = Field.create("LOOKSLIKECRANKTOIDLE", 24, FieldType.BIT, 14).setBaseOffset(1552); - public static final Field ISIDLECOASTING = Field.create("ISIDLECOASTING", 24, FieldType.BIT, 15).setBaseOffset(1552); - public static final Field ISIDLECLOSEDLOOP = Field.create("ISIDLECLOSEDLOOP", 24, FieldType.BIT, 16).setBaseOffset(1552); - public static final Field IDLETARGET = Field.create("IDLETARGET", 28, FieldType.INT).setScale(1.0).setBaseOffset(1552); - public static final Field TARGETRPMBYCLT = Field.create("TARGETRPMBYCLT", 32, FieldType.INT).setScale(1.0).setBaseOffset(1552); - public static final Field TARGETRPMAC = Field.create("TARGETRPMAC", 36, FieldType.INT).setScale(1.0).setBaseOffset(1552); - public static final Field IACBYRPMTAPER = Field.create("IACBYRPMTAPER", 40, FieldType.FLOAT).setBaseOffset(1552); - public static final Field LUAADD = Field.create("LUAADD", 44, FieldType.FLOAT).setBaseOffset(1552); + public static final Field IDLESTATE = Field.create("IDLESTATE", 0, FieldType.INT).setScale(1.0).setBaseOffset(1628); + public static final Field CURRENTIDLEPOSITION = Field.create("CURRENTIDLEPOSITION", 4, FieldType.FLOAT).setBaseOffset(1628); + public static final Field BASEIDLEPOSITION = Field.create("BASEIDLEPOSITION", 8, FieldType.FLOAT).setBaseOffset(1628); + public static final Field IDLECLOSEDLOOP = Field.create("IDLECLOSEDLOOP", 12, FieldType.FLOAT).setBaseOffset(1628); + public static final Field IACBYTPSTAPER = Field.create("IACBYTPSTAPER", 16, FieldType.FLOAT).setBaseOffset(1628); + public static final Field THROTTLEPEDALUPSTATE = Field.create("THROTTLEPEDALUPSTATE", 20, FieldType.INT).setScale(1.0).setBaseOffset(1628); + public static final Field MIGHTRESETPID = Field.create("MIGHTRESETPID", 24, FieldType.BIT, 0).setBaseOffset(1628); + public static final Field SHOULDRESETPID = Field.create("SHOULDRESETPID", 24, FieldType.BIT, 1).setBaseOffset(1628); + public static final Field WASRESETPID = Field.create("WASRESETPID", 24, FieldType.BIT, 2).setBaseOffset(1628); + public static final Field MUSTRESETPID = Field.create("MUSTRESETPID", 24, FieldType.BIT, 3).setBaseOffset(1628); + public static final Field ISCRANKING = Field.create("ISCRANKING", 24, FieldType.BIT, 4).setBaseOffset(1628); + public static final Field ISIACTABLEFORCOASTING = Field.create("ISIACTABLEFORCOASTING", 24, FieldType.BIT, 5).setBaseOffset(1628); + public static final Field NOTIDLING = Field.create("NOTIDLING", 24, FieldType.BIT, 6).setBaseOffset(1628); + public static final Field NEEDRESET = Field.create("NEEDRESET", 24, FieldType.BIT, 7).setBaseOffset(1628); + public static final Field ISINDEADZONE = Field.create("ISINDEADZONE", 24, FieldType.BIT, 8).setBaseOffset(1628); + public static final Field ISBLIPPING = Field.create("ISBLIPPING", 24, FieldType.BIT, 9).setBaseOffset(1628); + public static final Field USECLOSEDLOOP = Field.create("USECLOSEDLOOP", 24, FieldType.BIT, 10).setBaseOffset(1628); + public static final Field BADTPS = Field.create("BADTPS", 24, FieldType.BIT, 11).setBaseOffset(1628); + public static final Field LOOKSLIKERUNNING = Field.create("LOOKSLIKERUNNING", 24, FieldType.BIT, 12).setBaseOffset(1628); + public static final Field LOOKSLIKECOASTING = Field.create("LOOKSLIKECOASTING", 24, FieldType.BIT, 13).setBaseOffset(1628); + public static final Field LOOKSLIKECRANKTOIDLE = Field.create("LOOKSLIKECRANKTOIDLE", 24, FieldType.BIT, 14).setBaseOffset(1628); + public static final Field ISIDLECOASTING = Field.create("ISIDLECOASTING", 24, FieldType.BIT, 15).setBaseOffset(1628); + public static final Field ISIDLECLOSEDLOOP = Field.create("ISIDLECLOSEDLOOP", 24, FieldType.BIT, 16).setBaseOffset(1628); + public static final Field IDLETARGET = Field.create("IDLETARGET", 28, FieldType.INT).setScale(1.0).setBaseOffset(1628); + public static final Field TARGETRPMBYCLT = Field.create("TARGETRPMBYCLT", 32, FieldType.INT).setScale(1.0).setBaseOffset(1628); + public static final Field TARGETRPMAC = Field.create("TARGETRPMAC", 36, FieldType.INT).setScale(1.0).setBaseOffset(1628); + public static final Field IACBYRPMTAPER = Field.create("IACBYRPMTAPER", 40, FieldType.FLOAT).setBaseOffset(1628); + public static final Field LUAADD = Field.create("LUAADD", 44, FieldType.FLOAT).setBaseOffset(1628); public static final Field[] VALUES = { IDLESTATE, CURRENTIDLEPOSITION, diff --git a/java_console/models/src/main/java/com/rusefi/config/generated/InjectorModel.java b/java_console/models/src/main/java/com/rusefi/config/generated/InjectorModel.java index 328796ea13..2e541d2900 100644 --- a/java_console/models/src/main/java/com/rusefi/config/generated/InjectorModel.java +++ b/java_console/models/src/main/java/com/rusefi/config/generated/InjectorModel.java @@ -178,9 +178,9 @@ public class InjectorModel { public static final int TCU_GEAR_COUNT = 10; public static final int TPS_2_BYTE_PACKING_MULT = 100; public static final int VE_BLEND_COUNT = 4; - public static final Field M_DEADTIME = Field.create("M_DEADTIME", 0, FieldType.FLOAT).setBaseOffset(1032); - public static final Field PRESSUREDELTA = Field.create("PRESSUREDELTA", 4, FieldType.FLOAT).setBaseOffset(1032); - public static final Field PRESSURERATIO = Field.create("PRESSURERATIO", 8, FieldType.FLOAT).setBaseOffset(1032); + public static final Field M_DEADTIME = Field.create("M_DEADTIME", 0, FieldType.FLOAT).setBaseOffset(1108); + public static final Field PRESSUREDELTA = Field.create("PRESSUREDELTA", 4, FieldType.FLOAT).setBaseOffset(1108); + public static final Field PRESSURERATIO = Field.create("PRESSURERATIO", 8, FieldType.FLOAT).setBaseOffset(1108); public static final Field[] VALUES = { M_DEADTIME, PRESSUREDELTA, diff --git a/java_console/models/src/main/java/com/rusefi/config/generated/KnockController.java b/java_console/models/src/main/java/com/rusefi/config/generated/KnockController.java index f05630456c..0f620029d5 100644 --- a/java_console/models/src/main/java/com/rusefi/config/generated/KnockController.java +++ b/java_console/models/src/main/java/com/rusefi/config/generated/KnockController.java @@ -196,6 +196,26 @@ public class KnockController { public static final Field M_KNOCKCOUNT = Field.create("M_KNOCKCOUNT", 24, FieldType.INT).setScale(1.0).setBaseOffset(940); public static final Field M_MAXIMUMRETARD = Field.create("M_MAXIMUMRETARD", 28, FieldType.FLOAT).setBaseOffset(940); public static final Field M_KNOCKFREQUENCY = Field.create("M_KNOCKFREQUENCY", 32, FieldType.INT).setScale(1.0).setBaseOffset(940); + public static final Field M_KNOCKSPECTRUM1 = Field.create("M_KNOCKSPECTRUM1", 36, FieldType.INT).setScale(1.0).setBaseOffset(940); + public static final Field M_KNOCKSPECTRUM2 = Field.create("M_KNOCKSPECTRUM2", 40, FieldType.INT).setScale(1.0).setBaseOffset(940); + public static final Field M_KNOCKSPECTRUM3 = Field.create("M_KNOCKSPECTRUM3", 44, FieldType.INT).setScale(1.0).setBaseOffset(940); + public static final Field M_KNOCKSPECTRUM4 = Field.create("M_KNOCKSPECTRUM4", 48, FieldType.INT).setScale(1.0).setBaseOffset(940); + public static final Field M_KNOCKSPECTRUM5 = Field.create("M_KNOCKSPECTRUM5", 52, FieldType.INT).setScale(1.0).setBaseOffset(940); + public static final Field M_KNOCKSPECTRUM6 = Field.create("M_KNOCKSPECTRUM6", 56, FieldType.INT).setScale(1.0).setBaseOffset(940); + public static final Field M_KNOCKSPECTRUM7 = Field.create("M_KNOCKSPECTRUM7", 60, FieldType.INT).setScale(1.0).setBaseOffset(940); + public static final Field M_KNOCKSPECTRUM8 = Field.create("M_KNOCKSPECTRUM8", 64, FieldType.INT).setScale(1.0).setBaseOffset(940); + public static final Field M_KNOCKSPECTRUM9 = Field.create("M_KNOCKSPECTRUM9", 68, FieldType.INT).setScale(1.0).setBaseOffset(940); + public static final Field M_KNOCKSPECTRUM10 = Field.create("M_KNOCKSPECTRUM10", 72, FieldType.INT).setScale(1.0).setBaseOffset(940); + public static final Field M_KNOCKSPECTRUM11 = Field.create("M_KNOCKSPECTRUM11", 76, FieldType.INT).setScale(1.0).setBaseOffset(940); + public static final Field M_KNOCKSPECTRUM12 = Field.create("M_KNOCKSPECTRUM12", 80, FieldType.INT).setScale(1.0).setBaseOffset(940); + public static final Field M_KNOCKSPECTRUM13 = Field.create("M_KNOCKSPECTRUM13", 84, FieldType.INT).setScale(1.0).setBaseOffset(940); + public static final Field M_KNOCKSPECTRUM14 = Field.create("M_KNOCKSPECTRUM14", 88, FieldType.INT).setScale(1.0).setBaseOffset(940); + public static final Field M_KNOCKSPECTRUM15 = Field.create("M_KNOCKSPECTRUM15", 92, FieldType.INT).setScale(1.0).setBaseOffset(940); + public static final Field M_KNOCKSPECTRUM16 = Field.create("M_KNOCKSPECTRUM16", 96, FieldType.INT).setScale(1.0).setBaseOffset(940); + public static final Field M_KNOCKSPECTRUMCHANNELCYL = Field.create("M_KNOCKSPECTRUMCHANNELCYL", 100, FieldType.INT16).setScale(1.0).setBaseOffset(940); + public static final Field M_KNOCKFREQUENCYSTART = Field.create("M_KNOCKFREQUENCYSTART", 102, FieldType.INT16).setScale(1.0).setBaseOffset(940); + public static final Field M_KNOCKFREQUENCYSTEP = Field.create("M_KNOCKFREQUENCYSTEP", 104, FieldType.FLOAT).setBaseOffset(940); + public static final Field M_KNOCKFUELTRIMMULTIPLIER = Field.create("M_KNOCKFUELTRIMMULTIPLIER", 108, FieldType.FLOAT).setBaseOffset(940); public static final Field[] VALUES = { M_KNOCKLEVEL, M_KNOCKCYL1, @@ -215,5 +235,25 @@ public class KnockController { M_KNOCKCOUNT, M_MAXIMUMRETARD, M_KNOCKFREQUENCY, + M_KNOCKSPECTRUM1, + M_KNOCKSPECTRUM2, + M_KNOCKSPECTRUM3, + M_KNOCKSPECTRUM4, + M_KNOCKSPECTRUM5, + M_KNOCKSPECTRUM6, + M_KNOCKSPECTRUM7, + M_KNOCKSPECTRUM8, + M_KNOCKSPECTRUM9, + M_KNOCKSPECTRUM10, + M_KNOCKSPECTRUM11, + M_KNOCKSPECTRUM12, + M_KNOCKSPECTRUM13, + M_KNOCKSPECTRUM14, + M_KNOCKSPECTRUM15, + M_KNOCKSPECTRUM16, + M_KNOCKSPECTRUMCHANNELCYL, + M_KNOCKFREQUENCYSTART, + M_KNOCKFREQUENCYSTEP, + M_KNOCKFUELTRIMMULTIPLIER, }; } diff --git a/java_console/models/src/main/java/com/rusefi/config/generated/LambdaMonitor.java b/java_console/models/src/main/java/com/rusefi/config/generated/LambdaMonitor.java index dd9fcd4859..50848ce0db 100644 --- a/java_console/models/src/main/java/com/rusefi/config/generated/LambdaMonitor.java +++ b/java_console/models/src/main/java/com/rusefi/config/generated/LambdaMonitor.java @@ -6,10 +6,10 @@ package com.rusefi.config.generated; import com.rusefi.config.*; public class LambdaMonitor { - public static final Field LAMBDACURRENTLYGOOD = Field.create("LAMBDACURRENTLYGOOD", 0, FieldType.BIT, 0).setBaseOffset(1744); - public static final Field LAMBDAMONITORCUT = Field.create("LAMBDAMONITORCUT", 0, FieldType.BIT, 1).setBaseOffset(1744); - public static final Field LAMBDATIMESINCEGOOD = Field.create("LAMBDATIMESINCEGOOD", 4, FieldType.INT16).setScale(0.01).setBaseOffset(1744); - public static final Field ALIGNMENTFILL_AT_6 = Field.create("ALIGNMENTFILL_AT_6", 6, FieldType.INT8).setScale(1.0).setBaseOffset(1744); + public static final Field LAMBDACURRENTLYGOOD = Field.create("LAMBDACURRENTLYGOOD", 0, FieldType.BIT, 0).setBaseOffset(1820); + public static final Field LAMBDAMONITORCUT = Field.create("LAMBDAMONITORCUT", 0, FieldType.BIT, 1).setBaseOffset(1820); + public static final Field LAMBDATIMESINCEGOOD = Field.create("LAMBDATIMESINCEGOOD", 4, FieldType.INT16).setScale(0.01).setBaseOffset(1820); + public static final Field ALIGNMENTFILL_AT_6 = Field.create("ALIGNMENTFILL_AT_6", 6, FieldType.INT8).setScale(1.0).setBaseOffset(1820); public static final Field[] VALUES = { LAMBDACURRENTLYGOOD, LAMBDAMONITORCUT, diff --git a/java_console/models/src/main/java/com/rusefi/config/generated/LaunchControl.java b/java_console/models/src/main/java/com/rusefi/config/generated/LaunchControl.java index 0f192a1c3a..12ff96e31b 100644 --- a/java_console/models/src/main/java/com/rusefi/config/generated/LaunchControl.java +++ b/java_console/models/src/main/java/com/rusefi/config/generated/LaunchControl.java @@ -6,19 +6,19 @@ package com.rusefi.config.generated; import com.rusefi.config.*; public class LaunchControl { - public static final Field RETARDTHRESHOLDRPM = Field.create("RETARDTHRESHOLDRPM", 0, FieldType.INT).setScale(1.0).setBaseOffset(1044); - public static final Field LAUNCHACTIVATEPINSTATE = Field.create("LAUNCHACTIVATEPINSTATE", 4, FieldType.BIT, 0).setBaseOffset(1044); - public static final Field ISPRELAUNCHCONDITION = Field.create("ISPRELAUNCHCONDITION", 4, FieldType.BIT, 1).setBaseOffset(1044); - public static final Field ISLAUNCHCONDITION = Field.create("ISLAUNCHCONDITION", 4, FieldType.BIT, 2).setBaseOffset(1044); - public static final Field ISSWITCHACTIVATED = Field.create("ISSWITCHACTIVATED", 4, FieldType.BIT, 3).setBaseOffset(1044); - public static final Field ISCLUTCHACTIVATED = Field.create("ISCLUTCHACTIVATED", 4, FieldType.BIT, 4).setBaseOffset(1044); - public static final Field ISBRAKEPEDALACTIVATED = Field.create("ISBRAKEPEDALACTIVATED", 4, FieldType.BIT, 5).setBaseOffset(1044); - public static final Field ISVALIDINPUTPIN = Field.create("ISVALIDINPUTPIN", 4, FieldType.BIT, 6).setBaseOffset(1044); - public static final Field ACTIVATESWITCHCONDITION = Field.create("ACTIVATESWITCHCONDITION", 4, FieldType.BIT, 7).setBaseOffset(1044); - public static final Field RPMLAUNCHCONDITION = Field.create("RPMLAUNCHCONDITION", 4, FieldType.BIT, 8).setBaseOffset(1044); - public static final Field RPMPRELAUNCHCONDITION = Field.create("RPMPRELAUNCHCONDITION", 4, FieldType.BIT, 9).setBaseOffset(1044); - public static final Field SPEEDCONDITION = Field.create("SPEEDCONDITION", 4, FieldType.BIT, 10).setBaseOffset(1044); - public static final Field TPSCONDITION = Field.create("TPSCONDITION", 4, FieldType.BIT, 11).setBaseOffset(1044); + public static final Field RETARDTHRESHOLDRPM = Field.create("RETARDTHRESHOLDRPM", 0, FieldType.INT).setScale(1.0).setBaseOffset(1120); + public static final Field LAUNCHACTIVATEPINSTATE = Field.create("LAUNCHACTIVATEPINSTATE", 4, FieldType.BIT, 0).setBaseOffset(1120); + public static final Field ISPRELAUNCHCONDITION = Field.create("ISPRELAUNCHCONDITION", 4, FieldType.BIT, 1).setBaseOffset(1120); + public static final Field ISLAUNCHCONDITION = Field.create("ISLAUNCHCONDITION", 4, FieldType.BIT, 2).setBaseOffset(1120); + public static final Field ISSWITCHACTIVATED = Field.create("ISSWITCHACTIVATED", 4, FieldType.BIT, 3).setBaseOffset(1120); + public static final Field ISCLUTCHACTIVATED = Field.create("ISCLUTCHACTIVATED", 4, FieldType.BIT, 4).setBaseOffset(1120); + public static final Field ISBRAKEPEDALACTIVATED = Field.create("ISBRAKEPEDALACTIVATED", 4, FieldType.BIT, 5).setBaseOffset(1120); + public static final Field ISVALIDINPUTPIN = Field.create("ISVALIDINPUTPIN", 4, FieldType.BIT, 6).setBaseOffset(1120); + public static final Field ACTIVATESWITCHCONDITION = Field.create("ACTIVATESWITCHCONDITION", 4, FieldType.BIT, 7).setBaseOffset(1120); + public static final Field RPMLAUNCHCONDITION = Field.create("RPMLAUNCHCONDITION", 4, FieldType.BIT, 8).setBaseOffset(1120); + public static final Field RPMPRELAUNCHCONDITION = Field.create("RPMPRELAUNCHCONDITION", 4, FieldType.BIT, 9).setBaseOffset(1120); + public static final Field SPEEDCONDITION = Field.create("SPEEDCONDITION", 4, FieldType.BIT, 10).setBaseOffset(1120); + public static final Field TPSCONDITION = Field.create("TPSCONDITION", 4, FieldType.BIT, 11).setBaseOffset(1120); public static final Field[] VALUES = { RETARDTHRESHOLDRPM, LAUNCHACTIVATEPINSTATE, diff --git a/java_console/models/src/main/java/com/rusefi/config/generated/MainRelay.java b/java_console/models/src/main/java/com/rusefi/config/generated/MainRelay.java index 54cbb06c07..601002db83 100644 --- a/java_console/models/src/main/java/com/rusefi/config/generated/MainRelay.java +++ b/java_console/models/src/main/java/com/rusefi/config/generated/MainRelay.java @@ -6,10 +6,10 @@ package com.rusefi.config.generated; import com.rusefi.config.*; public class MainRelay { - public static final Field ISBENCHTEST = Field.create("ISBENCHTEST", 0, FieldType.BIT, 0).setBaseOffset(1120); - public static final Field HASIGNITIONVOLTAGE = Field.create("HASIGNITIONVOLTAGE", 0, FieldType.BIT, 1).setBaseOffset(1120); - public static final Field MAINRELAYSTATE = Field.create("MAINRELAYSTATE", 0, FieldType.BIT, 2).setBaseOffset(1120); - public static final Field DELAYEDSHUTOFFREQUESTED = Field.create("DELAYEDSHUTOFFREQUESTED", 0, FieldType.BIT, 3).setBaseOffset(1120); + public static final Field ISBENCHTEST = Field.create("ISBENCHTEST", 0, FieldType.BIT, 0).setBaseOffset(1196); + public static final Field HASIGNITIONVOLTAGE = Field.create("HASIGNITIONVOLTAGE", 0, FieldType.BIT, 1).setBaseOffset(1196); + public static final Field MAINRELAYSTATE = Field.create("MAINRELAYSTATE", 0, FieldType.BIT, 2).setBaseOffset(1196); + public static final Field DELAYEDSHUTOFFREQUESTED = Field.create("DELAYEDSHUTOFFREQUESTED", 0, FieldType.BIT, 3).setBaseOffset(1196); public static final Field[] VALUES = { ISBENCHTEST, HASIGNITIONVOLTAGE, diff --git a/java_console/models/src/main/java/com/rusefi/config/generated/SentState.java b/java_console/models/src/main/java/com/rusefi/config/generated/SentState.java index faf2388d38..f37f02edfa 100644 --- a/java_console/models/src/main/java/com/rusefi/config/generated/SentState.java +++ b/java_console/models/src/main/java/com/rusefi/config/generated/SentState.java @@ -178,9 +178,9 @@ public class SentState { public static final int TCU_GEAR_COUNT = 10; public static final int TPS_2_BYTE_PACKING_MULT = 100; public static final int VE_BLEND_COUNT = 4; - public static final Field VALUE0 = Field.create("VALUE0", 0, FieldType.INT16).setScale(1.0).setBaseOffset(1732); - public static final Field VALUE1 = Field.create("VALUE1", 2, FieldType.INT16).setScale(1.0).setBaseOffset(1732); - public static final Field ERRORRATE = Field.create("ERRORRATE", 4, FieldType.FLOAT).setBaseOffset(1732); + public static final Field VALUE0 = Field.create("VALUE0", 0, FieldType.INT16).setScale(1.0).setBaseOffset(1808); + public static final Field VALUE1 = Field.create("VALUE1", 2, FieldType.INT16).setScale(1.0).setBaseOffset(1808); + public static final Field ERRORRATE = Field.create("ERRORRATE", 4, FieldType.FLOAT).setBaseOffset(1808); public static final Field[] VALUES = { VALUE0, VALUE1, diff --git a/java_console/models/src/main/java/com/rusefi/config/generated/ShiftTorqueReductionController.java b/java_console/models/src/main/java/com/rusefi/config/generated/ShiftTorqueReductionController.java index 759bf5ffdb..69f7fcab4b 100644 --- a/java_console/models/src/main/java/com/rusefi/config/generated/ShiftTorqueReductionController.java +++ b/java_console/models/src/main/java/com/rusefi/config/generated/ShiftTorqueReductionController.java @@ -6,12 +6,12 @@ package com.rusefi.config.generated; import com.rusefi.config.*; public class ShiftTorqueReductionController { - public static final Field ISTORQUEREDUCTIONTRIGGERPINVALID = Field.create("ISTORQUEREDUCTIONTRIGGERPINVALID", 0, FieldType.BIT, 0).setBaseOffset(1052); - public static final Field TORQUEREDUCTIONTRIGGERPINSTATE = Field.create("TORQUEREDUCTIONTRIGGERPINSTATE", 0, FieldType.BIT, 1).setBaseOffset(1052); - public static final Field ISTIMECONDITIONSATISFIED = Field.create("ISTIMECONDITIONSATISFIED", 0, FieldType.BIT, 2).setBaseOffset(1052); - public static final Field ISRPMCONDITIONSATISFIED = Field.create("ISRPMCONDITIONSATISFIED", 0, FieldType.BIT, 3).setBaseOffset(1052); - public static final Field ISAPPCONDITIONSATISFIED = Field.create("ISAPPCONDITIONSATISFIED", 0, FieldType.BIT, 4).setBaseOffset(1052); - public static final Field ISFLATSHIFTCONDITIONSATISFIED = Field.create("ISFLATSHIFTCONDITIONSATISFIED", 0, FieldType.BIT, 5).setBaseOffset(1052); + public static final Field ISTORQUEREDUCTIONTRIGGERPINVALID = Field.create("ISTORQUEREDUCTIONTRIGGERPINVALID", 0, FieldType.BIT, 0).setBaseOffset(1128); + public static final Field TORQUEREDUCTIONTRIGGERPINSTATE = Field.create("TORQUEREDUCTIONTRIGGERPINSTATE", 0, FieldType.BIT, 1).setBaseOffset(1128); + public static final Field ISTIMECONDITIONSATISFIED = Field.create("ISTIMECONDITIONSATISFIED", 0, FieldType.BIT, 2).setBaseOffset(1128); + public static final Field ISRPMCONDITIONSATISFIED = Field.create("ISRPMCONDITIONSATISFIED", 0, FieldType.BIT, 3).setBaseOffset(1128); + public static final Field ISAPPCONDITIONSATISFIED = Field.create("ISAPPCONDITIONSATISFIED", 0, FieldType.BIT, 4).setBaseOffset(1128); + public static final Field ISFLATSHIFTCONDITIONSATISFIED = Field.create("ISFLATSHIFTCONDITIONSATISFIED", 0, FieldType.BIT, 5).setBaseOffset(1128); public static final Field[] VALUES = { ISTORQUEREDUCTIONTRIGGERPINVALID, TORQUEREDUCTIONTRIGGERPINSTATE, diff --git a/java_console/models/src/main/java/com/rusefi/config/generated/TcuController.java b/java_console/models/src/main/java/com/rusefi/config/generated/TcuController.java index ec33a2e9c1..24877f8e1e 100644 --- a/java_console/models/src/main/java/com/rusefi/config/generated/TcuController.java +++ b/java_console/models/src/main/java/com/rusefi/config/generated/TcuController.java @@ -178,15 +178,15 @@ public class TcuController { public static final int TCU_GEAR_COUNT = 10; public static final int TPS_2_BYTE_PACKING_MULT = 100; public static final int VE_BLEND_COUNT = 4; - public static final Field TCUCURRENTGEAR = Field.create("TCUCURRENTGEAR", 0, FieldType.INT8).setScale(1.0).setBaseOffset(976); - public static final Field ALIGNMENTFILL_AT_1 = Field.create("ALIGNMENTFILL_AT_1", 1, FieldType.INT8).setScale(1.0).setBaseOffset(976); - public static final Field TCRATIO = Field.create("TCRATIO", 2, FieldType.INT16).setScale(0.01).setBaseOffset(976); - public static final Field LASTSHIFTTIME = Field.create("LASTSHIFTTIME", 4, FieldType.FLOAT).setBaseOffset(976); - public static final Field TCU_CURRENTRANGE = Field.create("TCU_CURRENTRANGE", 8, FieldType.INT8).setScale(1.0).setBaseOffset(976); - public static final Field PRESSURECONTROLDUTY = Field.create("PRESSURECONTROLDUTY", 9, FieldType.INT8).setScale(1.0).setBaseOffset(976); - public static final Field TORQUECONVERTERDUTY = Field.create("TORQUECONVERTERDUTY", 10, FieldType.INT8).setScale(1.0).setBaseOffset(976); - public static final Field ALIGNMENTFILL_AT_11 = Field.create("ALIGNMENTFILL_AT_11", 11, FieldType.INT8).setScale(1.0).setBaseOffset(976); - public static final Field ISSHIFTING = Field.create("ISSHIFTING", 12, FieldType.BIT, 0).setBaseOffset(976); + public static final Field TCUCURRENTGEAR = Field.create("TCUCURRENTGEAR", 0, FieldType.INT8).setScale(1.0).setBaseOffset(1052); + public static final Field ALIGNMENTFILL_AT_1 = Field.create("ALIGNMENTFILL_AT_1", 1, FieldType.INT8).setScale(1.0).setBaseOffset(1052); + public static final Field TCRATIO = Field.create("TCRATIO", 2, FieldType.INT16).setScale(0.01).setBaseOffset(1052); + public static final Field LASTSHIFTTIME = Field.create("LASTSHIFTTIME", 4, FieldType.FLOAT).setBaseOffset(1052); + public static final Field TCU_CURRENTRANGE = Field.create("TCU_CURRENTRANGE", 8, FieldType.INT8).setScale(1.0).setBaseOffset(1052); + public static final Field PRESSURECONTROLDUTY = Field.create("PRESSURECONTROLDUTY", 9, FieldType.INT8).setScale(1.0).setBaseOffset(1052); + public static final Field TORQUECONVERTERDUTY = Field.create("TORQUECONVERTERDUTY", 10, FieldType.INT8).setScale(1.0).setBaseOffset(1052); + public static final Field ALIGNMENTFILL_AT_11 = Field.create("ALIGNMENTFILL_AT_11", 11, FieldType.INT8).setScale(1.0).setBaseOffset(1052); + public static final Field ISSHIFTING = Field.create("ISSHIFTING", 12, FieldType.BIT, 0).setBaseOffset(1052); public static final Field[] VALUES = { TCUCURRENTGEAR, ALIGNMENTFILL_AT_1, diff --git a/java_console/models/src/main/java/com/rusefi/config/generated/ThrottleModel.java b/java_console/models/src/main/java/com/rusefi/config/generated/ThrottleModel.java index 761b82c73d..622bb763c2 100644 --- a/java_console/models/src/main/java/com/rusefi/config/generated/ThrottleModel.java +++ b/java_console/models/src/main/java/com/rusefi/config/generated/ThrottleModel.java @@ -6,10 +6,10 @@ package com.rusefi.config.generated; import com.rusefi.config.*; public class ThrottleModel { - public static final Field THROTTLEUSEWOTMODEL = Field.create("THROTTLEUSEWOTMODEL", 0, FieldType.BIT, 0).setBaseOffset(992); - public static final Field THROTTLEMODELCROSSOVERANGLE = Field.create("THROTTLEMODELCROSSOVERANGLE", 4, FieldType.INT16).setScale(0.01).setBaseOffset(992); - public static final Field ALIGNMENTFILL_AT_6 = Field.create("ALIGNMENTFILL_AT_6", 6, FieldType.INT8).setScale(1.0).setBaseOffset(992); - public static final Field THROTTLEESTIMATEDFLOW = Field.create("THROTTLEESTIMATEDFLOW", 8, FieldType.FLOAT).setBaseOffset(992); + public static final Field THROTTLEUSEWOTMODEL = Field.create("THROTTLEUSEWOTMODEL", 0, FieldType.BIT, 0).setBaseOffset(1068); + public static final Field THROTTLEMODELCROSSOVERANGLE = Field.create("THROTTLEMODELCROSSOVERANGLE", 4, FieldType.INT16).setScale(0.01).setBaseOffset(1068); + public static final Field ALIGNMENTFILL_AT_6 = Field.create("ALIGNMENTFILL_AT_6", 6, FieldType.INT8).setScale(1.0).setBaseOffset(1068); + public static final Field THROTTLEESTIMATEDFLOW = Field.create("THROTTLEESTIMATEDFLOW", 8, FieldType.FLOAT).setBaseOffset(1068); public static final Field[] VALUES = { THROTTLEUSEWOTMODEL, THROTTLEMODELCROSSOVERANGLE, diff --git a/java_console/models/src/main/java/com/rusefi/config/generated/TpsAccelState.java b/java_console/models/src/main/java/com/rusefi/config/generated/TpsAccelState.java index 7167d6cebc..b0aec6fca5 100644 --- a/java_console/models/src/main/java/com/rusefi/config/generated/TpsAccelState.java +++ b/java_console/models/src/main/java/com/rusefi/config/generated/TpsAccelState.java @@ -178,23 +178,23 @@ public class TpsAccelState { public static final int TCU_GEAR_COUNT = 10; public static final int TPS_2_BYTE_PACKING_MULT = 100; public static final int VE_BLEND_COUNT = 4; - public static final Field TPSFROM = Field.create("TPSFROM", 0, FieldType.FLOAT).setBaseOffset(1224); - public static final Field TPSTO = Field.create("TPSTO", 4, FieldType.FLOAT).setBaseOffset(1224); - public static final Field DELTATPS = Field.create("DELTATPS", 8, FieldType.FLOAT).setBaseOffset(1224); - public static final Field EXTRAFUEL = Field.create("EXTRAFUEL", 12, FieldType.FLOAT).setBaseOffset(1224); - public static final Field VALUEFROMTABLE = Field.create("VALUEFROMTABLE", 16, FieldType.FLOAT).setBaseOffset(1224); - public static final Field ISABOVEACCELTHRESHOLD = Field.create("ISABOVEACCELTHRESHOLD", 20, FieldType.BIT, 0).setBaseOffset(1224); - public static final Field ISBELOWDECELTHRESHOLD = Field.create("ISBELOWDECELTHRESHOLD", 20, FieldType.BIT, 1).setBaseOffset(1224); - public static final Field ISTIMETORESETACCUMULATOR = Field.create("ISTIMETORESETACCUMULATOR", 20, FieldType.BIT, 2).setBaseOffset(1224); - public static final Field ISFRACTIONALENRICHMENT = Field.create("ISFRACTIONALENRICHMENT", 20, FieldType.BIT, 3).setBaseOffset(1224); - public static final Field BELOWEPSILON = Field.create("BELOWEPSILON", 20, FieldType.BIT, 4).setBaseOffset(1224); - public static final Field TOOSHORT = Field.create("TOOSHORT", 20, FieldType.BIT, 5).setBaseOffset(1224); - public static final Field FRACTIONALINJFUEL = Field.create("FRACTIONALINJFUEL", 24, FieldType.FLOAT).setBaseOffset(1224); - public static final Field ACCUMULATEDVALUE = Field.create("ACCUMULATEDVALUE", 28, FieldType.FLOAT).setBaseOffset(1224); - public static final Field MAXEXTRAPERCYCLE = Field.create("MAXEXTRAPERCYCLE", 32, FieldType.FLOAT).setBaseOffset(1224); - public static final Field MAXEXTRAPERPERIOD = Field.create("MAXEXTRAPERPERIOD", 36, FieldType.FLOAT).setBaseOffset(1224); - public static final Field MAXINJECTEDPERPERIOD = Field.create("MAXINJECTEDPERPERIOD", 40, FieldType.FLOAT).setBaseOffset(1224); - public static final Field CYCLECNT = Field.create("CYCLECNT", 44, FieldType.INT).setScale(1.0).setBaseOffset(1224); + public static final Field TPSFROM = Field.create("TPSFROM", 0, FieldType.FLOAT).setBaseOffset(1300); + public static final Field TPSTO = Field.create("TPSTO", 4, FieldType.FLOAT).setBaseOffset(1300); + public static final Field DELTATPS = Field.create("DELTATPS", 8, FieldType.FLOAT).setBaseOffset(1300); + public static final Field EXTRAFUEL = Field.create("EXTRAFUEL", 12, FieldType.FLOAT).setBaseOffset(1300); + public static final Field VALUEFROMTABLE = Field.create("VALUEFROMTABLE", 16, FieldType.FLOAT).setBaseOffset(1300); + public static final Field ISABOVEACCELTHRESHOLD = Field.create("ISABOVEACCELTHRESHOLD", 20, FieldType.BIT, 0).setBaseOffset(1300); + public static final Field ISBELOWDECELTHRESHOLD = Field.create("ISBELOWDECELTHRESHOLD", 20, FieldType.BIT, 1).setBaseOffset(1300); + public static final Field ISTIMETORESETACCUMULATOR = Field.create("ISTIMETORESETACCUMULATOR", 20, FieldType.BIT, 2).setBaseOffset(1300); + public static final Field ISFRACTIONALENRICHMENT = Field.create("ISFRACTIONALENRICHMENT", 20, FieldType.BIT, 3).setBaseOffset(1300); + public static final Field BELOWEPSILON = Field.create("BELOWEPSILON", 20, FieldType.BIT, 4).setBaseOffset(1300); + public static final Field TOOSHORT = Field.create("TOOSHORT", 20, FieldType.BIT, 5).setBaseOffset(1300); + public static final Field FRACTIONALINJFUEL = Field.create("FRACTIONALINJFUEL", 24, FieldType.FLOAT).setBaseOffset(1300); + public static final Field ACCUMULATEDVALUE = Field.create("ACCUMULATEDVALUE", 28, FieldType.FLOAT).setBaseOffset(1300); + public static final Field MAXEXTRAPERCYCLE = Field.create("MAXEXTRAPERCYCLE", 32, FieldType.FLOAT).setBaseOffset(1300); + public static final Field MAXEXTRAPERPERIOD = Field.create("MAXEXTRAPERPERIOD", 36, FieldType.FLOAT).setBaseOffset(1300); + public static final Field MAXINJECTEDPERPERIOD = Field.create("MAXINJECTEDPERPERIOD", 40, FieldType.FLOAT).setBaseOffset(1300); + public static final Field CYCLECNT = Field.create("CYCLECNT", 44, FieldType.INT).setScale(1.0).setBaseOffset(1300); public static final Field[] VALUES = { TPSFROM, TPSTO, diff --git a/java_console/models/src/main/java/com/rusefi/config/generated/TriggerCentral.java b/java_console/models/src/main/java/com/rusefi/config/generated/TriggerCentral.java index 78b7cad6f8..4272c76f8f 100644 --- a/java_console/models/src/main/java/com/rusefi/config/generated/TriggerCentral.java +++ b/java_console/models/src/main/java/com/rusefi/config/generated/TriggerCentral.java @@ -7,25 +7,25 @@ import com.rusefi.config.*; public class TriggerCentral { public static final int HW_EVENT_TYPES = 6; - public static final Field HWEVENTCOUNTERS1 = Field.create("HWEVENTCOUNTERS1", 0, FieldType.INT).setScale(1.0).setBaseOffset(1272); - public static final Field HWEVENTCOUNTERS2 = Field.create("HWEVENTCOUNTERS2", 4, FieldType.INT).setScale(1.0).setBaseOffset(1272); - public static final Field HWEVENTCOUNTERS3 = Field.create("HWEVENTCOUNTERS3", 8, FieldType.INT).setScale(1.0).setBaseOffset(1272); - public static final Field HWEVENTCOUNTERS4 = Field.create("HWEVENTCOUNTERS4", 12, FieldType.INT).setScale(1.0).setBaseOffset(1272); - public static final Field HWEVENTCOUNTERS5 = Field.create("HWEVENTCOUNTERS5", 16, FieldType.INT).setScale(1.0).setBaseOffset(1272); - public static final Field HWEVENTCOUNTERS6 = Field.create("HWEVENTCOUNTERS6", 20, FieldType.INT).setScale(1.0).setBaseOffset(1272); - public static final Field VVTCAMCOUNTER = Field.create("VVTCAMCOUNTER", 24, FieldType.INT).setScale(1.0).setBaseOffset(1272); - public static final Field MAPVVT_MAP_AT_SPECIAL_POINT = Field.create("MAPVVT_MAP_AT_SPECIAL_POINT", 28, FieldType.FLOAT).setBaseOffset(1272); - public static final Field MAPVVT_MAP_AT_DIFF = Field.create("MAPVVT_MAP_AT_DIFF", 32, FieldType.FLOAT).setBaseOffset(1272); - public static final Field MAPVVT_MAP_AT_CYCLE_COUNT = Field.create("MAPVVT_MAP_AT_CYCLE_COUNT", 36, FieldType.INT8).setScale(1.0).setBaseOffset(1272); - public static final Field MAPVVT_SYNC_COUNTER = Field.create("MAPVVT_SYNC_COUNTER", 37, FieldType.INT8).setScale(1.0).setBaseOffset(1272); - public static final Field ALIGNMENTFILL_AT_38 = Field.create("ALIGNMENTFILL_AT_38", 38, FieldType.INT8).setScale(1.0).setBaseOffset(1272); - public static final Field CURRENTENGINEDECODEDPHASE = Field.create("CURRENTENGINEDECODEDPHASE", 40, FieldType.FLOAT).setBaseOffset(1272); - public static final Field TRIGGERTOOTHANGLEERROR = Field.create("TRIGGERTOOTHANGLEERROR", 44, FieldType.FLOAT).setBaseOffset(1272); - public static final Field TRIGGERIGNOREDTOOTHCOUNT = Field.create("TRIGGERIGNOREDTOOTHCOUNT", 48, FieldType.INT8).setScale(1.0).setBaseOffset(1272); - public static final Field ALIGNMENTFILL_AT_49 = Field.create("ALIGNMENTFILL_AT_49", 49, FieldType.INT8).setScale(1.0).setBaseOffset(1272); - public static final Field MAPCAMPREVTOOTHANGLE = Field.create("MAPCAMPREVTOOTHANGLE", 52, FieldType.FLOAT).setBaseOffset(1272); - public static final Field ISDECODINGMAPCAM = Field.create("ISDECODINGMAPCAM", 56, FieldType.BIT, 0).setBaseOffset(1272); - public static final Field TRIGGERELAPSEDUS = Field.create("TRIGGERELAPSEDUS", 60, FieldType.INT).setScale(1.0).setBaseOffset(1272); + public static final Field HWEVENTCOUNTERS1 = Field.create("HWEVENTCOUNTERS1", 0, FieldType.INT).setScale(1.0).setBaseOffset(1348); + public static final Field HWEVENTCOUNTERS2 = Field.create("HWEVENTCOUNTERS2", 4, FieldType.INT).setScale(1.0).setBaseOffset(1348); + public static final Field HWEVENTCOUNTERS3 = Field.create("HWEVENTCOUNTERS3", 8, FieldType.INT).setScale(1.0).setBaseOffset(1348); + public static final Field HWEVENTCOUNTERS4 = Field.create("HWEVENTCOUNTERS4", 12, FieldType.INT).setScale(1.0).setBaseOffset(1348); + public static final Field HWEVENTCOUNTERS5 = Field.create("HWEVENTCOUNTERS5", 16, FieldType.INT).setScale(1.0).setBaseOffset(1348); + public static final Field HWEVENTCOUNTERS6 = Field.create("HWEVENTCOUNTERS6", 20, FieldType.INT).setScale(1.0).setBaseOffset(1348); + public static final Field VVTCAMCOUNTER = Field.create("VVTCAMCOUNTER", 24, FieldType.INT).setScale(1.0).setBaseOffset(1348); + public static final Field MAPVVT_MAP_AT_SPECIAL_POINT = Field.create("MAPVVT_MAP_AT_SPECIAL_POINT", 28, FieldType.FLOAT).setBaseOffset(1348); + public static final Field MAPVVT_MAP_AT_DIFF = Field.create("MAPVVT_MAP_AT_DIFF", 32, FieldType.FLOAT).setBaseOffset(1348); + public static final Field MAPVVT_MAP_AT_CYCLE_COUNT = Field.create("MAPVVT_MAP_AT_CYCLE_COUNT", 36, FieldType.INT8).setScale(1.0).setBaseOffset(1348); + public static final Field MAPVVT_SYNC_COUNTER = Field.create("MAPVVT_SYNC_COUNTER", 37, FieldType.INT8).setScale(1.0).setBaseOffset(1348); + public static final Field ALIGNMENTFILL_AT_38 = Field.create("ALIGNMENTFILL_AT_38", 38, FieldType.INT8).setScale(1.0).setBaseOffset(1348); + public static final Field CURRENTENGINEDECODEDPHASE = Field.create("CURRENTENGINEDECODEDPHASE", 40, FieldType.FLOAT).setBaseOffset(1348); + public static final Field TRIGGERTOOTHANGLEERROR = Field.create("TRIGGERTOOTHANGLEERROR", 44, FieldType.FLOAT).setBaseOffset(1348); + public static final Field TRIGGERIGNOREDTOOTHCOUNT = Field.create("TRIGGERIGNOREDTOOTHCOUNT", 48, FieldType.INT8).setScale(1.0).setBaseOffset(1348); + public static final Field ALIGNMENTFILL_AT_49 = Field.create("ALIGNMENTFILL_AT_49", 49, FieldType.INT8).setScale(1.0).setBaseOffset(1348); + public static final Field MAPCAMPREVTOOTHANGLE = Field.create("MAPCAMPREVTOOTHANGLE", 52, FieldType.FLOAT).setBaseOffset(1348); + public static final Field ISDECODINGMAPCAM = Field.create("ISDECODINGMAPCAM", 56, FieldType.BIT, 0).setBaseOffset(1348); + public static final Field TRIGGERELAPSEDUS = Field.create("TRIGGERELAPSEDUS", 60, FieldType.INT).setScale(1.0).setBaseOffset(1348); public static final Field[] VALUES = { HWEVENTCOUNTERS1, HWEVENTCOUNTERS2, diff --git a/java_console/models/src/main/java/com/rusefi/config/generated/TriggerState.java b/java_console/models/src/main/java/com/rusefi/config/generated/TriggerState.java index 3bf11864ac..49c1d5ef85 100644 --- a/java_console/models/src/main/java/com/rusefi/config/generated/TriggerState.java +++ b/java_console/models/src/main/java/com/rusefi/config/generated/TriggerState.java @@ -178,18 +178,18 @@ public class TriggerState { public static final int TCU_GEAR_COUNT = 10; public static final int TPS_2_BYTE_PACKING_MULT = 100; public static final int VE_BLEND_COUNT = 4; - public static final Field CRANKSYNCHRONIZATIONCOUNTER = Field.create("CRANKSYNCHRONIZATIONCOUNTER", 0, FieldType.INT).setScale(1.0).setBaseOffset(1336); - public static final Field VVTSYNCGAPRATIO = Field.create("VVTSYNCGAPRATIO", 4, FieldType.FLOAT).setBaseOffset(1336); - public static final Field VVTTOOTHDURATIONS0 = Field.create("VVTTOOTHDURATIONS0", 8, FieldType.INT).setScale(1.0).setBaseOffset(1336); - public static final Field VVTCURRENTPOSITION = Field.create("VVTCURRENTPOSITION", 12, FieldType.FLOAT).setBaseOffset(1336); - public static final Field VVTTOOTHPOSITION1 = Field.create("VVTTOOTHPOSITION1", 16, FieldType.FLOAT).setBaseOffset(1336); - public static final Field VVTTOOTHPOSITION2 = Field.create("VVTTOOTHPOSITION2", 20, FieldType.FLOAT).setBaseOffset(1336); - public static final Field VVTTOOTHPOSITION3 = Field.create("VVTTOOTHPOSITION3", 24, FieldType.FLOAT).setBaseOffset(1336); - public static final Field VVTTOOTHPOSITION4 = Field.create("VVTTOOTHPOSITION4", 28, FieldType.FLOAT).setBaseOffset(1336); - public static final Field TRIGGERSYNCGAPRATIO = Field.create("TRIGGERSYNCGAPRATIO", 32, FieldType.FLOAT).setBaseOffset(1336); - public static final Field TRIGGERSTATEINDEX = Field.create("TRIGGERSTATEINDEX", 36, FieldType.INT8).setScale(1.0).setBaseOffset(1336); - public static final Field VVTSTATEINDEX = Field.create("VVTSTATEINDEX", 37, FieldType.INT8).setScale(1.0).setBaseOffset(1336); - public static final Field ALIGNMENTFILL_AT_38 = Field.create("ALIGNMENTFILL_AT_38", 38, FieldType.INT8).setScale(1.0).setBaseOffset(1336); + public static final Field CRANKSYNCHRONIZATIONCOUNTER = Field.create("CRANKSYNCHRONIZATIONCOUNTER", 0, FieldType.INT).setScale(1.0).setBaseOffset(1412); + public static final Field VVTSYNCGAPRATIO = Field.create("VVTSYNCGAPRATIO", 4, FieldType.FLOAT).setBaseOffset(1412); + public static final Field VVTTOOTHDURATIONS0 = Field.create("VVTTOOTHDURATIONS0", 8, FieldType.INT).setScale(1.0).setBaseOffset(1412); + public static final Field VVTCURRENTPOSITION = Field.create("VVTCURRENTPOSITION", 12, FieldType.FLOAT).setBaseOffset(1412); + public static final Field VVTTOOTHPOSITION1 = Field.create("VVTTOOTHPOSITION1", 16, FieldType.FLOAT).setBaseOffset(1412); + public static final Field VVTTOOTHPOSITION2 = Field.create("VVTTOOTHPOSITION2", 20, FieldType.FLOAT).setBaseOffset(1412); + public static final Field VVTTOOTHPOSITION3 = Field.create("VVTTOOTHPOSITION3", 24, FieldType.FLOAT).setBaseOffset(1412); + public static final Field VVTTOOTHPOSITION4 = Field.create("VVTTOOTHPOSITION4", 28, FieldType.FLOAT).setBaseOffset(1412); + public static final Field TRIGGERSYNCGAPRATIO = Field.create("TRIGGERSYNCGAPRATIO", 32, FieldType.FLOAT).setBaseOffset(1412); + public static final Field TRIGGERSTATEINDEX = Field.create("TRIGGERSTATEINDEX", 36, FieldType.INT8).setScale(1.0).setBaseOffset(1412); + public static final Field VVTSTATEINDEX = Field.create("VVTSTATEINDEX", 37, FieldType.INT8).setScale(1.0).setBaseOffset(1412); + public static final Field ALIGNMENTFILL_AT_38 = Field.create("ALIGNMENTFILL_AT_38", 38, FieldType.INT8).setScale(1.0).setBaseOffset(1412); public static final Field[] VALUES = { CRANKSYNCHRONIZATIONCOUNTER, VVTSYNCGAPRATIO, diff --git a/java_console/models/src/main/java/com/rusefi/config/generated/TriggerStatePrimary.java b/java_console/models/src/main/java/com/rusefi/config/generated/TriggerStatePrimary.java index 96c4577c35..def9436acf 100644 --- a/java_console/models/src/main/java/com/rusefi/config/generated/TriggerStatePrimary.java +++ b/java_console/models/src/main/java/com/rusefi/config/generated/TriggerStatePrimary.java @@ -178,9 +178,9 @@ public class TriggerStatePrimary { public static final int TCU_GEAR_COUNT = 10; public static final int TPS_2_BYTE_PACKING_MULT = 100; public static final int VE_BLEND_COUNT = 4; - public static final Field CAMRESYNCCOUNTER = Field.create("CAMRESYNCCOUNTER", 0, FieldType.INT8).setScale(1.0).setBaseOffset(1536); - public static final Field ALIGNMENTFILL_AT_1 = Field.create("ALIGNMENTFILL_AT_1", 1, FieldType.INT8).setScale(1.0).setBaseOffset(1536); - public static final Field M_HASSYNCHRONIZEDPHASE = Field.create("M_HASSYNCHRONIZEDPHASE", 4, FieldType.BIT, 0).setBaseOffset(1536); + public static final Field CAMRESYNCCOUNTER = Field.create("CAMRESYNCCOUNTER", 0, FieldType.INT8).setScale(1.0).setBaseOffset(1612); + public static final Field ALIGNMENTFILL_AT_1 = Field.create("ALIGNMENTFILL_AT_1", 1, FieldType.INT8).setScale(1.0).setBaseOffset(1612); + public static final Field M_HASSYNCHRONIZEDPHASE = Field.create("M_HASSYNCHRONIZEDPHASE", 4, FieldType.BIT, 0).setBaseOffset(1612); public static final Field[] VALUES = { CAMRESYNCCOUNTER, ALIGNMENTFILL_AT_1, diff --git a/java_console/models/src/main/java/com/rusefi/config/generated/VvtState.java b/java_console/models/src/main/java/com/rusefi/config/generated/VvtState.java index 13a4e66848..8c03dab1f2 100644 --- a/java_console/models/src/main/java/com/rusefi/config/generated/VvtState.java +++ b/java_console/models/src/main/java/com/rusefi/config/generated/VvtState.java @@ -6,9 +6,9 @@ package com.rusefi.config.generated; import com.rusefi.config.*; public class VvtState { - public static final Field VVTTARGET = Field.create("VVTTARGET", 0, FieldType.INT16).setScale(0.1).setBaseOffset(1740); - public static final Field VVTOUTPUT = Field.create("VVTOUTPUT", 2, FieldType.INT8).setScale(0.5).setBaseOffset(1740); - public static final Field ALIGNMENTFILL_AT_3 = Field.create("ALIGNMENTFILL_AT_3", 3, FieldType.INT8).setScale(1.0).setBaseOffset(1740); + public static final Field VVTTARGET = Field.create("VVTTARGET", 0, FieldType.INT16).setScale(0.1).setBaseOffset(1816); + public static final Field VVTOUTPUT = Field.create("VVTOUTPUT", 2, FieldType.INT8).setScale(0.5).setBaseOffset(1816); + public static final Field ALIGNMENTFILL_AT_3 = Field.create("ALIGNMENTFILL_AT_3", 3, FieldType.INT8).setScale(1.0).setBaseOffset(1816); public static final Field[] VALUES = { VVTTARGET, VVTOUTPUT, diff --git a/java_console/models/src/main/java/com/rusefi/config/generated/WallFuelState.java b/java_console/models/src/main/java/com/rusefi/config/generated/WallFuelState.java index bf3b72cc0c..b5a4ac7fbb 100644 --- a/java_console/models/src/main/java/com/rusefi/config/generated/WallFuelState.java +++ b/java_console/models/src/main/java/com/rusefi/config/generated/WallFuelState.java @@ -6,8 +6,8 @@ package com.rusefi.config.generated; import com.rusefi.config.*; public class WallFuelState { - public static final Field WALLFUELCORRECTION = Field.create("WALLFUELCORRECTION", 0, FieldType.FLOAT).setBaseOffset(1544); - public static final Field WALLFUEL = Field.create("WALLFUEL", 4, FieldType.FLOAT).setBaseOffset(1544); + public static final Field WALLFUELCORRECTION = Field.create("WALLFUELCORRECTION", 0, FieldType.FLOAT).setBaseOffset(1620); + public static final Field WALLFUEL = Field.create("WALLFUEL", 4, FieldType.FLOAT).setBaseOffset(1620); public static final Field[] VALUES = { WALLFUELCORRECTION, WALLFUEL, diff --git a/java_console/models/src/main/java/com/rusefi/config/generated/WidebandController.java b/java_console/models/src/main/java/com/rusefi/config/generated/WidebandController.java index 60b344e861..ad28b5d0ea 100644 --- a/java_console/models/src/main/java/com/rusefi/config/generated/WidebandController.java +++ b/java_console/models/src/main/java/com/rusefi/config/generated/WidebandController.java @@ -6,14 +6,14 @@ package com.rusefi.config.generated; import com.rusefi.config.*; public class WidebandController { - public static final Field FAULTCODE = Field.create("FAULTCODE", 0, FieldType.INT8).setScale(1.0).setBaseOffset(1696); - public static final Field HEATERDUTY = Field.create("HEATERDUTY", 1, FieldType.INT8).setScale(1.0).setBaseOffset(1696); - public static final Field PUMPDUTY = Field.create("PUMPDUTY", 2, FieldType.INT8).setScale(1.0).setBaseOffset(1696); - public static final Field ALIGNMENTFILL_AT_3 = Field.create("ALIGNMENTFILL_AT_3", 3, FieldType.INT8).setScale(1.0).setBaseOffset(1696); - public static final Field TEMPC = Field.create("TEMPC", 4, FieldType.INT16).setScale(1.0).setBaseOffset(1696); - public static final Field NERNSTVOLTAGE = Field.create("NERNSTVOLTAGE", 6, FieldType.INT16).setScale(0.001).setBaseOffset(1696); - public static final Field ESR = Field.create("ESR", 8, FieldType.INT16).setScale(1.0).setBaseOffset(1696); - public static final Field ALIGNMENTFILL_AT_10 = Field.create("ALIGNMENTFILL_AT_10", 10, FieldType.INT8).setScale(1.0).setBaseOffset(1696); + public static final Field FAULTCODE = Field.create("FAULTCODE", 0, FieldType.INT8).setScale(1.0).setBaseOffset(1772); + public static final Field HEATERDUTY = Field.create("HEATERDUTY", 1, FieldType.INT8).setScale(1.0).setBaseOffset(1772); + public static final Field PUMPDUTY = Field.create("PUMPDUTY", 2, FieldType.INT8).setScale(1.0).setBaseOffset(1772); + public static final Field ALIGNMENTFILL_AT_3 = Field.create("ALIGNMENTFILL_AT_3", 3, FieldType.INT8).setScale(1.0).setBaseOffset(1772); + public static final Field TEMPC = Field.create("TEMPC", 4, FieldType.INT16).setScale(1.0).setBaseOffset(1772); + public static final Field NERNSTVOLTAGE = Field.create("NERNSTVOLTAGE", 6, FieldType.INT16).setScale(0.001).setBaseOffset(1772); + public static final Field ESR = Field.create("ESR", 8, FieldType.INT16).setScale(1.0).setBaseOffset(1772); + public static final Field ALIGNMENTFILL_AT_10 = Field.create("ALIGNMENTFILL_AT_10", 10, FieldType.INT8).setScale(1.0).setBaseOffset(1772); public static final Field[] VALUES = { FAULTCODE, HEATERDUTY,